[haiku-development] Re: Link failure cross compiling Haiku gcc2 on Ubuntu 11.04 i386

  • From: John Scipione <jscipione@xxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sun, 6 Nov 2011 01:36:31 -0500

The recent change to BuildSetup to fix building on Ubuntu 11.04:

HOST_LINKFLAGS += -Xlinker --no-as-needed ;

gave me the following error building on Mac OS X:

InitScript1 generated/haiku.image-init-vars
C++ generated/objects/darwin/x86/release/build/libroot/atomic.o
C++ generated/objects/darwin/x86/release/build/libroot/byteorder.o
C++ generated/objects/darwin/x86/release/build/libroot/errors.o
C++ generated/objects/darwin/x86/release/build/libroot/fs.o
C++ generated/objects/darwin/x86/release/build/libroot/fs_attr.o
C++ generated/objects/darwin/x86/release/build/libroot/fs_descriptors.o
C++ generated/objects/darwin/x86/release/build/libroot/misc.o
C++ generated/objects/darwin/x86/release/build/libroot/sem.o
C++ generated/objects/darwin/x86/release/build/libroot/thread.o
Cc generated/objects/darwin/x86/release/build/libroot/strnlen.o
src/system/libroot/posix/string/strnlen.c:12: warning: no previous
prototype for ‘strnlen’
C++ generated/objects/darwin/x86/release/build/libroot/KMessage.o
Link generated/objects/darwin/lib/libroot_build.so
ld: unknown option: --no-as-needed
collect2: ld returned 1 exit status

export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:generated/objects/darwin/lib ;
build/scripts/rm_attrs generated/objects/darwin/x86/release/tools/rm_attrs
-f "generated/objects/darwin/lib/libroot_build.so"
cc -Xlinker --no-as-needed -dynamic -dynamiclib -Xlinker -flat_namespace -o
"generated/objects/darwin/lib/libroot_build.so"
"generated/objects/darwin/x86/release/build/libroot/atomic.o"
"generated/objects/darwin/x86/release/build/libroot/byteorder.o"
"generated/objects/darwin/x86/release/build/libroot/errors.o"
"generated/objects/darwin/x86/release/build/libroot/fs.o"
"generated/objects/darwin/x86/release/build/libroot/fs_attr.o"
"generated/objects/darwin/x86/release/build/libroot/fs_descriptors.o"
"generated/objects/darwin/x86/release/build/libroot/misc.o"
"generated/objects/darwin/x86/release/build/libroot/sem.o"
"generated/objects/darwin/x86/release/build/libroot/thread.o"
"generated/objects/darwin/x86/release/build/libroot/strnlen.o"
"generated/objects/darwin/x86/release/build/libroot/KMessage.o" \
 -lgcc_s.1 -lstdc++  \


...failed Link generated/objects/darwin/lib/libroot_build.so ...

BUILD FAILURE:
...failed updating 1 target(s)...
...skipped 3 target(s)...
...updated 12 target(s)...

So I changed it to:

if $(HOST_PLATFORM) != darwin {
HOST_LINKFLAGS += -Xlinker --no-as-needed ;
}

and it build fine.

Can someone (kallisti5) look into changing this?

Thanks,
John Scipione

Other related posts: