Summary: | net-libs/libproxy-0.4.1 fails w/ cannot find -lmozjs | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Justin Lecher (RETIRED) <jlec> |
Component: | Current packages | Assignee: | Gentoo Linux Gnome Desktop Team <gnome> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | bugs+gentoo, deduktionstheorem, denny.reeh, dschridde+gentoobugs, gentoo-bugs, gent_bz, hwoarang, Ivan.Miljenovic, johannis.gdev, jrmalaq, mfulz, nick, PishiSyda, polynomial-c, proteuss, solstag, ssuominen, transacid, tswatzke |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
/var/tmp/portage/net-libs/libproxy-0.4.1/temp/build.log
LIBRARIES to LDFLAGS fix |
Description
Justin Lecher (RETIRED)
![]() Created attachment 232017 [details]
/var/tmp/portage/net-libs/libproxy-0.4.1/temp/build.log
build.log
same error here. This is my build.log http://paste.pocoo.org/show/215369/ emerge --info =net-libs/libproxy-0.4.1 : http://paste.pocoo.org/show/215371/ Please add(In reply to comment #2) > same error here. > > This is my build.log > > http://paste.pocoo.org/show/215369/ > > > emerge --info =net-libs/libproxy-0.4.1 : > > http://paste.pocoo.org/show/215371/ > Don't use pastbin please. Attach everything here as attachment. Here is a workaround, LDFLAGS="`pkg-config --libs mozilla-js`" emerge -av libproxy Or USE="-xulrunner" emerge -av libproxy I too have the exact same error. My arch= ~x86 Tried Samuli Suominen's work around from post #4 (LDFLAGS="`pkg-config --libs mozilla-js`" emerge -av libproxy) which worked like a charm. So obviously the maintainers need to develop a more permanent fix than this. Thanks Samuli for your help! (In reply to comment #4) Had the same error > Here is a workaround, > > LDFLAGS="`pkg-config --libs mozilla-js`" emerge -av libproxy > This is working perfect - THX > Or > > USE="-xulrunner" emerge -av libproxy > (In reply to comment #4) > LDFLAGS="`pkg-config --libs mozilla-js`" emerge -av libproxy This dint work for me: ERROR: compile /var/tmp/portage/net-libs/libproxy-0.4.1/work/libproxy-0.4.1/libproxy/modules/pacrunner_mozjs.cpp on localhost failed make[2]: *** [libproxy/CMakeFiles/libproxy.dir/modules/pacrunner_mozjs.o] Error 1 > USE="-xulrunner" emerge -av libproxy This worked but it breaks dev-libs/libgweather-2.30.0 and gnome-base/gnome-panel-2.28.0 which depend on it and will not compile. arch= ~x86 here. (In reply to comment #7) > (In reply to comment #4) > > > LDFLAGS="`pkg-config --libs mozilla-js`" emerge -av libproxy > This dint work for me: > > ERROR: compile > /var/tmp/portage/net-libs/libproxy-0.4.1/work/libproxy-0.4.1/libproxy/modules/pacrunner_mozjs.cpp > on localhost failed > make[2]: *** [libproxy/CMakeFiles/libproxy.dir/modules/pacrunner_mozjs.o] Error > 1 It's only a workaround... and it's not even supposed to work with something like distcc or cross-compiling. (In reply to comment #7) > This worked but it breaks dev-libs/libgweather-2.30.0 and > gnome-base/gnome-panel-2.28.0 which depend on it and will not compile. > Issuing emerge @preserve-rebuild a second time made this go away. (In reply to comment #9) > (In reply to comment #7) > > This worked but it breaks dev-libs/libgweather-2.30.0 and > > gnome-base/gnome-panel-2.28.0 which depend on it and will not compile. > > > Issuing emerge @preserve-rebuild a second time made this go away. This is bug #320511 It seems that libproxy is confused if you have multiple version of xulrunner when compiled with xulrunner USE flag on. Get rid of xulrunner 1.8.x and (if necessary) reinstall xulrunner 1.9.x. Libproxy 0.4.1 will compile correctly. (In reply to comment #11) > It seems that libproxy is confused if you have multiple version of xulrunner > when compiled with xulrunner USE flag on. Get rid of xulrunner 1.8.x and (if > necessary) reinstall xulrunner 1.9.x. Libproxy 0.4.1 will compile correctly. > I only have one version of xulrunner, version-1.9.2.3-r1, I haven't had version-1.8.x installed for over a year. So it's impossible that this is the issue. As I mentioned in my previous post, I was finally able to compile after using the hack provided by Samuli Suominen in post #4. After installing there were preserved-libs so I had to emerge @preserved-libs to rebuild 3 or 4 packages, revdep-rebuild afterwards said linking was OK with nothing else to rebuild. Ni! Same problem here with only a single version of xulrunner installed. LDFLAGS workaround worked around well. []'s ~~ Same failure here with just xulrunner 1.9.2.3-r1. configure detects libmozjs correctly but it isn't correctly on the library path during build. I got the same problem with only xulrunner 1.9.2.3-r1. USE="-xulrunner" and LDFLAGS="`pkg-config --libs mozilla-js`" works but it breaks libgweather - it isnt able to compile. So emerge @preserved-rebuild and revdep-rebuild doenst work. Confirming bug (same error). Workaround: create link to current xulrunner in /usr/lib ln -svnf /usr/lib/xulrunner-1.9.2/libmozjs.so /usr/lib/libmozjs.so By the way, when "ld" is asked for a flag (e.g. "-lmozjs") it first searches in /usr/lib ... for e.g. libmozjs.so or libmozjs.la. The LDFLAGS workaround seems to prevent the creation of the .la file which breaks rebuilds of e.g. epiphany. I'll try symlinking mozjs but I think this needs a proper fix as this build is clearly broken at present. Works with the symlink but again no .la file is being installed. CCLD epiphany libtool: link: cannot find the library `/usr/lib64/libproxy.la' or unhandled argument `/usr/lib64/libproxy.la' make[4]: *** [epiphany] Error 1 (In reply to comment #17) > The LDFLAGS workaround seems to prevent the creation of the .la file which > breaks rebuilds of e.g. epiphany. I'll try symlinking mozjs but I think this > needs a proper fix as this build is clearly broken at present. > The libproxy.la (= libtool archive) is not supposed to get installed, 0.4.1 is using now cmake instead of autotools+libtool. And futhermore, you don't need the file. See bug 320643 for instructions howto repair your system. As that bug notes, this should be einfoed in the post_inst of the new libproxy. Created attachment 232341 [details, diff]
LIBRARIES to LDFLAGS fix
Patch to fix the issue. Use LDFLAGS rather than libraries so -L path flags are included.
The patch I just attached fixes the issue. MOZJS_LDFLAGS includes the paths to the xulrunner directories: ../libproxy-0.4.1_build/CMakeCache.txt:MOZJS_LDFLAGS:INTERNAL=-Wl,-R/usr/lib64;-L/usr/lib64/xulrunner-devel-1.9.2/lib;-lmozjs;-lplds4;-lplc4;-lnspr4;-lpthread MOZJS_LIBRARIES just includes the libraries ../libproxy-0.4.1_build/CMakeCache.txt:MOZJS_LIBRARIES:INTERNAL=mozjs;plds4;plc4;nspr4;pthread 0.4.2 is out seems to install and work fine; http://code.google.com/p/libproxy/updates/list updated in the tree |