You are not logged in.
Hello,
I recently switched my desktop from using the proprietary nvidia drivers to nouveau. After doing so, I experienced seg faults in many applications (emacs, xfce4-session). I tracked down the problem to be caused by the /usr/lib/libGL.so.1 symlink pointing to the wrong file. I noticed that if I looked in /usr/lib, I would see libGL.so.1 -> libGL.so.190.42 when in fact it should have been pointing to mesa-libGL.so.1.2.0. ( https://bbs.archlinux.org/viewtopic.php?id=174663 )
Changing the symlink by hand ( sudo ln -sf mesa-libGL.so.1.2.0 libGL.so.1 ) makes everything work again, but every time I install something new the symlink goes back to libGL.so.190.42.
What is causing this symlink to change on every package install and how can I stop this from happening?
Thanks!
Last edited by mikej_96 (2013-12-23 21:25:19)
Offline
I just made the same switch last week, but my libGL-so.1 is correctly simlinked. So it can't be doesn't seem to be a 'systemic' issue. Also, that version of libGL (190.42) seems rather old.
I would look in to anything you have installed from the AUR, or anything else from 'unofficial' sources like Steam games.
Last edited by alphaniner (2013-12-23 20:06:04)
But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner
Offline
Thanks for the tip. I figured it was something unique to my system, which is a 4 and a half year old install. At one point in time I was running the nvidia outside of the ones in the official repos, so something is probably goofed up from that.
I just wonder what part of the system generates those symlinks. For example, the symlink changed to libGL.so.190.42 when I installed the 'archlinux-wallpaper' package - which obviously should have no affect on any of those libs.
I looked in /etc/ld.so.conf and /etc/ld.so.conf.d and could not find anything unusual. I will keep looking.
Offline
Which package does libGL.so.190.42 belong to?
Offline
libGL.so.190.42 does not belong to any package.
Offline
Move that file somewhere else and see if the symlink sticks.
Offline
If a plain text file is responsible for the modification, you could try searching it out with
find <dir> -type f -exec grep -Il 'libGL.so.190.42' {} \;
or some such.
But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner
Offline
Oh wow - how can this even happen?
I verified that the libGL.so.1 symlink was correct:
ls -lah libGL.so*
lrwxrwxrwx 1 root root 19 Dec 13 12:12 libGL.so -> mesa-libGL.so.1.2.0
lrwxrwxrwx 1 root root 19 Dec 23 14:20 libGL.so.1 -> mesa-libGL.so.1.2.0
lrwxrwxrwx 1 root root 19 Dec 13 12:12 libGL.so.1.2.0 -> mesa-libGL.so.1.2.0
-rwxr-xr-x 1 root root 775K Aug 29 2009 libGL.so.185.18.36
-rwxr-xr-x 1 root root 906K Oct 25 2009 libGL.so.190.42
Then rename the 'bad' libGL file.
$ mv libGL.so.190.42 libGL.so.190.42.why_is_this_here
Then, re-install archlinux wallpaper
$ pacman -S archlinux-wallpaper
warning: archlinux-wallpaper-1.4-1 is up to date -- reinstalling
resolving dependencies...
looking for inter-conflicts...
Packages (1):
Name Old Version New Version Net Change
extra/archlinux-wallpaper 1.4-1 1.4-1 0.00 MiB
Total Installed Size: 11.78 MiB
Net Upgrade Size: 0.00 MiB
:: Proceed with installation? [Y/n]
(1/1) checking keys in keyring [################################] 100%
(1/1) checking package integrity [################################] 100%
(1/1) loading package files [################################] 100%
(1/1) checking for file conflicts [################################] 100%
(1/1) reinstalling archlinux-wallpaper [################################] 100%
Then check the symlink again
$ ls -lah libGL.so*
lrwxrwxrwx 1 root root 19 Dec 13 12:12 libGL.so -> mesa-libGL.so.1.2.0
lrwxrwxrwx 1 root root 32 Dec 23 14:16 libGL.so.1 -> libGL.so.190.42.why_is_this_here
lrwxrwxrwx 1 root root 19 Dec 13 12:12 libGL.so.1.2.0 -> mesa-libGL.so.1.2.0
-rwxr-xr-x 1 root root 775K Aug 29 2009 libGL.so.185.18.36
-rwxr-xr-x 1 root root 906K Oct 25 2009 libGL.so.190.42.why_is_this_here
It moved back to the unwanted libGL file.
Offline
Update: I was not able to find what would be doing this using the plain text search for libGL.so.190.42.
Offline
Looks like running ldconfig generates the symlink. Looks like the question is - how can I make this stop?
# ldconfig -v | grep "libGL"
ldconfig: Path `/usr/lib' given more than once
ldconfig: Path `/usr/lib64' given more than once
ldconfig: Can't stat /usr/libx32: No such file or directory
libGLU.so.1 -> libGLU.so.1.3.1
libGLESv2.so.2 -> libGLESv2.so.2.0.0
libGLcore.so.1 -> libGLcore.so.190.42
libGLEWmx.so.1.10 -> libGLEWmx.so.1.10.0
libGLESv1_CM.so.1 -> libGLESv1_CM.so.1.1.0
libGLEW.so.1.10 -> libGLEW.so.1.10.0
libGL.so.1 -> libGL.so.190.42.why_is_this_here <--------------------------------------------
libGLESv2.so.2 -> libGLESv2.so.2.0.0
libGLESv1_CM.so.1 -> libGLESv1_CM.so.1.1.0
libGL.so.1 -> libGL.so.1.2.0 <---------------------------------------------
Last edited by mikej_96 (2013-12-23 21:10:10)
Offline
Just remove the file. And libGL.so.185.18.36 too. You must have installed the Nvdia driver manually at some point in the past, or something similar. I don't see any other reason why you'd have such old orphaned files around.
And the reason ldconfig creates the symlink? Simple, It's the libGL.so with the highest soname.
Offline
I don't really understand *why* that that symlink was getting set, but moving the libGL.so.190.42 completely out of /usr/lib seemed to do the trick. That file, along with a few other old libGL files were undoubtedly left over from the non-arch linux nvidia installer. Apparently they were not removed long ago when the uninstall scripts were ran. Seems that having those files present in /usr/lib caused them to get linked to libGL.so.1.
Thanks for the help everyone. Marking as solved.
Offline
Just wanted to 'bump' to make sure you see Gusar's post (#11) explaining the *why*
But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner
Offline
Yes thanks I saw that after my post.
Thanks again.
Offline