Ask Your Question
0

How to solve 'error while loading shared libraries' if the library is present?

asked 2013-02-17 09:02:41 -0500

Bucic gravatar image

updated 2014-09-28 12:23:37 -0500

mether gravatar image

The library in question is libGLU.so.1 but I'd really like to get an answer to the general problem rather than just this specific case. What I've already tried:

su -c 'updatedb'
su -c 'find / -name libGLU*'
find: `/run/user/1000/gvfs': Permission denied
/usr/lib64/libGLU.so.1
/usr/lib64/libGLU.so.1.3.1

So I tried a common solution I found somewhere else (DON'T DO IT!):

sudo ln -s /usr/lib64/mesa/libGLU.so.1 /usr/lib

It didn't work. I'm still getting:

'/home/.../Downloads/X-Plane 10 Demo Installer Linux'
/home/.../Downloads/X-Plane 10 Demo Installer Linux: error while loading shared libraries: libGLU.so.1: cannot open shared object file: No such file or directory

I've confirmed that /usr/lib/ contains libGLU.so.1. Some sources suggested that in such cases 32-bit of library is needed. If so, please explain how to install 32-bit version of the library. yum provides tells skype and fedorautils packages provide the library but my system is 64-bit with both packages installed and I'm afraid installing the packages with .i386 added to the package name will brake something in my system.

Related questions:
https://ask.fedoraproject.org/question/365/how-do-i-install-32bit-libraries-on-a-64-bit
https://ask.fedoraproject.org/question/1679/where-is-installed-library-libbz2so1

Forum topic with solution for missing 'libGLU.so.1': Missing libGLU.so.1 error for X-Plane Demo installer

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted
1

answered 2013-02-21 07:18:39 -0500

FranciscoD_ gravatar image

updated 2013-02-21 07:19:47 -0500

What you're looking for is the i686 package as @mether said above. I'm not sure why his command doesn't install the i686 version. This should:

$ sudo yum install mesa-libGLU.i?86

Another point: Symlinking 64 bit libraries to 32 bit locations is a very bad idea.

There is no harm in having 32 bit packages installed on a 64 bit system.

edit flag offensive delete link more

Comments

So, to answer my own question - library may be present but of another architecture (32 vs 64 bit). Solution: Install library of architecture required. Please correct me if I'm wrong. The forum thread which details how I (with help!) solved the specific problem with libglu: http://forums.x-plane.org/index.php?showtopic=65293

Bucic gravatar imageBucic ( 2013-02-21 14:10:06 -0500 )edit

Extremely useful commands that helped me: ldd <installer_name>, yum provides <package_name>, yum search <package_name>. Useful skill: removing symlinks. Details in the forum thread linked in my previous comment.

Bucic gravatar imageBucic ( 2013-02-21 14:14:18 -0500 )edit
0

answered 2014-03-18 16:10:14 -0500

I tried that and got this error: Protected multilib versions: mesa-libGLU-9.0.0-3.fc20.i686 != mesa-libGLU-9.0.0-4.fc20.x86_64

it will not allow me to install the i686 version since I already have the 64 bit installed.

edit flag offensive delete link more
0

answered 2013-02-17 13:49:44 -0500

mether gravatar image

updated 2013-02-17 13:50:55 -0500

The easiest way is to run

yum install /usr/lib*/libGLU*

This will install both the 64-bit and 32-bit versions. You can be more specific and specify the exact filename if you wish to. Games typically are 32-bit builds.

edit flag offensive delete link more

Comments

You'll probably need to either escape or quote that glob, your shell is probably passing the expansion of the glob to yum.

wquine gravatar imagewquine ( 2014-03-18 18:51:22 -0500 )edit

Question Tools

Stats

Asked: 2013-02-17 09:02:41 -0500

Seen: 33,882 times

Last updated: Mar 18 '14