Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 131486 - mozilla-thunderbird 1.5.0.2 fails to emerge with --as-needed
Summary: mozilla-thunderbird 1.5.0.2 fails to emerge with --as-needed
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Mozilla Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: as-needed
  Show dependency tree
 
Reported: 2006-04-27 10:57 UTC by Steev Klimaszewski (RETIRED)
Modified: 2006-04-28 19:55 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
005_firefox-1.5-xul_fix_relink.patch (005_firefox-1.5-xul_fix_relink.patch,321 bytes, patch)
2006-04-28 06:48 UTC, Gergan Penkov
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Steev Klimaszewski (RETIRED) gentoo-dev 2006-04-27 10:57:58 UTC
chmod +x libgtkembedmoz.so
strip libgtkembedmoz.so
/var/tmp/portage/mozilla-thunderbird-1.5.0.2/work/mozilla/config/nsinstall -R -m 755 libgtkembedmoz.so ../../../../dist/lib
/var/tmp/portage/mozilla-thunderbird-1.5.0.2/work/mozilla/config/nsinstall -R -m 755 libgtkembedmoz.so ../../../../dist/bin
gmake[3]: Leaving directory `/var/tmp/portage/mozilla-thunderbird-1.5.0.2/work/mozilla/embedding/browser/gtk/src'
gmake[3]: Entering directory `/var/tmp/portage/mozilla-thunderbird-1.5.0.2/work/mozilla/embedding/browser/gtk/tests'
TestGtkEmbed.cpp
i686-pc-linux-gnu-g++ -o TestGtkEmbed.o -c -I../../../../dist/include/system_wrappers -include ../../../../config/gcc_hidden.h -DOSTYPE=\"Linux2.6\" -DOSARCH=\"Linux\" -DBUILD_ID=2006042704  -I../../../../dist/include/xpcom -I../../../../dist/include/dom -I../../../../dist/include/gtkembedmoz -I../../../../dist/include -I/usr/include/nspr    -I../../../../dist/sdk/include -I/usr/X11R6/include   -fPIC  -I/usr/X11R6/include -fno-rtti -fno-handle-exceptions  -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -march=pentium2 -pipe -Wno-return-type -w -freorder-blocks -fno-reorder-functions -fshort-wchar -pthread -pipe  -DNDEBUG -DTRIMMED -ffunction-sections -O2  -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include    -I/usr/X11R6/include -DMOZILLA_CLIENT -include ../../../../mozilla-config.h -Wp,-MD,.deps/TestGtkEmbed.pp TestGtkEmbed.cpp
i686-pc-linux-gnu-g++  -I/usr/X11R6/include -fno-rtti -fno-handle-exceptions  -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -march=pentium2 -pipe -Wno-return-type -w -freorder-blocks -fno-reorder-functions -fshort-wchar -pthread -pipe  -DNDEBUG -DTRIMMED -ffunction-sections -O2  -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -o TestGtkEmbed TestGtkEmbed.o  -Wl,--as-needed  -Wl,-rpath,'$ORIGIN'  -L../../../../dist/bin -L../../../../dist/lib -lgtkembedmoz -L/usr/X11R6/lib -lX11   -ldl -lm  -L../../../../dist/bin -lmozjs -L../../../../dist/bin -lxpcom -lxpcom_core  -L../../../../dist/bin -Wl,-R/usr/lib/nspr -L/usr/lib/nspr -lplds4 -lplc4 -lnspr4 -lpthread -ldl -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0   -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0     -lpangoxft-1.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
/usr/lib/gcc/i686-pc-linux-gnu/4.1.0/../../../../i686-pc-linux-gnu/bin/ld: warning: libxpcom.so, needed by ../../../../dist/bin/libgtkembedmoz.so, not found (try using -rpath or -rpath-link)
/usr/lib/gcc/i686-pc-linux-gnu/4.1.0/../../../../i686-pc-linux-gnu/bin/ld: warning: libxpcom_core.so, needed by ../../../../dist/bin/libgtkembedmoz.so, not found (try using -rpath or -rpath-link)
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `NS_Free_P'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `NS_NewGenericFactory(nsIGenericFactory**, nsModuleComponentInfo const*)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsCOMPtr_base::assign_with_AddRef(nsISupports*)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsCharTraits<char>::sEmptyBuffer'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `NS_GetComponentRegistrar_P'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `vtable for nsCreateInstanceByCID'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `vtable for nsSupportsWeakReference'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsAString_internal::Assign(unsigned short const*)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `NS_ShutdownXPCOM'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsAString_internal::~nsAString_internal()'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsVoidArray::nsVoidArray()'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `CopyUTF16toUTF8(unsigned short const*, nsACString_internal&)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsCOMPtr_base::assign_from_gs_contractid_with_error(nsGetServiceByContractIDWithError const&, nsID const&)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `EmptyString()'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsVoidArray::RemoveElement(void*)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsMemory::Clone(void const*, unsigned int)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `CopyUTF8toUTF16(nsACString_internal const&, nsAString_internal&)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsVoidArray::InsertElementAt(void*, int)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsCOMPtr_base::assign_from_qi(nsQueryInterface, nsID const&)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsSubstring::Equals(nsSubstring const&) const'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsCharTraits<unsigned short>::sEmptyBuffer'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `vtable for nsCreateInstanceByContractID'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsCOMPtr_base::assign_from_gs_contractid(nsGetServiceByContractID, nsID const&)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `NS_NewNativeLocalFile_P'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsCOMPtr_base::~nsCOMPtr_base()'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsSubstring::Assign(unsigned short const*, unsigned int)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `ToNewUnicode(nsAString_internal const&)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `UTF8ToNewUnicode(nsACString_internal const&, unsigned int*)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `ToNewUTF8String(nsAString_internal const&, unsigned int*)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsSupportsWeakReference::GetWeakReference(nsIWeakReference**)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `NS_GetComponentManager_P'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsCOMPtr_base::assign_from_helper(nsCOMPtr_helper const&, nsID const&)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `AppendUTF16toUTF8(nsAString_internal const&, nsACString_internal&)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `NS_InitXPCOM3'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `CopyUTF8toUTF16(char const*, nsAString_internal&)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsObsoleteACString::sCanonicalVTable'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsCSubstring::Assign(char const*, unsigned int)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsCRT::strdup(unsigned short const*)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsCSubstring::Adopt(char*, unsigned int)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsAString_internal::AssignASCII(char const*, unsigned int)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsObsoleteAString::sCanonicalVTable'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsCOMPtr_base::begin_assignment()'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsCOMPtr_base::assign_from_gs_cid_with_error(nsGetServiceByCIDWithError const&, nsID const&)'
../../../../dist/bin/libgtkembedmoz.so: undefined reference to `nsACString_internal::~nsACString_internal()'
collect2: ld returned 1 exit status
gmake[3]: *** [TestGtkEmbed] Error 1
gmake[3]: Leaving directory `/var/tmp/portage/mozilla-thunderbird-1.5.0.2/work/mozilla/embedding/browser/gtk/tests'
gmake[2]: *** [libs] Error 2
gmake[2]: Leaving directory `/var/tmp/portage/mozilla-thunderbird-1.5.0.2/work/mozilla/embedding/browser/gtk'
gmake[1]: *** [tier_99] Error 2
gmake[1]: Leaving directory `/var/tmp/portage/mozilla-thunderbird-1.5.0.2/work/mozilla'
make: *** [default] Error 2

