URL:
<http://savannah.gnu.org/bugs/?33189>
Summary: Linking broken with subprojects and Clang
Project: GNUstep
Submitted by: qmathe
Submitted on: dim. 01 mai 2011 15:41:25 GMT
Category: Makefiles
Severity: 4 - Important
Item Group: Bug
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
_______________________________________________________
Details:
Hi,
GNUstep Base r32961 (yesterday) and Make r32963 (today)
Clang 2.9 rc3
GCC 4.4.3
Ubuntu 10.04
If I try to compile GNUstep Base or various other projects with Clang 2.9 rc3,
the linking stage fails. I have to use 'make LD=gcc' rather than just 'make'
to get them build correctly.
I observe the problem every time I use subproject.make or aggregate.make in a
GNUmakefile to build subprojects located in subdirectories. Simple libraries
or apps build just fine though.
Here are the errors I get without LD=gcc:
This is gnustep-make 2.6.0. Type 'make print-gnustep-make-help' for help.
Making all in Source ...
Making all in Additions ...
Making all for subproject Additions...
Linking subproject Additions ...
clang: warning: argument unused during compilation: '-r'
clang: warning: argument unused during compilation: '-shared-libgcc'
/usr/bin/ld: warning: cannot find entry symbol _start; defaulting to
0000000008048120
obj/Additions.obj/GSObjCRuntime.m.o: In function `GSObjCClass':
/home/qmathe/reps/devmodules/core/base/Source/Additions/GSObjCRuntime.m:78:
undefined reference
to `object_getClass'
obj/Additions.obj/GSObjCRuntime.m.o: In function `GSObjCSuper':
/home/qmathe/reps/devmodules/core/base/Source/Additions/GSObjCRuntime.m:82:
undefined reference
to `class_getSuperclass'
obj/Additions.obj/GSObjCRuntime.m.o: In function `GSObjCIsInstance':
/home/qmathe/reps/devmodules/core/base/Source/Additions/GSObjCRuntime.m:87:
undefined reference
to `object_getClass'
[snip]
obj/Additions.obj/Unicode.m.o: In function `GSPrivateDefaultCStringEncoding':
/home/qmathe/reps/devmodules/core/base/Source/Additions/Unicode.m:2678:
undefined reference to `getenv'
/home/qmathe/reps/devmodules/core/base/Source/Additions/Unicode.m:2683:
undefined reference to `strcasecmp'
/home/qmathe/reps/devmodules/core/base/Source/Additions/Unicode.m:2684:
undefined reference to `strcasecmp'
/home/qmathe/reps/devmodules/core/base/Source/Additions/Unicode.m:2691:
undefined reference to `stderr'
/home/qmathe/reps/devmodules/core/base/Source/Additions/Unicode.m:2694:
undefined reference to `fprintf'
/home/qmathe/reps/devmodules/core/base/Source/Additions/Unicode.m:2696:
undefined reference to `fprintf'
/home/qmathe/reps/devmodules/core/base/Source/Additions/Unicode.m:2709:
undefined reference to `stderr'
/home/qmathe/reps/devmodules/core/base/Source/Additions/Unicode.m:2711:
undefined reference to `fprintf'
/home/qmathe/reps/devmodules/core/base/Source/Additions/Unicode.m:2713:
undefined reference to `fprintf'
/home/qmathe/reps/devmodules/core/base/Source/Additions/Unicode.m:2723:
undefined reference to `objc_msg_lookup'
obj/Additions.obj/Unicode.m.o: In function `.objc_load_function':
/home/qmathe/reps/devmodules/core/base/Source/Additions/Unicode.m:383:
undefined reference to `__objc_exec_class'
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
make[4]: *** [obj/subproject.o] Error 1
make[3]: *** [internal-subproject-all_] Error 2
make[2]: *** [Additions.all.subproject.variables] Error 2
make[1]: *** [internal-all] Error 2
make: *** [internal-all] Error 2
Thanks,
Quentin.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?33189>
_______________________________________________
Message posté via/par Savannah
http://savannah.gnu.org/
_______________________________________________
Bug-gnustep mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-gnustep