Skip to content

Instantly share code, notes, and snippets.

@lcharette
Last active November 15, 2016 03:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lcharette/e538fb0f01794e752d9b2b2ca08d1b51 to your computer and use it in GitHub Desktop.
Save lcharette/e538fb0f01794e752d9b2b2ca08d1b51 to your computer and use it in GitHub Desktop.
malou$ java -cp "bin/*" -Djava.library.path=native blueprint.Blueprint
Operating system detected: MacOS
Starting Blueprint v0021.. Good luck!
Current folder: /Users/malou/Downloads/Blueprint0021
Initializing database..
Cache is up to date.
Exception in Application start method
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.UnsatisfiedLinkError: org.lwjgl.system.JNI.invokeIIV(JII)V
at org.lwjgl.system.JNI.invokeIIV(Native Method)
at org.lwjgl.glfw.GLFW.glfwWindowHint(Unknown Source)
at blueprint.opengl.a.c(Unknown Source)
at blueprint.opengl.a.<init>(Unknown Source)
at blueprint.opengl.d.<init>(Unknown Source)
at blueprint.opengl.b.<init>(Unknown Source)
at blueprint.b.b.a.a(Unknown Source)
at blueprint.Blueprint.b(Unknown Source)
at blueprint.Blueprint.initApp(Unknown Source)
at a.a.start(Unknown Source)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
Exception running application blueprint.Blueprint
@lcharette
Copy link
Author

lcharette commented Nov 11, 2016

From What I read, it's a matter of adding glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE); before trying to open a window and create an OpenGL context. Might be worth a try ;)

Ref: RippeR37/GLUL#30 (comment)

@msx80
Copy link

msx80 commented Nov 11, 2016

Uhm how did you linked the error you got with that discussion?

@lcharette
Copy link
Author

lcharette commented Nov 11, 2016

The discussion was related to the previous error I had. The above is after I updated LWJGL.

From your new build. There's no native folder. Not sure if intentional?

malou$ java -cp "bin/*" blueprint.Blueprint
Operating system detected: MacOS
Starting Blueprint v0021.. Good luck!
Current folder: /Users/malou/Downloads/Blueprint0021
Initializing database..
Database is located in: /Users/malou/.Blueprint/database/brickcache.db
Cache is up to date (1x2248)
Exception in Application start method
java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
	at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)
Caused by: java.lang.RuntimeException: Exception in Application start method
	at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
	at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
	at java.lang.Runtime.loadLibrary0(Runtime.java:870)
	at java.lang.System.loadLibrary(System.java:1122)
	at org.lwjgl.system.Library.loadSystem(Unknown Source)
	at org.lwjgl.system.Library.<clinit>(Unknown Source)
	at org.lwjgl.system.MemoryAccess.<clinit>(Unknown Source)
	at org.lwjgl.system.Pointer.<clinit>(Unknown Source)
	at org.lwjgl.system.Platform.mapLibraryNameBundled(Unknown Source)
	at org.lwjgl.glfw.GLFW.<clinit>(Unknown Source)
	at blueprint.opengl.a.<init>(Unknown Source)
	at blueprint.opengl.d.<init>(Unknown Source)
	at blueprint.opengl.b.<init>(Unknown Source)
	at blueprint.b.b.a.a(Unknown Source)
	at blueprint.Blueprint.b(Unknown Source)
	at blueprint.Blueprint.initApp(Unknown Source)
	at a.a.start(Unknown Source)
	at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
	at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
	at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
	at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
Exception running application blueprint.Blueprint

@lcharette
Copy link
Author

lcharette commented Nov 11, 2016

Ok, so I'm back at the NSGL: The targeted version of macOS only supports core profile contexts for OpenGL 3.2 and above error, related to RippeR37/GLUL#30 (comment). I brought back the /native folder with updated LWJGL and fixed the path so it actually look into it.

