Yup, this looks like the same issue that clang has with C++ headers - Linux distributions seem to really love putting them in a directory that changes periodically and hard-coding this into the path. You might be able to work around it by adding this to your LDFLAGS: -L/usr/lib/gcc/x86_64-linux-gnu/4.2.
David On 11 Mar 2011, at 16:24, Thomas Gamper wrote: > > Hi, > > I did a bootstrap of clang's release 2.9 branch today, I would like to > build all of GNUstep with clang but already failed building libobjc2. > > icicle@nordpol-laptop:~/gnustepsvn/devmodules/dev-libs/libobjc2$ make debug=no > This is gnustep-make 2.4.0. Type 'make print-gnustep-make-help' for help. > Running in gnustep-make version 2 strict mode. > Making all for library libobjc... > Compiling file abi_version.c ... > Compiling file caps.c ... > Compiling file category_loader.c ... > Compiling file class_table.c ... > Compiling file dtable.c ... > Compiling file eh_personality.c ... > Compiling file encoding2.c ... > Compiling file hash_table.c ... > Compiling file hooks.c ... > Compiling file ivar.c ... > Compiling file loader.c ... > Compiling file protocol.c ... > Compiling file runtime.c ... > Compiling file sarray2.c ... > Compiling file selector_table.c ... > Compiling file sendmsg2.c ... > Compiling file statics_loader.c ... > Compiling file toydispatch.c ... > Compiling file legacy_malloc.c ... > Compiling file NSBlocks.m ... > Compiling file Protocol2.m ... > Compiling file blocks_runtime.m ... > Compiling file mutation.m ... > Compiling file properties.m ... > Compiling file sync.m ... > Linking library libobjc ... > clang: warning: argument unused during compilation: '-shared-libgcc' > /usr/bin/ld: crtbeginS.o: No such file: No such file or directory > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > make[3]: *** [obj/libobjc.so.4] Fehler 1 > make[2]: *** [internal-library-all_] Fehler 2 > make[1]: *** [libobjc.all.library.variables] Fehler 2 > make: *** [internal-all] Fehler 2 > > Verbose output of the linking step (clang -v) > > Linking library libobjc ... > clang version 2.9 (branches/release_29 127463) > Target: x86_64-unknown-linux-gnu > Thread model: posix > clang: warning: argument unused during compilation: '-shared-libgcc' > "/usr/bin/ld" -export-dynamic --eh-frame-hdr -m elf_x86_64 -shared > -o ./obj/libobjc.so.4 /usr/lib/../lib64/crti.o crtbeginS.o > -Ltoydispatch/obj -L/home/icicle/GNUstep/Library/Libraries > -L/usr/GNUstep/Local/Library/Libraries > -L/usr/GNUstep/System/Library/Libraries -L -L/../../../../lib64 > -L/lib/../lib64 -L/usr/lib/../lib64 -L/../../.. -soname libobjc.so.4 > obj/libobjc.obj/abi_version.c.o obj/libobjc.obj/caps.c.o > obj/libobjc.obj/category_loader.c.o obj/libobjc.obj/class_table.c.o > obj/libobjc.obj/dtable.c.o obj/libobjc.obj/eh_personality.c.o > obj/libobjc.obj/encoding2.c.o obj/libobjc.obj/hash_table.c.o > obj/libobjc.obj/hooks.c.o obj/libobjc.obj/ivar.c.o > obj/libobjc.obj/loader.c.o obj/libobjc.obj/protocol.c.o > obj/libobjc.obj/runtime.c.o obj/libobjc.obj/sarray2.c.o > obj/libobjc.obj/selector_table.c.o obj/libobjc.obj/sendmsg2.c.o > obj/libobjc.obj/statics_loader.c.o obj/libobjc.obj/toydispatch.c.o > obj/libobjc.obj/legacy_malloc.c.o obj/libobjc.obj/NSBlocks.m.o > obj/libobjc.obj/Protocol2.m.o obj/libobjc.obj/blocks_runtime.m.o > obj/libobjc.obj/mutation.m.o obj/libobjc.obj/properties.m.o > obj/libobjc.obj/sync.m.o -lpthread -lgcc --as-needed -lgcc_s > --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed crtendS.o > /usr/lib/../lib64/crtn.o > /usr/bin/ld: crtbeginS.o: No such file: No such file or directory > clang: error: linker command failed with exit code 1 (use -v to see > invocation) > > Looks like the path to my crtBeginS.o is missing, namely > /usr/lib/gcc/x86_64-linux-gnu/4.2. Is this the same issue as with the > c++ headers which have to be known by clang already at bootstraptime? > Or do I simply need some magic incantation? > > I am on Ubuntu 8.04 AMD64 (old but not ancient) > > gcc -v > Es werden eingebaute Spezifikationen verwendet. > Ziel: x86_64-linux-gnu > Konfiguriert mit: ../src/configure -v > --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr > --enable-shared --with-system-zlib --libexecdir=/usr/lib > --without-included-gettext --enable-threads=posix --enable-nls > --with-gxx-include-dir=/usr/include/c++/4.2 --program-suffix=-4.2 > --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc > --enable-mpfr --enable-checking=release --build=x86_64-linux-gnu > --host=x86_64-linux-gnu --target=x86_64-linux-gnu > Thread-Modell: posix > gcc-Version 4.2.4 (Ubuntu 4.2.4-1ubuntu4) > > clang -v > clang version 2.9 (branches/release_29 127463) > Target: x86_64-unknown-linux-gnu > Thread model: posix > > llvm/clang is configured with > ../llvm/configure --enable-targets=x86_64 --enable-optimized > --disable-assertions --with-optimize-option="-O2" > > Thanks > TOM > > > _______________________________________________ > Gnustep-dev mailing list > [email protected] > http://lists.gnu.org/mailman/listinfo/gnustep-dev -- Sent from my brain _______________________________________________ Gnustep-dev mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gnustep-dev
