[haiku-bugs] [Haiku] #8093: Haiku build system using system libstdc++.so on Haiku

  • From: "leavengood" <trac@xxxxxxxxxxxx>
  • Date: Sun, 06 Nov 2011 00:40:46 -0000

#8093: Haiku build system using system libstdc++.so on Haiku
--------------------------+------------------------------
 Reporter:  leavengood    |        Owner:  bonefish
     Type:  bug           |       Status:  new
 Priority:  normal        |    Milestone:  R1
Component:  Build System  |      Version:  R1/Development
 Keywords:  libstdc++     |   Blocked By:
 Blocking:                |  Has a Patch:  0
 Platform:  x86           |
--------------------------+------------------------------
 I'm on a pure GCC4 Haiku. I'm not sure if that affects this issue though.
 The revision is r41768.

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

 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.

-- 
Ticket URL: <http://dev.haiku-os.org/ticket/8093>
Haiku <http://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: