On my Linux Mint 17.3 system, I installed the packages
libglfw-dev. Since GLFW v3 is not available in repositories, I chose to compile it manually using instructions here.
Almost all the instructions I found online state that to link to GLFW v2, I should use
-lglfw while for GLFW v3, it should be
-lglfw3. However, doing
-lglfw3 gave the error:
/usr/bin/ld: cannot find -lglfw3
-lglfw gave lots of errors like:
1.cpp:(.text+0x49): undefined reference to <function_name>
Just to be sure, all the paths in C_INCLUDE_PATH and LD_LIBRARY_PATH were correct. However, after uninstalling the GLFW v2 packaged I had installed using
apt-get and running
-lglfw worked without a problem. Seems that, somewhere in the CMake file (I guess), there is a bug resulting in name conflict.
My question is: If I have two sources that provide the shared libraries with same name, and if I need them both, what can I do (short of diving in the build config) to workaround the issue? Can I manually change the names of
so files reliably?