[SOLVED] firefox not running in new -current with multilib
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.
So I installed the new updates and alienbob's newly updated multilib packages, and now when trying to run firefox, it errors out. Terminal output is
Code:
XPCOMGlueLoad error for file /usr/lib64/firefox-10.0/libxpcom.so:
/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib64/seamonkey/libxul.so)
Couldn't load XPCOM.
All I could find concerning the error is that glibcxx 3.4.15 is part of gcc 4.6.x. Runnning gcc -v confirms that I do in fact have gcc 4.6.2 installed, and I just reinstalled gcc-4.6.2_multilib-x86_64-1alien.txz from alienbob's page (after having already upgraded all my multilib packages once).
Another page I found suggested running
Code:
export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH;
, but this had no effect. I also tried rebooting after the installations.
So I'm at a loss right now. Any help would be appreciated.
The error says that you did *not* install all Alien Bob's updates.
In particular, you're confusing gcc and glibc. The package you need to make the error go away is glibc-2.14.1_multilib-x86_64-3alien *not* gcc-4.6.2_multilib-x86_64-1alien, but really you should have both. In fact you should upgrade all the available upgrades:
I had the exactly problem because I actually forgot to upgrade with Alien's multilib packages. When I did upgrade the multilib packages the problem was solved.
I did a ls -al libstdc++.* in /usr/lib64 and this is the output:
Code:
bash-4.1$ ls -al libstdc++.*
-rw-r--r-- 1 root root 2817936 Jan 11 21:18 libstdc++.a
-rwxr-xr-x 1 root root 961 Jan 11 21:18 libstdc++.la
lrwxrwxrwx 1 root root 19 Feb 2 11:54 libstdc++.so -> libstdc++.so.6.0.16
lrwxrwxrwx 1 root root 18 Oct 15 17:06 libstdc++.so.5 -> libstdc++.so.5.0.7
-rwxr-xr-x 1 root root 4515618 May 15 2011 libstdc++.so.5.0.7
lrwxrwxrwx 1 root root 19 Feb 2 11:54 libstdc++.so.6 -> libstdc++.so.6.0.16
-rwxr-xr-x 1 root root 978664 May 30 2011 libstdc++.so.6.0.14
-rwxr-xr-x 1 root root 978944 Jan 11 21:18 libstdc++.so.6.0.16
My libstdc++.so.6 symlink to libstdc++.so.6.0.16, do yours show the same?
The error says that you did *not* install all Alien Bob's updates.
In particular, you're confusing gcc and glibc. The package you need to make the error go away is glibc-2.14.1_multilib-x86_64-3alien *not* gcc-4.6.2_multilib-x86_64-1alien, but really you should have both. In fact you should upgrade all the available upgrades:
All of these were installed. I'm looking at my local directory with all of the multilib packages that I installed and glibc 2.14.1 is there. I'm not sure how to actually display the installed packages or I would post the output there.
Quote:
I had the exactly problem because I actually forgot to upgrade with Alien's multilib packages. When I did upgrade the multilib packages the problem was solved.
I did a ls -al libstdc++.* in /usr/lib64 and this is the output:
Code:
bash-4.1$ ls -al libstdc++.*
-rw-r--r-- 1 root root 2817936 Jan 11 21:18 libstdc++.a
-rwxr-xr-x 1 root root 961 Jan 11 21:18 libstdc++.la
lrwxrwxrwx 1 root root 19 Feb 2 11:54 libstdc++.so -> libstdc++.so.6.0.16
lrwxrwxrwx 1 root root 18 Oct 15 17:06 libstdc++.so.5 -> libstdc++.so.5.0.7
-rwxr-xr-x 1 root root 4515618 May 15 2011 libstdc++.so.5.0.7
lrwxrwxrwx 1 root root 19 Feb 2 11:54 libstdc++.so.6 -> libstdc++.so.6.0.16
-rwxr-xr-x 1 root root 978664 May 30 2011 libstdc++.so.6.0.14
-rwxr-xr-x 1 root root 978944 Jan 11 21:18 libstdc++.so.6.0.16
My libstdc++.so.6 symlink to libstdc++.so.6.0.16, do yours show the same?
Code:
root@navi:/home/username# ls -al /usr/lib64/libstdc++.*
-rw-r--r-- 1 root root 2838750 May 29 2011 /usr/lib64/libstdc++.a
-rwxr-xr-x 1 root root 961 May 29 2011 /usr/lib64/libstdc++.la
lrwxrwxrwx 1 root root 19 Dec 21 01:33 /usr/lib64/libstdc++.so -> libstdc++.so.6.0.14
lrwxrwxrwx 1 root root 18 Dec 21 00:30 /usr/lib64/libstdc++.so.5 -> libstdc++.so.5.0.7
-rwxr-xr-x 1 root root 4515618 May 14 2011 /usr/lib64/libstdc++.so.5.0.7
lrwxrwxrwx 1 root root 19 Dec 21 01:33 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.14
-rwxr-xr-x 1 root root 978664 May 29 2011 /usr/lib64/libstdc++.so.6.0.14
root@navi:/home/username#
Its linking to *.14 rather than 16, apparently. Going off the assumption that I did upgrade my multilib correctly, how do I correct the link?
That grep command shows .14 as the highest. So I listed the contents of my multilib directory, then tried to upgrade all glibc packages again. It skipped all of them. then I ran
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.