Building my project I get error:
ld: library not found for -lglfw
clang: error: linker command failed with exit code 1 (use -v to see invocation)
But I have installed glfw, via brew install glfw
brew list --versions | grep glfw
glfw 3.2.1
ls /usr/local/lib | grep glfw
libglfw.3.2.dylib
libglfw.3.dylib
libglfw.dylib
clang -v
Apple LLVM version 10.0.0 (clang-1000.10.44.4)
Target: x86_64-apple-darwin18.2.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
gcc -v
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1
Apple LLVM version 10.0.0 (clang-1000.10.44.4)
Target: x86_64-apple-darwin18.2.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
MacOS : 10.14.1 (18B75)
Looks like adding export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/lib to ~/.bash_profile solved the problem, but I'm not sure if it's ellegant solution without side effects.
Related
Since the latest update of Xcode 12 on my recently upgraded MacBook from Mojave to Catalina, I can no longer build my project that uses an old MakeFile. I've tried setting SDKROOT env var and added -isysroot to the old MakeFile but still I get the error:
gcc -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -ggdb -w -DREAL_8 -DINTEGER_IS_INT -DLITTLE_ENDIAN -DTABLE_PATH=\"/usr/lib/\" -c PBGroutines.c
make[1]: *** No rule to make target `/usr/include/stdio.h', needed by `extras.o'. Stop.
I've tried using gcc:
gcc -v
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include/c++/4.2.1
Apple clang version 12.0.0 (clang-1200.0.32.2)
Target: x86_64-apple-darwin19.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
also gcc-10 installed through HomeBrew:
gcc-10 -v
Using built-in specs.
COLLECT_GCC=gcc-10
COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc/10.2.0/libexec/gcc/x86_64-apple-darwin19/10.2.0/lto-wrapper
Target: x86_64-apple-darwin19
Configured with: ../configure --build=x86_64-apple-darwin19 --prefix=/usr/local/Cellar/gcc/10.2.0 --libdir=/usr/local/Cellar/gcc/10.2.0/lib/gcc/10 --disable-nls --enable-checking=release --enable-languages=c,c++,objc,obj-c++,fortran --program-suffix=-10 --with-gmp=/usr/local/opt/gmp --with-mpfr=/usr/local/opt/mpfr --with-mpc=/usr/local/opt/libmpc --with-isl=/usr/local/opt/isl --with-system-zlib --with-pkgversion='Homebrew GCC 10.2.0' --with-bugurl=https://github.com/Homebrew/homebrew-core/issues --disable-multilib --with-native-system-header-dir=/usr/include --with-sysroot=/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk SED=/usr/bin/sed
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.2.0 (Homebrew GCC 10.2.0)
and finally clang:
clang -v
Apple clang version 12.0.0 (clang-1200.0.32.2)
Target: x86_64-apple-darwin19.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
but all fail with the same error. I'm running out of ideas after searching extensively.
commandline-tools are installed as noted by xcode-select --install and stdio.h is located in the SDK. What am I missing?
EDIT
Just now noticed that the line before the error refers to PBGroutines.c while the error relates to extras.o. Hence, the problem seems with linking. Also running just the gcc command (with or without) -isysroot runs fine. So how can I do something similar for the linking step?
EDIT 2
So I have found the problem. Apparently this library MakeFile includes the following line:
include make.dep
The content of make.dep contains dependencies with are hardcoded:
#
# Header file dependencies
#
PBGroutines.o: PBGroutines.h
crexrd.o: /usr/include/stdio.h
extras.o: /usr/include/stdio.h
Removing the include make.dep from the MakeFile fixes compilation but I am not sure if this is wanted behaviour? Is it better to create another make.dep with dynamically created file locations? What does this make.dep actually do?
I am trying to compile simple C code on my system. I am running gcc version (4.9.2) on macOS 10.11.6.
ld: library not found for -lgcc
collect2: error: ld returned 1 exit status
I am unable to fix this issue. This problem is not letting me install any ./configure packages as well since they require gcc to work.
Even if there is a program called gcc under macOS, it is not a real gcc compiler. It is just a Clang compiler, as you can prove easily:
gcc --version
will print:
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 9.0.0 (clang-900.0.39.2)
Target: x86_64-apple-darwin17.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
You should be able to compile and link your program by omitting the -lgcc flag from the command line.
I know that recent Mac OS X versions don't use gcc (g++). When I type gcc or g++ the OS actually uses Clang (cc).
Now, I'm running OS X 10.8.2 with LLVM version 4.2 (clang-425.0.28), installed through XCode:
$ g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin12.2.0
Thread model: posix
However, buried in the file system there's another more recent Clang version:
$ clang --version
Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn)
Target: x86_64-apple-darwin12.2.0
Thread model: posix
How can I force gcc to "link" Clang 503... instead of Clang 425...?
Install Xcode, which will give you the latest available versions of both:
xcode-select --install
...
$ g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin16.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
$ clang --version
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin16.4.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
I am trying install freetds with brew install homebrew/versions/freetds091, but met this error:
clang: error: unsupported option '-V -isystem/usr/local/include'
this is the detail of config.log
configure:3787: clang --version >&5 Apple LLVM version 7.3.0
(clang-703.0.31) Target: x86_64-apple-darwin15.6.0 Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
configure:3798: $? = 0 configure:3787: clang -v >&5 Apple LLVM version
7.3.0 (clang-703.0.31) Target: x86_64-apple-darwin15.6.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin
configure:3798: $? = 0 configure:3787: clang -V >&5 clang: error:
unsupported option '-V
-isystem/usr/local/include' configure:3798: $? = 1 configure:3787: clang -qversion >&5 clang: error: unknown argument: '-qversion'
configure:3798: $? = 1 configure:3818: checking whether the C compiler
works configure:3840: clang conftest.c >&5 ld: unexpected token:
!tapi-tbd-v2 file
'/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/lib/libSystem.tbd'
for architecture x86_64 clang: error: linker command failed with exit
code 1 (use -v to see invocation)
I already install xcode(version 8.0)
There is a strange doubtful point: xcode 8.0's clang version is 8.0, but brew use 7.x.
/Library/Developer/CommandLineTools/usr/bin/clang -v
Apple LLVM version 7.3.0 (clang-703.0.31)
Target: x86_64-apple-darwin15.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
I solved it after I update my system to macOS Sierra.
I met a usual error—— symbol(s) not found for architecture x86_64,but for an unusual reason. I have searched for a long time and found some methods,but they didn't work.
Anyone can help me?Thanks.there are some parameter about my Mac below:
# cc -v
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin15.4.0
Thread model: posix
# gcc -v
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 7.0.2 (clang-700.1.81)
Target: x86_64-apple-darwin15.4.0
Thread model: posix
THX!!!