OpenRocket on Linux?

The Rocketry Forum

Help Support The Rocketry Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

blackbrandt

That Darn College Student
Joined
Mar 18, 2012
Messages
9,281
Reaction score
60
Hello all,

Still a bit new to the Linux field, so sorry for what probably is a stupid question. :)

I downloaded OpenRocket, and according to the software manager, OpenRocket is installed. But I can't find it anywhere on my system.

I'm on Linux Mint 18.1, Cinnamon desktop.

Any ideas? Thanks!
 
Code:
/var/lib/dpkg/info/openrocket.md5sums
/var/lib/dpkg/info/openrocket.prerm
/var/lib/dpkg/info/openrocket.postinst
/var/lib/dpkg/info/openrocket.postrm
/var/lib/dpkg/info/openrocket.list
/var/cache/apt/archives/openrocket_15.03_all.deb
/media/matt/StorageDrive/Documents/Rocket Stuff/Openrocket Files/OpenRocket-15.03.jar
/media/matt/StorageDrive/School 2016-2017 Spring/Comp Physics/Python Scripts/Final Project/openrocket_file.PNG
/usr/share/app-install/desktop/openrocket:openrocket.desktop
/usr/share/pixmaps/openrocket.xpm
/usr/share/applications/openrocket.desktop
find: ‘/run/user/1000/gvfs’: Permission denied
/home/matt/Desktop/OpenRocket/net/sf/openrocket/preset/xml/OpenRocketComponentSaver$3.class
/home/matt/Desktop/OpenRocket/net/sf/openrocket/preset/xml/OpenRocketComponentSaver$2.class
/home/matt/Desktop/OpenRocket/net/sf/openrocket/preset/xml/OpenRocketComponentSaver$1.class
/home/matt/Desktop/OpenRocket/net/sf/openrocket/preset/xml/OpenRocketComponentDTO.class
/home/matt/Desktop/OpenRocket/net/sf/openrocket/preset/xml/OpenRocketComponentLoader.class
/home/matt/Desktop/OpenRocket/net/sf/openrocket/preset/xml/OpenRocketComponentSaver.class
/home/matt/Desktop/OpenRocket/net/sf/openrocket/document/OpenRocketDocumentFactory.class
/home/matt/Desktop/OpenRocket/net/sf/openrocket/document/OpenRocketDocument.class
/home/matt/Desktop/OpenRocket/net/sf/openrocket/gui/main/OpenRocketClipboard.class
/home/matt/Desktop/OpenRocket/net/sf/openrocket/gui/print/OpenRocketPrintable.class
/home/matt/Desktop/OpenRocket/net/sf/openrocket/startup/OpenRocket.class
/home/matt/Desktop/OpenRocket/net/sf/openrocket/file/openrocket/OpenRocketSaver.class
/home/matt/Desktop/OpenRocket/net/sf/openrocket/file/openrocket/importt/OpenRocketLoader.class
/home/matt/Desktop/OpenRocket/net/sf/openrocket/file/openrocket/importt/OpenRocketHandler.class
/home/matt/Desktop/OpenRocket/net/sf/openrocket/file/openrocket/importt/OpenRocketContentHandler.class
/home/matt/Downloads/OpenRocket-15.03.jar
/home/matt/.local/share/Trash/files/net/sf/openrocket/preset/xml/OpenRocketComponentSaver$3.class
/home/matt/.local/share/Trash/files/net/sf/openrocket/preset/xml/OpenRocketComponentSaver$2.class
/home/matt/.local/share/Trash/files/net/sf/openrocket/preset/xml/OpenRocketComponentSaver$1.class
/home/matt/.local/share/Trash/files/net/sf/openrocket/preset/xml/OpenRocketComponentDTO.class
/home/matt/.local/share/Trash/files/net/sf/openrocket/preset/xml/OpenRocketComponentLoader.class
/home/matt/.local/share/Trash/files/net/sf/openrocket/preset/xml/OpenRocketComponentSaver.class
/home/matt/.local/share/Trash/files/net/sf/openrocket/document/OpenRocketDocumentFactory.class
/home/matt/.local/share/Trash/files/net/sf/openrocket/document/OpenRocketDocument.class
/home/matt/.local/share/Trash/files/net/sf/openrocket/gui/main/OpenRocketClipboard.class
/home/matt/.local/share/Trash/files/net/sf/openrocket/gui/print/OpenRocketPrintable.class
/home/matt/.local/share/Trash/files/net/sf/openrocket/startup/OpenRocket.class
/home/matt/.local/share/Trash/files/net/sf/openrocket/file/openrocket/OpenRocketSaver.class
/home/matt/.local/share/Trash/files/net/sf/openrocket/file/openrocket/importt/OpenRocketLoader.class
/home/matt/.local/share/Trash/files/net/sf/openrocket/file/openrocket/importt/OpenRocketHandler.class
/home/matt/.local/share/Trash/files/net/sf/openrocket/file/openrocket/importt/OpenRocketContentHandler.class

The .jar in my downloads folder just opens up the file extractor tool.
 
Have you gone into the properties and configured it to run as an executable? That's the one weird thing you need to do as far as I know.
 
Got it!

For future people searching, solution:

1. Find file (mine was in ~/Downloads/)
2. Open terminal at location of file.
3. Run command sudo chmod +x filename
4. Right click on OpenRocket in file manager, and run it with the Java RunTime environment.
5. ?
6. Profit $$
 
I created the executable file "openrocket" in ~/bin (which is in my search path) which contains:
Code:
#! /bin/bash
java -jar ~/bin/OpenRocket.jar

To run, I just type "openrocket" in a terminal window.
 
Seems like this thread is over two years old, but I've just run into problems trying to install on Linux Mint 19.1 with Cinnamon 64-bit.

Attempts to install using apt-get fail with a wget error. Manually downloading the .jar file and running with java -jar OpenRocket-15.03.jar show the splash logo, but then die with an "illegal reflective access operation has occurred" error in the xterm window and a bug report with the info in the attached file, openrocket-err.txt and the command line error report is as follows:

$ java -jar /usr/lib/openrocket/OpenRocket-15.03.jar
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$2 (file:/usr/lib/openrocket/OpenRocket-15.03.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$2
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
 

Attachments

  • openrocket-err.txt
    28.1 KB · Views: 30
Works fine for me. Fedora 30 and:

java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

No errors or warnings.
 
Interesting. Evidently, I have a *much* later version than you do.

$ java -version
openjdk version "11.0.4" 2019-07-16
OpenJDK Runtime Environment (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3)
OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3, mixed mode, sharing)


When I try to install via apt-get:

$ sudo apt-get install openrocket
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
libwine-development linux-headers-4.15.0-54 linux-headers-4.15.0-54-generic
linux-image-4.15.0-54-generic linux-modules-4.15.0-54-generic
linux-modules-extra-4.15.0-54-generic wine64-development
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
openrocket
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/8,884 B of archives.
After this operation, 98.3 kB of additional disk space will be used.
Selecting previously unselected package openrocket.
(Reading database ... 555873 files and directories currently installed.)
Preparing to unpack .../openrocket_15.03_all.deb ...
Unpacking openrocket (15.03) ...
Setting up openrocket (15.03) ...
options : --install --fast --verbose --
temporary directory: /tmp/openrocket.efuEAn5xAg
selected action = --install
installed version =
upstream version = release-15.03
wgetoptions= -nd -P . -v --progress=dot:default -t 3 -T 15
downloading navbar_download_button
https://github.com/openrocket/openrocket/releases/download/release-15.03/OpenRocket-15.03.jar...
--2019-08-25 20:45:40-- https://navbar_download_button/
Resolving navbar_download_button (navbar_download_button)... failed: Name or service not known.
wget: unable to resolve host address ‘navbar_download_button’
--2019-08-25 20:45:40-- https://github.com/openrocket/openrocket/releases/download/release-15.03/OpenRocket-15.03.jar
Resolving github.com (github.com)... 140.82.114.4
Connecting to github.com (github.com)|140.82.114.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-production-release-a...esponse-content-type=application/octet-stream [following]
--2019-08-25 20:45:41-- https://github-production-release-a...esponse-content-type=application/octet-stream
Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.93.59
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.93.59|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 22211882 (21M) [application/octet-stream]
Saving to: ‘./OpenRocket-15.03.jar’

0K .......... .......... .......... .......... .......... 0% 1.99M 11s
<snip>
21650K .......... .......... .......... .......... . 100% 27.6M=1.1s

2019-08-25 20:45:42 (19.4 MB/s) - ‘./OpenRocket-15.03.jar’ saved [22211882/22211882]

FINISHED --2019-08-25 20:45:42--
Total wall clock time: 1.8s
Downloaded: 1 files, 21M in 1.1s (19.4 MB/s)
cleaning up temporary directory /tmp/openrocket.efuEAn5xAg ...
ERROR: wget failed to download
Processing triggers for desktop-file-utils (0.23+linuxmint5) ...
Processing triggers for menu (2.1.47ubuntu2.1) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Processing triggers for gnome-menus (3.13.3-11ubuntu1.1) ...
Processing triggers for mime-support (3.60ubuntu1) ...
 
Interesting. Evidently, I have a *much* later version than you do.
I'm on Ubuntu 16.04 and Java 1.8 and OR works fine. From the error messages it seems like something in later versions of OpenJDK broke it. I didn't even know there was a version later than 1.8 (also known as just 8 and now they're up to 11.) I'd try to install an older version of Java if possible. Maybe sudo apt install openjdk-8-jdk will work.
 
So it seems like in Ubuntu 18.04 and later the apt-get for Openrocket is broken, and OR is broken itself with JDK 11. Over on my test machine, I downloaded the OpenRocket jar file and did an sudo apt-get purge openjdk-\* to get rid of OpenJDK 11, then did an sudo apt-get install openjdk-8-jdk and finally a java -jar OpenRocket-15.03.jar and it seems to be working.

You'd think with all the effort to make Java "portable" things like this wouldn't happen. Sigh.
 
Hmmm...

So, hunting around with a thoughtfully crafted "find" command reveals /usr/lib/jvm/java-8-openjdk-amd64/bin/java. So, using the command line:

$ /usr/lib/jvm/java-8-openjdk-amd64/bin/java -jar /usr/lib/openrocket/OpenRocket-15.03.jar

Eureka! I found my workaround!

Now, if the OpenRocket devs will just update to Java 11 compatibility...[grin]
 
Now, if the OpenRocket devs will just update to Java 11 compatibility...[grin]
The source code is all out there, maybe all it would take is a recompile. I have no idea what the difference between Java 8 and Java 11 even is, you'd think they would have backward compatibility but that sort of thing seems to have gone out the window (says this old, cranky software engineer who cut his teeth on a PDP-11.)
 
There were syntactical changes between v8 and v11. Some of the code would have to be updated or re-written. I love OR but I hate Java and I hate the JVM.
 
Now, if the OpenRocket devs will just update to Java 11 compatibility...[grin]
If anyone does this, it would be nice if it was done in such a way that every existing Java 8 and below install doesn't have to be updated to 11. There's something called a "multi-release jar" that could be used.

I've done a little looking into this and all it's done is reinforce my desire to stay the heck away from Java. BTW, those warning messages about illegal reflexive access are supposed to just encourage you to make your code use approved APIs, they are still supposed to work; I'm not sure what's actually going on.
 
The apt-get version of OR downloads just fine, but it won't run. I had to download a version and save it on the desktop and I can run that.
 
Looks like an old post but I installed Linux last night, updated it today, added the Java 8 and Open Rocket still wont open
I keep getting this.......

Screenshot from 2020-01-12 14-38-09.png

I've allowed OR as an executable, Java 8 is trying to open it but no luck so far.
Any ideas???
Is the "bug" in the OR software, the Linux software or me???
Linux is new to me but I like it so far.
 
Try the AppImage version. Solves all the problems you're encountering and is very portable in Linux.

Bada-Bing!!!
That worked!
It does look a little more "primitive" and doesn't have the "Browse" button, but once I pasted my OR files over to my Linux desktop, they came up in the "select window".... Just select then open!!!
Still have to play with OR in Linux to see how well it works, but IT WORKS!!!
Thank you Sir John "Linux" Kemker!!!!
MUCH OBLIGED!!!!
Looking so forward to see Windows disappearing in my rear view mirror!
 
Bada-Bing!!!
That worked!
It does look a little more "primitive" and doesn't have the "Browse" button, but once I pasted my OR files over to my Linux desktop, they came up in the "select window".... Just select then open!!!
Still have to play with OR in Linux to see how well it works, but IT WORKS!!!
Thank you Sir John "Linux" Kemker!!!!
MUCH OBLIGED!!!!
Looking so forward to see Windows disappearing in my rear view mirror!
Awww, shucks!

[grin]

Been running Linux on my home machines for quite some time, now. At least 20 years. Still, I learn something new all the time. Currently working on my RHCSA/RHEL8 certification. I take the test this coming Friday. Wish me luck!
 
Was wondering what you meant by the "Browser button." I looked in both the AppImage version and the .jar image and didn't see anything that looked like what you were referring to. The only thing I can think of that might fit is the button in the Linux version of the "Start" button. What I did was create a menu item that pointed to the AppImage file and used the icon from the OpenRocket git repository for the menu item.
 
If this solution isn't already there, consider posting it in Neil's "Executables and methods to solve your OpenRocket problems" thread stickied here
 
Back
Top