Skip to Content.

rare-dev - Re: [rare-dev] External commands not found by freerouter

Subject: Rare project developers

List archive


Re: [rare-dev] External commands not found by freerouter


Chronological Thread 
  • From: mc36 <>
  • To: Alexander Gall <>
  • Cc: "" <>
  • Subject: Re: [rare-dev] External commands not found by freerouter
  • Date: Wed, 16 Feb 2022 17:21:47 +0100

hi,

On 2/16/22 17:04, Alexander Gall wrote:
On Wed, 16 Feb 2022 15:30:57 +0100, mc36 <> said:

hi,
On 2/16/22 15:22, Alexander Gall wrote:
Hi

My freerouter instance teminates after "show proc cpu" with

java.lang.NoClassDefFoundError: java/lang/management/ManagementFactory at
logger.listThreads:logger.java:578/userShow.doer:userShow.java:421/userExec.executeCommand:userExec.java:2135/userExec.doCommands:userExec.java:1925/userLineHandler.doExec:userLine.java:810/userLineHandler.run:userLine.java:883/java.lang.Thread.run:Thread.java:832/

I guess it tries to run an external command and doesn't find it. Do
you have a list of all the commands that freerouter would ever try to
call? I need to make sure that all of them are present as Nix
packages.


so the first part of at points to here:
https://github.com/mc36/freeRouter/blob/3c2ac7252f3b08261bfb4d64f3e5c6767ef72e23/src/net/freertr/util/logger.java#L578
and complains no class definition found, which tells me your _jre_ is
incomplete....

Please excuse my ignorance about everything related to java :( Is
this somehow related to what we talked about last year (this is from a
message dating August 16 2021):

imho yesss...


It appears that there are no JREs for Java 9 and later (I read that
this is due to the introduction of the "Java Platform Module System"
in Java 9) and the full JDK is a bit large for a runtime package. But
Nix provides a way to build a "minimal JRE" from a JDK by specifiying
the list of modules to include for the application. I started with the
bare minimum, i.e. only java.base (giving me a nice lean JRE of 44MiB)
and freertr seems to be fine with just that. Can you confirm that
this is all I need or are there any other modules I should include?

yess, the base is enough....

If this is it, what else do I need to add besides "base"? If this is
not the problem, where should I look next?


so with the bump to jre11 minimum and implementation of modules,
the jar itself describes the relations to the other packages:
https://github.com/mc36/freeRouter/blob/master/src/module-info.java
from this, you can safely omit the java.desktop, it's only used if
one issues "test window" through an x session to have a popup...
(back in the days it was added to test the applet drawing functions:)
but instead of hand-listing the modules, if the jar available when you
want to build the custom jre, you could span jdeps to collect at runtime....

regards,
cs



Archive powered by MHonArc 2.6.19.

Top of Page