malou$ java -cp ./bin/*:./native -Djava.library.path=./native/ -Dorg.lwjgl.util.Debug=true -Dorg.lwjgl.util.DebugLoader=true blueprint.Blueprint
Operating system detected: MacOS
Starting Blueprint v0021.. Good luck!
Current folder: /Users/malou/Downloads/Blueprint0021
Initializing database..
Database is located in: /Users/malou/.Blueprint/database/brickcache.db
Cache is up to date (1x2248)
[LWJGL] Version: 3.1.0 SNAPSHOT
[LWJGL] 	 OS: Mac OS X v10.12.2
[LWJGL] 	JRE: 1.8.0_112 x86_64
[LWJGL] 	JVM: Java HotSpot(TM) 64-Bit Server VM v25.112-b16 by Oracle Corporation
[LWJGL] Loading library (system): lwjgl
[LWJGL] 	Using SharedLibraryLoader...
[LWJGL] 	Extracting: /Users/malou/Downloads/Blueprint0021/native/liblwjgl.dylib
[LWJGL] 	Loaded from org.lwjgl.librarypath: /var/folders/zc/nd26_9l51lbbfr5sf1l64qfr0000gn/T/lwjglmalou/3.1.0-SNAPSHOT/liblwjgl.dylib
[LWJGL] Loading library: glfw
[LWJGL] 	Using SharedLibraryLoader...
[LWJGL] 	Extracting: /Users/malou/Downloads/Blueprint0021/native/libglfw.dylib
[LWJGL] ThreadLocalUtil state: ThreadLocalUtil$UnsafeState
[LWJGL] MemoryUtil accessor: MemoryAccess$MemoryAccessorUnsafe
[LWJGL] 	Loaded from org.lwjgl.librarypath: /var/folders/zc/nd26_9l51lbbfr5sf1l64qfr0000gn/T/lwjglmalou/3.1.0-SNAPSHOT/libglfw.dylib
[LWJGL] Loading library: jemalloc
[LWJGL] 	Using SharedLibraryLoader...
[LWJGL] 	Extracting: /Users/malou/Downloads/Blueprint0021/native/libjemalloc.dylib
[LWJGL] 	Loaded from org.lwjgl.librarypath: /var/folders/zc/nd26_9l51lbbfr5sf1l64qfr0000gn/T/lwjglmalou/3.1.0-SNAPSHOT/libjemalloc.dylib
[LWJGL] MemoryUtil allocator: JEmallocAllocator
[LWJGL] Loading library: objc
[LWJGL] 	Using SharedLibraryLoader...
[LWJGL] 	Extracting: /Users/malou/Downloads/Blueprint0021/native/libobjc.dylib
[LWJGL] 	Loaded from org.lwjgl.librarypath: /var/folders/zc/nd26_9l51lbbfr5sf1l64qfr0000gn/T/lwjglmalou/3.1.0-SNAPSHOT/libobjc.dylib
java.lang.IllegalStateException: GLFW error [0x10007]: NSGL: The targeted version of macOS only supports core profile contexts for OpenGL 3.2 and above
	at org.lwjgl.glfw.GLFWErrorCallback$2.invoke(Unknown Source)
	at org.lwjgl.glfw.GLFWErrorCallbackI.callback(Unknown Source)
	at org.lwjgl.system.JNI.invokePPPP(Native Method)
	at org.lwjgl.glfw.GLFW.nglfwCreateWindow(Unknown Source)
	at org.lwjgl.glfw.GLFW.glfwCreateWindow(Unknown Source)
	at blueprint.opengl.a.c(Unknown Source)
	at blueprint.opengl.a.<init>(Unknown Source)
	at blueprint.opengl.d.<init>(Unknown Source)
	at blueprint.opengl.b.<init>(Unknown Source)
	at blueprint.b.b.a.a(Unknown Source)
	at blueprint.Blueprint.b(Unknown Source)
	at blueprint.Blueprint.initApp(Unknown Source)
	at a.a.start(Unknown Source)
	at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
	at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
	at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
	at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)

@msx80
Copy link

msx80 commented Nov 14, 2016

yes the missing "native" library is intentional, the libs are now inside the JAR. You should not use the "native" from previous build as they're different versions. You can extract the natives from the jar by simply opening it as a ZIP and extracting all the libraries you find in the root. They should be the *.dylib files

@msx80
Copy link

msx80 commented Nov 14, 2016

ok i just noticed that only the windows libraries were included. I'll check it now

@msx80
Copy link

msx80 commented Nov 14, 2016

You can find natives for the last version here: https://drive.google.com/open?id=0BzUUT2x-DvwQQ0E5SDZEbjEyUDg
just put them in a folder and reference it with -Djava.library.path=

Sorry for the inconvenience :)

@lcharette
Copy link
Author

That's what I did before. Got the latest native from the LWJGL website, put them in a folder and reference it with -Djava.library.path=

Same error as the one before your message using your native bundle: NSGL: The targeted version of macOS only supports core profile contexts for OpenGL 3.2 and above

java -cp ./bin/*:./native:/usr/lib -Djava.library.path=./native/ -Dorg.lwjgl.util.Debug=true -Dorg.lwjgl.util.DebugLoader=true blueprint.Blueprint
Operating system detected: MacOS
Starting Blueprint v0021.. Good luck!
Current folder: /Users/malou/Downloads/Blueprint0021
Initializing database..
Database is located in: /Users/malou/.Blueprint/database/brickcache.db
Cache is up to date (1x2248)
[LWJGL] Version: 3.1.0 SNAPSHOT
[LWJGL] 	 OS: Mac OS X v10.12.2
[LWJGL] 	JRE: 1.8.0_112 x86_64
[LWJGL] 	JVM: Java HotSpot(TM) 64-Bit Server VM v25.112-b16 by Oracle Corporation
[LWJGL] Loading library (system): lwjgl
[LWJGL] 	Using SharedLibraryLoader...
[LWJGL] 	Extracting: /Users/malou/Downloads/Blueprint0021/native/liblwjgl.dylib
[LWJGL] 	Loaded from org.lwjgl.librarypath: /var/folders/zc/nd26_9l51lbbfr5sf1l64qfr0000gn/T/lwjglmalou/3.1.0-SNAPSHOT/liblwjgl.dylib
[LWJGL] Loading library: glfw
[LWJGL] 	Using SharedLibraryLoader...
[LWJGL] 	Extracting: /Users/malou/Downloads/Blueprint0021/native/libglfw.dylib
[LWJGL] ThreadLocalUtil state: ThreadLocalUtil$UnsafeState
[LWJGL] MemoryUtil accessor: MemoryAccess$MemoryAccessorUnsafe
[LWJGL] 	Loaded from org.lwjgl.librarypath: /var/folders/zc/nd26_9l51lbbfr5sf1l64qfr0000gn/T/lwjglmalou/3.1.0-SNAPSHOT/libglfw.dylib
[LWJGL] Loading library: jemalloc
[LWJGL] 	Using SharedLibraryLoader...
[LWJGL] 	Extracting: /Users/malou/Downloads/Blueprint0021/native/libjemalloc.dylib
[LWJGL] 	Loaded from org.lwjgl.librarypath: /var/folders/zc/nd26_9l51lbbfr5sf1l64qfr0000gn/T/lwjglmalou/3.1.0-SNAPSHOT/libjemalloc.dylib
[LWJGL] MemoryUtil allocator: JEmallocAllocator
[LWJGL] Loading library: objc
[LWJGL] 	Using SharedLibraryLoader...
[LWJGL] 	Extracting: /usr/lib/libobjc.dylib
[LWJGL] 	Loaded from org.lwjgl.librarypath: /var/folders/zc/nd26_9l51lbbfr5sf1l64qfr0000gn/T/lwjglmalou/3.1.0-SNAPSHOT/libobjc.dylib
java.lang.IllegalStateException: GLFW error [0x10007]: NSGL: The targeted version of macOS only supports core profile contexts for OpenGL 3.2 and above
	at org.lwjgl.glfw.GLFWErrorCallback$2.invoke(Unknown Source)
	at org.lwjgl.glfw.GLFWErrorCallbackI.callback(Unknown Source)
	at org.lwjgl.system.JNI.invokePPPP(Native Method)
	at org.lwjgl.glfw.GLFW.nglfwCreateWindow(Unknown Source)
	at org.lwjgl.glfw.GLFW.glfwCreateWindow(Unknown Source)
	at blueprint.opengl.a.c(Unknown Source)
	at blueprint.opengl.a.<init>(Unknown Source)
	at blueprint.opengl.d.<init>(Unknown Source)
	at blueprint.opengl.b.<init>(Unknown Source)
	at blueprint.b.b.a.a(Unknown Source)
	at blueprint.Blueprint.b(Unknown Source)
	at blueprint.Blueprint.initApp(Unknown Source)
	at a.a.start(Unknown Source)
	at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
	at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
	at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
	at java.security.AccessController.doPrivileged(Native Method)
	at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
	at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)

@lcharette
Copy link
Author

Just realized it's NOT the same issue as before. Before it used to be related to Forward compatibility, now it's related to core profile context : NSGL: The targeted version of macOS only supports core profile contexts for OpenGL 3.2 and above

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment