[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: clang
From: |
David Chisnall |
Subject: |
Re: clang |
Date: |
Fri, 11 Mar 2011 16:29:02 +0000 |
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.
>
> address@hidden:~/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
> address@hidden
> http://lists.gnu.org/mailman/listinfo/gnustep-dev
-- Sent from my brain
- clang, Thomas Gamper, 2011/03/11
- Re: clang,
David Chisnall <=