Skip to content

Using P2D outside the PDE #537

Closed
Closed
@processing-bot

Description

Created by: clankill3r

I kind of find a solution for what I'm going to post, but since it took me over 3 hours I will post something about it anyway so it might help someone in the future.

If you want to use processing outside the PDE (like eclipse, intellij or vscode) you need to point to the core.jar.
If you want to use P2D or P3D you used to add the following jars that could be found inside the processing application:

Screenshot 2022-08-16 at 21 35 30

This was at least true till Processing 3.5.4 inclusive.

If you look at how this folder (Contents/Java/core/library) now, then you see the following:

Screenshot 2022-08-16 at 21 43 11

If you use those files in another editor then you get the following stacktrace (you have to use P2D / P3D).

java.lang.UnsatisfiedLinkError: Can't load library: /Users/dw/Desktop/processing_does_not_run_anymore/natives/macosx-universal/gluegen_rt
        at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2393)
        at java.base/java.lang.Runtime.load0(Runtime.java:755)
        at java.base/java.lang.System.load(System.java:1953)
        at com.jogamp.common.jvm.JNILibLoaderBase.loadLibraryInternal(JNILibLoaderBase.java:625)
        at com.jogamp.common.jvm.JNILibLoaderBase.access$000(JNILibLoaderBase.java:64)
        at com.jogamp.common.jvm.JNILibLoaderBase$DefaultAction.loadLibrary(JNILibLoaderBase.java:107)
        at com.jogamp.common.jvm.JNILibLoaderBase.loadLibrary(JNILibLoaderBase.java:488)
        at com.jogamp.common.os.DynamicLibraryBundle$GlueJNILibLoader.loadLibrary(DynamicLibraryBundle.java:427)
        at com.jogamp.common.os.Platform$1.run(Platform.java:321)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
        at com.jogamp.common.os.Platform.<clinit>(Platform.java:290)
        at com.jogamp.nativewindow.NativeWindowFactory$1.run(NativeWindowFactory.java:239)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
        at com.jogamp.nativewindow.NativeWindowFactory.<clinit>(NativeWindowFactory.java:236)
        at com.jogamp.newt.NewtFactory$1.run(NewtFactory.java:69)
        at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
        at com.jogamp.newt.NewtFactory.<clinit>(NewtFactory.java:66)
        at processing.opengl.PSurfaceJOGL.initIcons(PSurfaceJOGL.java:475)
        at processing.opengl.PSurfaceJOGL.initFrame(PSurfaceJOGL.java:147)
        at processing.core.PApplet.initSurface(PApplet.java:10315)
        at processing.core.PApplet.runSketch(PApplet.java:10221)
        at processing.core.PApplet.main(PApplet.java:9997)
        at processing.core.PApplet.main(PApplet.java:9969)
        at test.Test.main(Test.java:8)

I keep it short from here on, I found this topic:

https://forum.jogamp.org/Gluegen-rt-Can-t-find-Natives-on-Eclipse-td4038593.html

Which had the following answer:

Hey

Try to use jogamp-fat.jar instead. If it doesn't work, it probably means that your version of OS X is too old. Mac OS X Lion is terribly outdated and supporting OS X in general is sometimes a nightmare, we do our best.

So I downloaded jogamp-fat.jar from:
https://jogamp.org/deployment/archive/rc/v2.4.0-rc-20210111/fat/

and removed everything till I only have those 2 files:

Screenshot 2022-08-16 at 21 59 52

Also looking at build.xml, I wonder if it wouldn't be easier if processing would use this jar instead as well. It could almost half the amount of lines in build.xml.

Activity

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

Metadata

Assignees

No one assigned

    Labels

    has attachmentAttachment was not transfered from GitLab

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions