Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 42201 - Mozilla Firebfox build fails ONLY when NX (nomachine) stuff installed
Summary: Mozilla Firebfox build fails ONLY when NX (nomachine) stuff installed
Status: RESOLVED DUPLICATE of bug 44028
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High blocker (vote)
Assignee: Stuart Herbert (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-02-19 17:21 UTC by Dave Andruczyk
Modified: 2005-07-17 13:06 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dave Andruczyk 2004-02-19 17:21:39 UTC
IF the nxserver-personal ebuild is installed (part of the nomachine.com nxclient), the mozillafirefox compilation will barf with the following details:

g++  -I/usr/X11R6/include -frtti -fno-handle-exceptions  -Wconversion -Wpointer-
arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-long
-long -mcpu=athlon-mp -pipe -Wno-return-type -w -Wno-return-type -w -Wno-return-
type -w -s -fforce-addr -fshort-wchar -pthread -pipe  -DNDEBUG -DTRIMMED -ffunct
ion-sections -O2 -O2  -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/i
nclude/atk-1.0 -I/usr/include/pango-1.0 -I/usr/X11R6/include -I/usr/include/free
type2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -o TestGtkEmbed Test
GtkEmbed.o    -L../../../../dist/bin -L../../../../dist/lib -lgtkembedmoz -L/usr
/X11R6/lib -lX11   -ldl -lm  -L../../../../dist/bin -lmozjs -L../../../../dist/b
in -lxpcom  -L../../../../dist/bin -L/var/tmp/portage/mozilla-firefox-0.8/work/m
ozilla/dist/lib -lplds4 -lplc4 -lnspr4 -lpthread -ldl  -Wl,--export-dynamic -lgt
k-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1
.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0      
/usr/NX/lib/libXcompext.so.1: undefined reference to `_NXSplitParams'
/usr/NX/lib/libXcompext.so.1: undefined reference to `_NXEnableCleanAlloc'
/usr/NX/lib/libXcompext.so.1: undefined reference to `_NXEnableCleanFlush'
/usr/NX/lib/libXcompext.so.1: undefined reference to `_NXLostSequenceFunction'
/usr/NX/lib/libXcompext.so.1: undefined reference to `_NXEnableImageFrame'
/usr/NX/lib/libXcompext.so.1: undefined reference to `_NXFlushSize'
/usr/NX/lib/libXcompext.so.1: undefined reference to `_NXColorParams'
/usr/NX/lib/libXcompext.so.1: undefined reference to `_NXEnableImageSplit'
/usr/NX/lib/libXcompext.so.1: undefined reference to `_NXEnableCleanImages'
/usr/NX/lib/libXcompext.so.1: undefined reference to `_NXEnableImageMask'
/usr/NX/lib/libXcompext.so.1: undefined reference to `_NXImageEnvironmentCached'
/usr/NX/lib/libXcompext.so.1: undefined reference to `_NXCleanupEnvironmentCache
d'
/usr/NX/lib/libXcompext.so.1: undefined reference to `_NXEnableCleanGet'
/usr/NX/lib/libXcompext.so.1: undefined reference to `_NXEnableCleanSend'
collect2: ld returned 1 exit status
gmake[3]: *** [TestGtkEmbed] Error 1
gmake[3]: Leaving directory `/scratch/tmp/portage/mozilla-firefox-0.8/work/mozil
la/embedding/browser/gtk/tests'
gmake[2]: *** [libs] Error 2
gmake[2]: Leaving directory `/scratch/tmp/portage/mozilla-firefox-0.8/work/mozil
la/embedding/browser/gtk'
gmake[1]: *** [tier_99] Error 2
gmake[1]: Leaving directory `/scratch/tmp/portage/mozilla-firefox-0.8/work/mozil
la'
make: *** [default] Error 2

!!! ERROR: net-www/mozilla-firefox-0.8 failed.
!!! Function src_compile, Line 201, Exitcode 2
!!! (no error message)

This also happens with other packages (If you emerge -C nxserver-personal aand re-emerge Mozilla-firebird, it'll compile and link fully)

note: /usr/NX/lib is listed BEFORE /usr/X11R6/lib in /etc/ld.so.conf,  it might NEED to be this way for NX to work (donno), but might be why the linking of MozillaFirefox is trying to link to the wrong libs.



Reproducible: Always
Steps to Reproduce:
1. emerge nxserver-personal
2.emerge mozilla-firefix
3.

Actual Results:  
firefox fails to link, ebuild process dies. 
 

Expected Results:  
it should have linked.  problem may actually be nxserver-personal's fault, or the ordering 
of /etc/ld.so.conf,  donno though 
 

dave@shrapnel dave $ emerge info 
Portage 2.0.50-r1 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r9, 2.4.24) 
================================================================= 
System uname: 2.4.24 i686 AMD Athlon(tm) MP 
Gentoo Base System version 1.4.3.13 
distcc 2.11.1 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] 
Autoconf: sys-devel/autoconf-2.58-r1 
Automake: sys-devel/automake-1.7.7 
ACCEPT_KEYWORDS="x86" 
AUTOCLEAN="yes" 
CFLAGS="-mcpu=athlon-mp -O2 -pipe" 
CHOST="i686-pc-linux-gnu" 
COMPILER="gcc3" 
CONFIG_PROTECT="/etc /usr/NX/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /var/bind /var/qmail/control" 
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" 
CXXFLAGS="-mcpu=athlon-mp -O2 -pipe" 
DISTDIR="/usr/portage/distfiles" 
FEATURES="autoaddcvs ccache sandbox" 
GENTOO_MIRRORS="http://gentoo.mirrors.pair.com/ ftp://gentoo.mirrors.pair.com/ 
ftp://gentoo.noved.org/" 
MAKEOPTS=" -j4 " 
PKGDIR="/usr/portage/packages" 
PORTAGE_TMPDIR="/var/tmp" 
PORTDIR="/usr/portage" 
PORTDIR_OVERLAY="/usr/local/portage" 
SYNC="rsync://rsync.gentoo.org/gentoo-portage" 
USE="X aalib acl alsa apm arts avi berkdb bonobo cdr crypt cups curl dga dvb dvd encode esd 
foomaticdb freetype gdbm ggi gif gnome gphoto2 gpm gtk gtk2 guile imlib jack java joystick jpeg 
kde libg++ libwww mad mikmod mmx motif mozilla mpeg mysql nas ncurses nls oggvorbis opengl oss 
pam pdflib perl png python qt quicktime readline ruby samba scanner sdl slang spell ssl svga tcltk 
tcpd tetex truetype usb videos wmf x86 xft xml2 xmms xv zlib"
Comment 1 Aron Griffis (RETIRED) gentoo-dev 2004-04-19 19:59:40 UTC
I think this is what is happening:

1. the linker is asked to link TestGtkEmbed against a list of libraries
2. that list of libraries isn't sufficient in itself, so additional libraries are pulled in to make sure that all the symbols are defined
3. the additional libraries are pulled using the path in /etc/ld.so.conf, leading to the NX libraries

Basically it sounds like NX is designed to be used in a run-time context, not a compile-time context.  Instead of setting anything in /etc/ld.so.conf, there should probably be an alternate way of making NX function properly, such as a wrapper script.

In theory we could workaround this problem in the mozilla ebuild using LD_LIBRARY_PATH.  But as the poster mentioned, it happens with other packages, so that is clearly the wrong solution.

Reassigning to Stuart since this needs to be fixed in NX, not mozilla.
Comment 2 Stuart Herbert (RETIRED) gentoo-dev 2004-04-19 22:57:49 UTC
The workaround is to move the NX libraries until after the normal X libraries in your /etc/ld.so.conf file.

This is a Portage bug.

Best regards,
Stu

*** This bug has been marked as a duplicate of 44028 ***