Linux version of PD on Ubuntu 22.10

For general Protocase Designer questions. Anything and everything about Protocase Designer except support questions.

Moderators: Colin, dronne, mpyne, akirk, mrodden

Post Reply
kirbyn
Posts: 3
Joined: Thu Oct 27, 2022 1:50 pm

Linux version of PD on Ubuntu 22.10

Post by kirbyn »

When I try and start PD, I get the error:

/home/andrew/Downloads/ProtocaseDesigner/jre/bin/java: symbol lookup error: /home/andrew/Downloads/ProtocaseDesigner/natives/occjava/linux-x86_64/libTKV3d.so.7.4.0: undefined symbol: _ZN14Quantity_ColorC1Ev

Any ideas how to fix it?

This is Ubuntu 22.10, fresh install.

openjdk version "11.0.16" 2022-07-19
OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.16+8-post-Ubuntu-0ubuntu1, mixed mode, sharing)

Logfile:

<debug>@com.protocase.files.LoggerFiles.setupLogger []
<debug>@com.protocase.files.LoggerFiles.setupLogger [===============================]
<debug>@com.protocase.files.LoggerFiles.setupLogger [==== JDesigner version 6.0.1 - May,05 ====]
<debug>@com.protocase.files.LoggerFiles.setupLogger [== git branch d44e166bcf7fc06ac736689a53261a6d7b2f6ca3 ==]
<debug>@com.protocase.files.LoggerFiles.setupLogger [== Start at 22-10-27 18:30 ==]
<debug>@com.protocase.files.LoggerFiles.setupLogger [Os: Linux arch: amd64 version: 5.19.0-23-generic]
<debug>@com.protocase.files.LoggerFiles.setupLogger [Default Encoding: UTF-8]
<debug>@com.protocase.files.LoggerFiles.setupLogger [Total Memory: 1024MB Free Memory: 1004MB Max Memory: 12288MB]
<debug>@com.protocase.files.LoggerFiles.setupLogger [available processors: 8]
<debug>@com.protocase.files.LoggerFiles.setupLogger []
<silly>@com.protocase.files.LoggerFiles.setupLogger [Converting Inches to Points using dpi: 93]
<debug>@com.protocase.files.LoggerFiles.setupLogger []
<debug>@com.protocase.files.LoggerFiles.setupLogger [executable dir: /home/andrew/Downloads/ProtocaseDesigner/libs]
<debug>@com.protocase.files.LoggerFiles.setupLogger [program data dir: /home/andrew/Downloads/ProtocaseDesigner/libs/../]
<debug>@com.protocase.files.LoggerFiles.setupLogger [library dir: /home/andrew/Downloads/ProtocaseDesigner/libs/../library]
<debug>@com.protocase.files.LoggerFiles.setupLogger [personal library: /home/andrew/ProtocaseDesigner/UserLibrary]
<debug>@com.protocase.io.NativesLoader.initOcc [Loading Occ natives from: /home/andrew/Downloads/ProtocaseDesigner/libs/../natives/occjava/]


Complete transcript:

andrew@DellPC:~/Downloads/ProtocaseDesigner$ ./ProtocaseDesigner
WARNING: Unknown module: javafx.base specified to --add-opens
WARNING: Unknown module: javafx.graphics specified to --add-opens
WARNING: Unknown module: javafx.graphics specified to --add-opens
WARNING: Unknown module: javafx.graphics specified to --add-opens
WARNING: Unknown module: javafx.graphics specified to --add-opens
WARNING: Unknown module: javafx.graphics specified to --add-opens
WARNING: Unknown module: javafx.graphics specified to --add-opens
WARNING: Unknown module: javafx.base specified to --add-opens
WARNING: Unknown module: javafx.graphics specified to --add-opens
WARNING: Unknown module: javafx.graphics specified to --add-opens
WARNING: Unknown module: javafx.base specified to --add-opens
WARNING: Unknown module: javafx.graphics specified to --add-opens
WARNING: Unknown module: javafx.graphics specified to --add-opens
WARNING: Unknown module: javafx.controls specified to --add-opens
WARNING: Unknown module: javafx.graphics specified to --add-opens
WARNING: Unknown module: javafx.graphics specified to --add-opens
WARNING: Unknown module: javafx.base specified to --add-opens
WARNING: Unknown module: javafx.base specified to --add-opens
WARNING: Unknown module: javafx.controls specified to --add-opens
WARNING: Unknown module: javafx.graphics specified to --add-opens
WARNING: Unknown module: javafx.graphics specified to --add-opens
WARNING: Unknown module: javafx.graphics specified to --add-opens
WARNING: Unknown module: javafx.graphics specified to --add-opens
WARNING: Unknown module: javafx.graphics specified to --add-opens
WARNING: Unknown module: javafx.base specified to --add-opens
WARNING: Unknown module: javafx.graphics specified to --add-opens
WARNING: Unknown module: javafx.base specified to --add-opens
Oct 27, 2022 6:51:53 PM com.sun.javafx.application.PlatformImpl startup
WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @1e88b3c'
Prism pipeline init order: es2 sw
Using Double Precision Marlin Rasterizer
Using dirty region optimizations
Not using texture mask for primitives
Not forcing power of 2 sizes for textures
Using hardware CLAMP_TO_ZERO mode
Opting in for HiDPI pixel scaling
Prism pipeline name = com.sun.prism.es2.ES2Pipeline
Loading ES2 native library ... prism_es2
succeeded.
GLFactory using com.sun.prism.es2.X11GLFactory
(X) Got class = class com.sun.prism.es2.ES2Pipeline
Initialized prism pipeline: com.sun.prism.es2.ES2Pipeline
Maximum supported texture size: 32768
Maximum texture size clamped to 4096
Non power of two texture support = true
Maximum number of vertex attributes = 16
Maximum number of uniform vertex components = 4096
Maximum number of uniform fragment components = 4096
Maximum number of varying components = 124
Maximum number of texture units usable in a vertex shader = 32
Maximum number of texture units usable in a fragment shader = 32
Graphics Vendor: NVIDIA Corporation
Renderer: NVIDIA GeForce GTX 1080/PCIe/SSE2
Version: 4.6.0 NVIDIA 515.65.01
vsync: true vpipe: true
ES2ResourceFactory: Prism - createStockShader: FillPgram_Color.frag
ES2ResourceFactory: Prism - createStockShader: Solid_TextureRGB.frag
/home/andrew/Downloads/ProtocaseDesigner/jre/bin/java: symbol lookup error: /home/andrew/Downloads/ProtocaseDesigner/natives/occjava/linux-x86_64/libTKV3d.so.7.4.0: undefined symbol: _ZN14Quantity_ColorC1Ev

kirbyn
Posts: 3
Joined: Thu Oct 27, 2022 1:50 pm

Re: Linux version of PD on Ubuntu 22.10

Post by kirbyn »

Can anyone help on this, please?

mpyne
Site Admin
Posts: 137
Joined: Mon Nov 14, 2016 11:15 am

Re: Linux version of PD on Ubuntu 22.10

Post by mpyne »

Hello kirbyn,

I think this is the first time I have seen this message. Similar messages on Linux were fixed by removing FreeCad from the system. Do you have FreeCad installed?

Thanks,
Matt

dkonigs
Posts: 7
Joined: Wed Nov 16, 2022 1:23 pm

Re: Linux version of PD on Ubuntu 22.10

Post by dkonigs »

I feel like Protocase Designer is chronically broken on Linux, and the only people testing it are using such clean systems that they never notice or address the issues. If they're testing it at all.

That being said, the problem with the latest version seems to be library path prioritization. They bundle a whole bunch of libraries with the app, but don't set the library lookup paths to prioritize their versions over the versions included with the operating system. So if you have versions of certain libraries installed as part of the OS (like what happens if you install FreeCAD, as a common example), it defaults to those and crashes.

For the current version, I was able to get it to run with the following command sequence:

Code: Select all

$ cd /opt/ProtocaseDesigner
$ LD_LIBRARY_PATH=/opt/ProtocaseDesigner/natives/occjava/linux-x86_64 ./ProtocaseDesigner
You can probably wrap this up in a script, but the key is to make sure "/opt/ProtocaseDesigner/natives/occjava/linux-x86_64" has priority over any system library paths when running the app. If the launcher was designed correctly, it would already be doing this for you, but apparently it isn't.

mpyne
Site Admin
Posts: 137
Joined: Mon Nov 14, 2016 11:15 am

Re: Linux version of PD on Ubuntu 22.10

Post by mpyne »

Hello dkonigs,

I agree the linux build isn't a priority and mainly works on fresh and clean installs.

Thanks for the potential fix.

Matt

kirbyn
Posts: 3
Joined: Thu Oct 27, 2022 1:50 pm

Re: Linux version of PD on Ubuntu 22.10

Post by kirbyn »

I don't have Freecad installed.

Stock Ubuntu with KiCAD 6.0.8, Inkscape, VS Code, Steam.

I tried:

$ cd ~/Downloads/ProtocaseDesigner

$ LD_LIBRARY_PATH=~/Downloads/ProtocaseDesigner/natives/occjava/linux-x86_64

(I checked - this path exists and has a libTKV3d.so.7.34.0 file present)

$ ./ProtocaseDesigner

...and I got the same error:

home/andrew/Downloads/ProtocaseDesigner/jre/bin/java: symbol lookup error: /home/andrew/Downloads/ProtocaseDesigner/natives/occjava/linux-x86_64/libTKV3d.so.7.4.0: undefined symbol: _ZN14Quantity_ColorC1Ev

mpyne
Site Admin
Posts: 137
Joined: Mon Nov 14, 2016 11:15 am

Re: Linux version of PD on Ubuntu 22.10

Post by mpyne »

Hey kirbyn,

Based on dkonigs potential fix.

Download the latest version of PD https://www.protocasedesigner.com/downl ... ?format=11

Open a terminal and run the following.
cd /opt/ProtocaseDesigner
cd LD_LIBRARY_PATH=/opt/ProtocaseDesigner/natives/occjava/linux-x86_64 ./ProtocaseDesigner

Let me know if that works.

Matt

dkonigs
Posts: 7
Joined: Wed Nov 16, 2022 1:23 pm

Re: Linux version of PD on Ubuntu 22.10

Post by dkonigs »

Just to clear up some confusing, its perhaps best to explain how environment variables get applied when running something on the command line:

This sets FOOVAR in the shell, but does not export it for any command subsequently launched. It will not be in the environment for "someapp":

Code: Select all

$ FOOVAR=123
$ ./someapp

This sets FOOVAR in the shell, and does export it. It will be in the environment for "someapp", and anything else launched from within that same shell:

Code: Select all

$ export FOOVAR=123
$ ./someapp

This sets FOOVAR in the environment for just "someapp". It will be in the environment for "someapp", but won't be in the environment for any other commands:

Code: Select all

$ FOOVAR=123 ./someapp

In other words, that linebreak you put between the two commands caused it to not work correctly.

mpyne
Site Admin
Posts: 137
Joined: Mon Nov 14, 2016 11:15 am

Re: Linux version of PD on Ubuntu 22.10

Post by mpyne »

dkonigs, that clarifies it. Good thing to know about. Thank you.

Post Reply