Summary: | net-libs/libproxy uses libmozjs.so provided by dev-lang/spidermonkey instead of xulrunner one causing undefined symbols | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Graham Murray <gmurray> |
Component: | [OLD] GNOME | Assignee: | Freedesktop bugs <freedesktop-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | aklhfex, basdebakker, bugsgentoo, mozilla, ooblick, raimue |
Priority: | Normal | ||
Version: | 10.0 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 366791 | ||
Attachments: |
Build log for libproxy
mozilla-pkgconfg.patch |
Description
Graham Murray
2011-03-28 10:00:32 UTC
Well, make sure you don't have old libproxy or xulrunner in, say, /usr/local/lib and /usr/local/include. Then post build.log of libproxy, with verbose output: CMAKE_VERBOSE=yes emerge -av libproxy Created attachment 267515 [details]
Build log for libproxy
I cannot find any old xulrunner or libproxy on my system. The verbose libproxy build log is attached
Do you have spidermonkey installed? (In reply to comment #3) > Do you have spidermonkey installed? Yes. #emerge -pv spidermonkey These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] dev-lang/spidermonkey-1.9.2.15 USE="threadsafe" 0 kB (In reply to comment #4) > (In reply to comment #3) > > Do you have spidermonkey installed? > > Yes. > > #emerge -pv spidermonkey > > These are the packages that would be merged, in order: > > Calculating dependencies... done! > [ebuild R ] dev-lang/spidermonkey-1.9.2.15 USE="threadsafe" 0 kB - lddtree /usr/lib/libproxy.so.1.0.0 post output please - emerge -C spidermonkey - lddtree /usr/lib/libproxy.so.1.0.0 post output please - emerge -1 libproxy does it work? (In reply to comment #5) > - lddtree /usr/lib/libproxy.so.1.0.0 > post output please libproxy.so.1 => /usr/lib/libproxy.so.1 (interpreter => none) scanelf: rpath_security_checks(): Maybe? sec problem with DT_RPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RUNPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 libmodman.so.1 => /usr/lib/libmodman.so.1 libdl.so.2 => /lib/libdl.so.2 ld-linux.so.2 => /lib/ld-linux.so.2 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RUNPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 libpthread.so.0 => /lib/libpthread.so.0 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RUNPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 libmozjs.so => /usr/lib/xulrunner-devel-2.0/lib/libmozjs.so libnspr4.so => /usr/lib/libnspr4.so libm.so.6 => /lib/libm.so.6 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RUNPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 libstdc++.so.6 => /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libstdc++.so.6 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RUNPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 libc.so.6 => /lib/libc.so.6 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RUNPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libgcc_s.so.1 > - emerge -C spidermonkey > - lddtree /usr/lib/libproxy.so.1.0.0 libproxy.so.1 => /usr/lib/libproxy.so.1 (interpreter => none) scanelf: rpath_security_checks(): Maybe? sec problem with DT_RPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RUNPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 libmodman.so.1 => /usr/lib/libmodman.so.1 libdl.so.2 => /lib/libdl.so.2 ld-linux.so.2 => /lib/ld-linux.so.2 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RUNPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 libpthread.so.0 => /lib/libpthread.so.0 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RUNPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 libmozjs.so => /usr/lib/xulrunner-devel-2.0/lib/libmozjs.so libnspr4.so => /usr/lib/libnspr4.so libm.so.6 => /lib/libm.so.6 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RUNPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 libstdc++.so.6 => /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libstdc++.so.6 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RUNPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 libc.so.6 => /lib/libc.so.6 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 scanelf: rpath_security_checks(): Maybe? sec problem with DT_RUNPATH='lib:/usr/lib/xulrunner-devel-2.0/lib' in /usr/lib/libproxy.so.1 libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.5.2/libgcc_s.so.1 > - emerge -1 libproxy > does it work? Yes, it now works. But there are other installed packages which depend on spidermonkey, so the next emerge --update will merge it. As the ldd_tree outputs were identical, I wonder if perhaps the loader is respecting the DT_RPATH and/or DT_RUNPATH in libproxy.so.1 but that the linker is not and attempting to link against the wrong libmozjs? Where is the problem here then? Spidermonkey? spidermonkey installs /usr/lib*/libmozjs.so, while xulrunner installs it in /usr/lib*/xulrunner-2.0, so unless the Makefiles give the proper library path, spidermonkey's lib will get picked up. My libtool/autotools-fu is not strong, someone will have to look at this. i had the same error when tring to compile: dev-libs/totem-pl-parser-2.32.4 "/usr/lib64/libproxy.so: undefined reference to `JS_StrictPropertyStub'" i tried the "emerge -1 libproxy" but the error is still here how can i fix it please ? Got the same problem emerging gnome-panel-2.32.1-r2. Make sure your /usr/lib*/libmozjs.so is a symlink to /usr/lib*/xulrunner-2.0/libmozjs.so and the problem should be gone. If your current /usr/lib*/libmozjs.so is a symlink, you could make it point to xulrunner-2.0/libmozjs.so. (Though an ugly fix.) I read somewhere that libmozjs was going to be only provided by spidermonkey, maybe that could help on this :-/ The same problem on opensuse: https://bugzilla.novell.com/show_bug.cgi?id=479505 Created attachment 275873 [details, diff]
mozilla-pkgconfg.patch
And this is the opensuse patch for handling this to be applied to xulrunner
+*libproxy-0.4.6-r3 (05 Jun 2011) + + 05 Jun 2011; Pacho Ramos <pacho@gentoo.org> +libproxy-0.4.6-r3.ebuild, + +files/libproxy-0.4.6-backports.patch, + +files/libproxy-0.4.6-flags-mixing.patch: + Revision bump disabling webkit support as it causes problems like bug #366791 + (we will be able to recover this with webkit-1.6), do the same for xulrunner + support because of important problems like bug #360893 giving unresolved + symbols due problems to use proper mozjs. Thanks a lot to Nirbheek for his + assistance with this. Also include and old upstream patch to stop mixing + CFLAGS and CXXFLAGS (bug #338125 by Justin Lecher) and an opensuse patch + including some more fixes from upstream. + An alternative to this would be to DEPEND and RDEPEND on !=dev-lang/spidermonkey-1.8.2* ...assuming that this works with xulrunner-2 / spidermonkey-1.8.5, that is, and bug 359879 seems to imply that it does. Note, the package may need to be patch to pkg-config [whatever] mozjs185 in order to support spidermonkey-1.8.5. |