dev-lang/spidermonkey-1.7.0's /usr/lib/libjs.so is not removed on upgrade to dev-lang/spidermonkey-1.9.2.15. Reproducible: Always Steps to Reproduce: 1. emerge -u spidermonkey elinks 2. emerge -q @preserved-rebuild 3. elinks continued to be listed as preserved libs due to /usr/lib/libjs.so remaining from an old spidermonkey install. See Elinks Bug # Actual Results: To quickly resolve, after upgrading to spidermonkey-1.9, manually mv or rm /usr/lib/libjs.so! Spidermonkey Ebuild failed to remove one of it's old installed files.
(For reference, see Elinks Bug #37133.)
Delete Comment #1 and substitute with -> For reference, see Elinks Bug #371733! (Hopefully someday we'll see an "edit option" for our own comment blocks to unscrew ourselves!)
I've looked at spidermonkey 1.7-1.9 ebuilds and I can't see anything specifying the /usr/lib/libjs.so which would orphan it. I also fgreped the spidermonkey/ folder for anything to do with the libjs file. This seems more in depth with Make install/uninstall, etc...
This is probably because elinks cannot work with spidermonkey-1.9.x, or links to libjs.so instead of libmozjs.so, or something similar. Definitely NOT a spidermonkey bug.
I just recompiled to verify this bug using the latest ebuilds and find this is already fixed. It's quite possible, compiling and installing spidermonkey-1.7.0 using an old spidermonkey ebuild version deployed an orphaned file. (Sometimes in the past, ebuild maintainers would just push a new ebuild instead of cycling the -r1(+1) version suffix, hence, leaving most with broken package until they manually recompiled the package. Hopefully they enforce a version "release" increment on all fixes now.) Below is a quick log of an install of the old spidermonkey and then upgrade. File listings show the spidermonkey ebuilds did remove the old /usr/lib/libjs.so as they should. Also, I took note that spidermonkey was built with -threadsafe. So the USE flag is irrelevant. localhost2 ~ # emerge -q =dev-lang/spidermonkey-1.7.0 && qlist spidermonkey |grep lib | xargs ls -alh >>> Verifying ebuild manifests >>> Emerging (1 of 1) dev-lang/spidermonkey-1.7.0 >>> Installing (1 of 1) dev-lang/spidermonkey-1.7.0 -rw-r--r-- 1 root root 6.9K Jun 21 20:22 /usr/include/js/jslibmath.h -rw-r--r-- 1 root root 807K Jun 21 20:22 /usr/lib/libjs.a -rwxr-xr-x 1 root root 689K Jun 21 20:22 /usr/lib/libjs.so localhost2 ~ # emerge -q =dev-lang/spidermonkey-1.9.2.15 && qlist spidermonkey |grep lib | xargs ls -alh >>> Verifying ebuild manifests >>> Emerging (1 of 1) dev-lang/spidermonkey-1.9.2.15 >>> Installing (1 of 1) dev-lang/spidermonkey-1.9.2.15 -rw-r--r-- 1 root root 2.0M Jun 21 23:36 /usr/lib/libjs_static.a -rwxr-xr-x 1 root root 1.4M Jun 21 23:36 /usr/lib/libmozjs.so Also for reference for anybody that cares to hear, my spidermonkey emerge history: # qlop -l |grep spidermonkey Wed Mar 31 16:14:32 2010 >>> dev-lang/spidermonkey-1.7.0 Tue Jun 8 01:22:06 2010 >>> dev-lang/spidermonkey-1.7.0 Tue Jun 8 10:56:00 2010 >>> dev-lang/spidermonkey-1.7.0 Tue Jun 8 20:06:52 2010 >>> dev-lang/spidermonkey-1.7.0 Mon Jan 17 02:08:28 2011 >>> dev-lang/spidermonkey-1.7.0 Mon Apr 11 01:43:43 2011 >>> dev-lang/spidermonkey-1.9.2.15 Mon Apr 11 02:16:42 2011 >>> dev-lang/spidermonkey-1.7.0 Thu Jun 16 22:25:03 2011 >>> dev-lang/spidermonkey-1.9.2.15 Fri Jun 17 03:57:40 2011 >>> dev-lang/spidermonkey-1.9.2.15 Tue Jun 21 20:23:13 2011 >>> dev-lang/spidermonkey-1.7.0 Tue Jun 21 23:37:06 2011 >>> dev-lang/spidermonkey-1.9.2.15