Opened 13 years ago

Last modified 13 years ago

#8093 closed bug

Haiku build system using system libstdc++.so on Haiku — at Initial Version

Reported by: leavengood Owned by: bonefish
Priority: normal Milestone: R1
Component: Build System Version: R1/Development
Keywords: libstdc++ Cc:
Blocked By: Blocking:
Platform: x86

Description

I'm on a pure GCC4 Haiku. I'm not sure if that affects this issue though. The revision is hrev41768.

My Haiku source is completely up-to-date though, at hrev43193.

I compiled and installed the latest GCC4 (4.5.3), where I had previously had 4.4.4. I set 4.5.3 as the current GCC. I reconfigured my Haiku source directory to make sure it was using the latest GCC.

When building the notification_server, I received this error:

Link /Data/develop/haiku_svn/trunk/generated-gcc4/objects/haiku/x86/release/servers/notification/notification_server 
/Data/develop/haiku_svn/trunk/generated-gcc4/objects/haiku/x86/release/servers/notification/NotificationView.o: In function `NotificationView::SetText(float)':
NotificationView.cpp:(.text+0x114a): undefined reference to `std::_List_node_base::_M_hook(std::_List_node_base*)'
NotificationView.cpp:(.text+0x135d): undefined reference to `std::_List_node_base::_M_hook(std::_List_node_base*)'
collect2: ld returned 1 exit status

rm -f "/Data/develop/haiku_svn/trunk/generated-gcc4/objects/haiku/x86/release/servers/notification/notification_server"
gcc -fno-strict-aliasing -fno-tree-vrp -Xlinker --no-undefined -Xlinker -soname=_APP_ -nostdlib -Xlinker --no-undefined -o "/Data/develop/haiku_svn/trunk/generated-gcc4/objects/haiku/x86/release/servers/notification/notification_server"  "/Data/develop/haiku_svn/trunk/generated-gcc4/objects/haiku/x86/release/system/glue/arch/x86/crti.o" "/boot/develop/abi/x86/gcc4/tools/gcc-4.5.3-haiku-111101/lib/gcc/i586-pc-haiku/4.5.3/crtbegin.o" "/Data/develop/haiku_svn/trunk/generated-gcc4/objects/haiku/x86/release/system/glue/start_dyn.o" "/Data/develop/haiku_svn/trunk/generated-gcc4/objects/haiku/x86/release/system/glue/init_term_dyn.o" "/Data/develop/haiku_svn/trunk/generated-gcc4/objects/haiku/x86/release/servers/notification/AppGroupView.o" "/Data/develop/haiku_svn/trunk/generated-gcc4/objects/haiku/x86/release/servers/notification/NotificationServer.o" "/Data/develop/haiku_svn/trunk/generated-gcc4/objects/haiku/x86/release/servers/notification/NotificationView.o" "/Data/develop/haiku_svn/trunk/generated-gcc4/objects/haiku/x86/release/servers/notification/NotificationWindow.o" \
"/Data/develop/haiku_svn/trunk/generated-gcc4/objects/haiku/x86/release/kits/libbe.so" "/Data/develop/haiku_svn/trunk/generated-gcc4/objects/haiku/x86/debug_1/kits/translation/libtranslation.so" "/boot/system/lib/libstdc++.so" "/Data/develop/haiku_svn/trunk/generated-gcc4/objects/haiku/x86/release/servers/notification/libnotification.a" "/Data/develop/haiku_svn/trunk/generated-gcc4/objects/haiku/x86/release/kits/locale/liblocale.so" "/Data/develop/haiku_svn/trunk/generated-gcc4/objects/haiku/x86/release/kits/locale/liblocalestub.a" "/Data/develop/haiku_svn/trunk/generated-gcc4/objects/haiku/x86/release/system/libroot/libroot.so"  "/boot/develop/abi/x86/gcc4/tools/gcc-4.5.3-haiku-111101/lib/gcc/i586-pc-haiku/4.5.3/crtend.o" "/Data/develop/haiku_svn/trunk/generated-gcc4/objects/haiku/x86/release/system/glue/arch/x86/crtn.o" \


...failed Link /Data/develop/haiku_svn/trunk/generated-gcc4/objects/haiku/x86/release/servers/notification/notification_server ...

BUILD FAILURE:
...failed updating 1 target(s)...
...updated 4 target(s)...

Searching Google showed me someone else had run into this issue with GCC 4.5 (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43882), and in his case it was due to compiling with GCC 4.5 but linking against a system libstdc++.so. If you look at the link line above, you can see it is using /boot/system/lib/libstdc++.so.

So it seems we have the same problem. When I updated my system libstdc++.so with the one from GCC 4.5.3, the code linked fine.

Now maybe my situation is unusual bit it seems like the build system should make use of the libstdc++.so from the GCC it is building with, not from the system. Even if the system is Haiku.

Change History (0)

Note: See TracTickets for help on using tickets.