[SOLVED] Mozilla Lightning fails after Seamonkey update
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Does anyone use the Lightning calendar extension with Seamonkey?
After applying the recent Slackware 14 update to seamonkey-2.20, I had to upgrade to the compatible version of lightning-2.5b2 (always have to upgrade lightning after seamonkey, as only specific versions play together). I've done this before without problems, but it won't work at all this time.
Trying to open the Mail/News window in Seamonkey-2.20 with Lightning-2.5b2 crashes out of seamonkey with an error that looks like this:
Code:
seamonkey: relocation error:
.../components/Linux_x86-gcc3/libcalbasecomps.so:
symbol _ZN2js13CheckedUnwrapEP8JSObjectb, version xul23.0 not defined in file libxul.so with link time reference
I'm now pretty sure this is a Slackware problem, not a Mozilla problem. Something seems wrong in the libxul.so shipped with the Slackware 14.0 patch to seamonkey-2.20.
The error message (see above) says it was looking for CheckedUnwrap version xul23.0 in libxul.so and not finding it.
This is from libxul.so in Slackware 14 seamonkey-2.20-i486-1_slack14.0:
The version is correct (xul23.0) in the one from seamonkey-project, but wrong (mozjs) in the Slackware one. That's as far as I got so far. I haven't tried running the 'official' seamonkey release. I took a quick looks at the seamonkey.SlackBuild script but that didn't help.
I confirmed that lightning-2.5b2 extension works with seamonkey-2.20 as downloaded from seamonkey-project.org (the Mozilla binary release).
(And, as an aside, I see that the binary release from seamonkey-project.org does seem to work OK on Slackware 14. Didn't Slackware once ship the Mozilla binaries of this - and firefox - rather than rebuilding from source? I wonder when/why that changed.)
One possibly suspicious difference is that the Slackware seamonkey-2.20 was built with gcc-4.7.1 and the released seamonkey-project Linux binary seamonkey-2.20 was built with gcc-4.5.2.
I confirmed that lightning-2.5b2 extension works with seamonkey-2.20 as downloaded from seamonkey-project.org (the Mozilla binary release).
(And, as an aside, I see that the binary release from seamonkey-project.org does seem to work OK on Slackware 14. Didn't Slackware once ship the Mozilla binaries of this - and firefox - rather than rebuilding from source? I wonder when/why that changed.)
One possibly suspicious difference is that the Slackware seamonkey-2.20 was built with gcc-4.7.1 and the released seamonkey-project Linux binary seamonkey-2.20 was built with gcc-4.5.2.
We have never shipped Seamonkey compiled by Mozilla.
Is this extension that's running into problems something that is a binary (I'm assuming that is the case). If so, that's very likely the root of the problem. It's possible that recompiling Seamonkey with the exact configure flags used by Mozilla might clear up the issue, but we've never known what those are for any of the binaries they post.
Yes the Lightning extension has a binary component. In fact it is the one named in the error message a the top: libcalbasecomps.so. (I think this explains why it needs to upgraded for each version of the browser.)
I believe using about:buildconfig in Seamonkey gives one the exact configure line that was used, and also the CFLAGS and compiler versions. I considered getting the seamonkey-2.20 source, and building it on Slackware-14 with gcc-4.7.1 using the same configure as they use for their released binaries, as seen by about:buildconfig from their binary release. This should indicate if the problem is the build environment or not. But I balked at the the 83MB source download (or is it 107MB, as on a Slackware mirror?) Maybe I'll go ahead and try it, though.
I found the cause: the configure option --enable-shared-js
The Slackware build script uses this, and the Mozilla-supplied release does not. When this option is used, Seamonkey gets built with an additional library: libmozjs.so which contains some functions which would otherwise be in libxul.so, I think. This seems to cause the issue with the 'version tag' (not sure if that is the right term) for a function used by the Lightning extension to use 'mozjs' instead of 'xul23.0'.
Using seamonkey.SlackBuild without --enable-shared-js to build seamonkey results in a build that does work with lightning-2.5b2.
It is possible that building Lightning from source on a system that has the Slackware-built seamonkey would work too, but it seems a lot of trouble to get Lightning source so I didn't try that.
I will probably open a mozilla bug report on this option, but I'm not hopeful it would do much good. Perhaps Pat would consider dropping --enable-shared-js for the next seamonkey release, unless there is something out there that relies on it.
Distribution: Slackware64-current with "True Multilib" and KDE4Town.
Posts: 9,099
Rep:
Looks like that has been fixed:
Quote:
Thu Aug 15 03:46:12 UTC 2013
l/seamonkey-solibs-2.20-x86_64-2.txz: Rebuilt.
Recompiled without the --enable-shared-js option to fix the Mozilla
Lightning plugin. This removes libmozjs.so, but there's a standalone js
package now anyway.
Thanks to ljb643.
xap/seamonkey-2.20-x86_64-2.txz: Rebuilt.
Recompiled without the --enable-shared-js option to fix the Mozilla
Lightning plugin. This removes libmozjs.so, but there's a standalone js
package now anyway.
Thanks to ljb643.
Great! Tested seamonkey-2.20-2 with lightning-2.5b2 and everything seems to be working. (Not counting the new seamonkey-2.20 crash on my bank's web site, but that seems not to be Slackware specific.)
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.