gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: clang


From: Thomas Gamper
Subject: Re: clang
Date: Fri, 11 Mar 2011 18:31:03 +0100
User-agent: Dynamic Internet Messaging Program (DIMP) H3 (1.1.6)

Hi!

I patched hardy support into clang's "ToolChains.cpp" and sent a patch to cfe-commits. Hopefully it gets commited before release. In short: clang is working now on my system :)

TOM

Quoting David Chisnall <address@hidden>:

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







reply via email to

[Prev in Thread] Current Thread [Next in Thread]