Forum Discussion
ueczz
11 years agoHonored Guest
List of Oculus Lib Dependencies (on Linux)?
I would like it if a list of all the libraries I need to link against would be in the documentation.
When upgrading to 0.42, I had the problem that I was suddenly getting linker errors, which I had to painfully find the source of (turned out I needed to add winmm.lib - which is mentioned nowhere in the docs, I believe.
Now with 0.43, I have a similar issue on Linux (using Ubuntu 14.04, Gnome 3, GeForce GT 650M with Optimus):
This seems to be related to libm.so not being added correctly?
However, linking against it does not seem to do the trick. Am I doing something else wrong?
Please - list dependencies!
Edit: By looking through the makefiles, I figured out that it was librt.so that was missing. Here's the list of dependencies, that I found, if anyone else is looking for it:
Still, my point stands - something like this belongs into the documentation, imho.
When upgrading to 0.42, I had the problem that I was suddenly getting linker errors, which I had to painfully find the source of (turned out I needed to add winmm.lib - which is mentioned nowhere in the docs, I believe.
Now with 0.43, I have a similar issue on Linux (using Ubuntu 14.04, Gnome 3, GeForce GT 650M with Optimus):
Linking CXX executable Program
/usr/bin/ld: /pth/to/Project/Source/OculusSDK/LibOVR/Lib/Linux/Release/x86_64/libovr.a(OVR_SharedMemory.o): undefined reference to symbol 'shm_unlink@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/librt.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [Program] Error 1
make[1]: *** [CMakeFiles/Program.dir/all] Error 2
make: *** [all] Error 2
This seems to be related to libm.so not being added correctly?
However, linking against it does not seem to do the trick. Am I doing something else wrong?
Please - list dependencies!
Edit: By looking through the makefiles, I figured out that it was librt.so that was missing. Here's the list of dependencies, that I found, if anyone else is looking for it:
librt.so
libXrandr.so
libGL.so
libXxf86vm.so
libpthread.so
${UDEV_LIBRARIES}
#${XINERAMA_LIBRARY}
${X11_LIBRARIES}
Still, my point stands - something like this belongs into the documentation, imho.
3 Replies
- mungewellHonored GuestIn my opinion this would best be solved by providing a 'ovr-config' script (in the same fashion as 'sdl-config'), which can be called with various options to provide '--cflags', '--libs', etc.
http://www.man-online.org/page/1-sdl-config/
Simon. - jhericoAdventurer
"ueczz" wrote:
libXxf86vm.so
I'm not sure why the SDK would need this. The examples might use it during initialization of their windows, but the SDK almost certainly doesn't."ueczz" wrote:
${XINERAMA_LIBRARY}
Nope. The SDK hasn't depended on this since 0.4.x. The Examples still depended on Xinerama for a while but no longer.
"ueczz" wrote:
${LEAP_LIBRARIES}
Nope. - ueczzHonored Guest
"jherico" wrote:
Nope. The SDK hasn't depended on this since 0.4.x. The Examples still depended on Xinerama for a while but no longer.
Thanks for pointing this out. Yes, my cmake script has kind of evolved since DK1, I never removed some of the old stuff.
"ueczz" wrote:
${LEAP_LIBRARIES}
Nope.
My bad, copy+paste error. I removed it above.
My point still stands, though - I really think these things should be in the documentation.
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 7 years ago
- 3 years ago
- 3 months ago
- 2 years ago