Reputation: 1103
I didn't work during the last two months on one of my projects, today I've compiled it and I tried to run it, but when I try to run it I got this error :
./a.out: error while loading shared libraries: libGLEW.so.1.10: cannot open shared object file: No such file or directory
so I did ldd a.out | grep "GLEW"
and got :
libGLEW.so.1.11 => /usr/lib/libGLEW.so.1.11 (0xb7380000)
libGLEW.so.1.10 => not found
locate libGLEW
returns :
/usr/lib/libGLEW.so
/usr/lib/libGLEW.so.1.11
/usr/lib/libGLEW.so.1.11.0
/usr/lib/libGLEWmx.so
/usr/lib/libGLEWmx.so.1.11
/usr/lib/libGLEWmx.so.1.11.0
I don't understand why and how my project can link 1.11 and 1.10 at the same time, I check my CMakeLists.txt
nothing specify to use 1.10 or 1.11, so from where can come from my problem ? If you need more information I can add some, but right now, I don't know what kind of informations can be usefull to fix this issue. I guess the problem appeared after an update of my OS (archlinux)
Upvotes: 1
Views: 3422
Reputation: 57794
To the loader, these are all just file names. It has no concept of versioning.
My guess is that the situation arose because 1.11 is a thin layer perhaps to patch a bug or enhance functionality and is suppose to mostly use the 1.10 version.
Upvotes: 2