Hello Guest

libovr initialization fails with symbol resolution failure

  • 2 Replies
  • 3553 Views
libovr initialization fails with symbol resolution failure
« on: October 08, 2017, 11:09:49 »
After a long break, I'm migrating a VR application from libovr 1.3 to 1.18 (i.e. going from lwjgl 3.0.0 build 65 to the latest 3.1.3 release).

Even after upgrading the Oculus runtime to the latest version, the code was still working with libovr 1.3. After the migration, the programs fails early in ovr_Initialize with an error code of -3023, which according to the headers is the enum value of ovrError_LibSymbols and means "LibOVRRT symbol resolution failure" (link1 link2). According to the logs, the DLLs are properly extracted and loaded:

Code: [Select]
main                      [DEBUG] OvrWrapperWin$       |  *** Initializing LibOVR
[LWJGL] Version: 3.1.3 SNAPSHOT
[LWJGL]          OS: Windows 7 v6.1
[LWJGL]         JRE: 1.8.0_77 amd64
[LWJGL]         JVM: Java HotSpot(TM) 64-Bit Server VM v25.77-b03 by Oracle Corporation
[LWJGL] Loading library (system): lwjgl
[LWJGL]         Found at: C:\Users\Fabian\AppData\Local\Temp\lwjglFabian\3.1.3-SNAPSHOT\lwjgl.dll
[LWJGL]         Loaded from org.lwjgl.librarypath: C:\Users\Fabian\AppData\Local\Temp\lwjglFabian\3.1.3-SNAPSHOT\lwjgl.dll
[LWJGL] MemoryUtil accessor: MemoryAccessorUnsafe
[LWJGL] MemoryUtil allocator: StdlibAllocator
[LWJGL] Loading library (system): lwjgl_ovr
[LWJGL]         Found at: C:\Users\Fabian\AppData\Local\Temp\lwjglFabian\3.1.3-SNAPSHOT\lwjgl_ovr.dll
[LWJGL]         Loaded from org.lwjgl.librarypath: C:\Users\Fabian\AppData\Local\Temp\lwjglFabian\3.1.3-SNAPSHOT\lwjgl_ovr.dll
main                      [DEBUG] OvrWrapperWin$       | ovr_Initialize = -3023

I have checked that the extracted DLLs exist and they look fine.

Any ideas what could be causing this?

*

Offline spasi

  • *****
  • 2261
    • WebHotelier
Re: libovr initialization fails with symbol resolution failure
« Reply #1 on: October 08, 2017, 13:31:23 »
ovrError_LibSymbols is returned by ovr_Initialize when a function pointer could not be loaded from the runtime shared library. I don't have Oculus hardware, but for me it works without errors.

Sounds like the Oculus runtime hasn't been properly updated to 1.18. If you just installed it, try restarting Windows.

Re: libovr initialization fails with symbol resolution failure
« Reply #2 on: October 08, 2017, 14:02:02 »
Cool thanks, your analysis was spot on: There was an issue with my runtime and I had to re-update to 1.18.