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:
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?