!!! ERROR: mail-client/mozilla-thunderbird-1.5.0.2 failed.
Call stack:
  ebuild.sh, line 1525:   Called dyn_compile
  ebuild.sh, line 928:   Called src_compile
  mozilla-thunderbird-1.5.0.2.ebuild, line 117:   Called die


Portage 2.1_pre9-r4 (default-linux/x86/2006.0, gcc-4.1.0, glibc-2.4-r1, 2.6.16-gentoo-r4 i686)
=================================================================
System uname: 2.6.16-gentoo-r4 i686 Mobile Pentium II
Gentoo Base System version 1.12.0_pre18
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
dev-lang/python:     2.4.2-r1
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.92
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r5
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium2 -O2 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/eselect/compiler /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium2 -O2 -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig candy cvs distlocks metadata-transfer sandbox sfperms strict userpriv usersandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,--as-needed"
LINGUAS="en_US"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/overlays/gnome-2.15 /var/overlays/utopia /var/overlays/compnerd /var/overlays/gentopia /var/overlays/portage"
SYNC="rsync://192.168.0.105/gentoo-portage"
USE="x86 X alsa apm avi bash-completion berkdb bitmap-fonts bluetooth bzip2 cli crypt dbus dri eds emboss encode esd exif expat firefox flac foomaticdb fortran gdbm gif gnome gpm gstreamer gtk gtk2 gtkhtml hal idn imlib ipv6 isdnlog jpeg lcms libg++ libwww mad mikmod mmx mono mp3 mpeg ncurses nls nptl nptlonly ogg opengl oss pam pango pcre pdflib perl png pppd python quicktime readline reflection ruby session speex spell spl ssl startup-notification tcpd tiff truetype truetype-fonts type1-fonts udev unicode vorbis xml xorg xv zlib elibc_glibc input_devices_keyboard input_devices_evdev input_devices_mouse kernel_linux linguas_en_US userland_GNU video_cards_neomagic"
Unset:  ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, LANG, LC_ALL, MAKEOPTS

--
I have spoken with Flameeyes briefly about this, and the issue *seemed* similar to http://bugs.gentoo.org/show_bug.cgi?id=130053 (kexi fails with as-needed) however Diego said that they are not the same issue.
Comment 1 Steev Klimaszewski (RETIRED) gentoo-dev 2006-04-27 11:01:41 UTC
One small thing to note, this is on a 400MHz, and towards the end of the emerge, which takes between 5-6 hours, so if anyone else is able to replicate this (and has a faster box) it would be greatly appreciated
Comment 2 Gergan Penkov 2006-04-28 06:48:26 UTC
Created attachment 85662 [details, diff]
005_firefox-1.5-xul_fix_relink.patch

You are using -* binutils, this patch will correct it, likewise it should be applied to firefox and co. The problem is with the linker - normally it will not abort on unresolved symbols in exe-s, but it seems that this new version does work in another way :)
Comment 3 Gergan Penkov 2006-04-28 10:06:25 UTC
On a second thought it seems that this is also a longstanding toolchain problem also, this particular line
/usr/lib/gcc/i686-pc-linux-gnu/4.1.0/../../../../i686-pc-linux-gnu/bin/ld:
warning: libxpcom_core.so, needed by ../../../../dist/bin/libgtkembedmoz.so,
not found (try using -rpath or -rpath-link)
persisted here for a long time without the abortion in linking (with the previous binutils versions), the same line without the --as-needed flag disappears completely on all binutils revisions, changing the order of libraries does not help in anything - it seems it could simply not parse some of the -L directives with --as-needed.
With this revision of binutils there seems to be a bunch of pkgs, which fail in some sort of mysterious way.
Comment 4 Jory A. Pratt 2006-04-28 19:55:08 UTC
Fixed in tree.