I have installed openjdk 1.8,
But an application that uses java says JVM is needed to its install and JVM is not found or available.
Does anybody knows why JVM is not found? Is there another package to install? Could it be just a matter of proper configuration? Or could it be that JVM is found in a different place and the application does not know it?
The application recommends downloading JVM from another site. Is it really necessary?
Thanks in advance
Adelson could you post the exact error and package your having problems with? First thing to check is if you have java-1.8.0 or java-1.7.0 enabled with ‘update-alternatives’. It may be an incorrect path or a syntax issue.
Why I think it may be path or syntax issue is:
# update-alternatives --config java
update-alternatives: warning: /etc/alternatives/java has been changed (manually or by a script); switching to manual updates only
There is 1 choice for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
0 /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java 1800101 auto mode
1 /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java 1800101 manual mode
Press <enter> to keep the current choice[*], or type selection number: 0
update-alternatives: using /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java to provide /usr/bin/java (java) in auto mode
does show we have /usr/lib/jvm so it’s maybe where that package is looking for jvm?
If not it may be possible to install Sun JRE package from Sun or Oracle website.
Edit: Note ‘update-alternatives --config java’ will issue a list of errors about ‘/usr/share/man/man1/’ to my knowledge that’s manual pages and doesn’t affect whether java does it’s job.
First of all, thanks for your helps,
The package is provided by government for income tax purposes …
The package instructions/requirements explicitly mention openjdk 1.7 or above.
I have only openjdk 1.8 installed.
I had already tried
$ update-alternatives --config java
and it returns exactly what you’ve shown in the last post. I choosed “0”, the auto mode.
Then, I thought other OMV java packages should be installed. I tried, one at a time,
Sorry, I’ve sent too earlier, resuming…
the attempt to install these two packages did not help with the JVM problem.
Finally, the exact message is in Portuguese. The essential could be translated as only this,
“Installation requires a JVM and it was not found. You’ll be redirected to a site from where you can download it …”
The government also offers another optional package with a .jar application that seems to work fine with
$ java -jar app.jar
No installation is done in this case but I can use it. However, it is preferable the installing option since it also provides other facilities like reading old files, creating new directories, and so on
The point is this Our jvm is located in ‘/usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java’ but the government income tax package is probably looking for jvm via a different path. So if you know where that is looking for jvm you could create a symbolic link between the 2 different paths. Normally for most applications the error message will tell where it is looking for jvm. hopes this makes sense.
Maybe it makes sense. By now, I’ve found that the program creates at /tmp a directory with its executables for installation and it seems that the absence of JVM is detected by error messages after launching applications like
Then it may also be that openjdk and oracle’s java are different somehow. Oracle’s free version (openjdk) may lack some tricks …
Since, government won’t accept my excuses not to paying income taxes due to my preference for open source software, I am trying the other option (although less flexible) which does not require the proprietary codes …
Whatever the source of the problem and its solution I’ll post it here.
java-1.8.0-openjdk-src --> Java sources
java-1.8.0-openjdk-devel --> Java development tools (for build jars)
I think you need none of these.
If you think something is missing alternatives you may try to re-install java packages:
About your app, I think is has a launcher which set JVM path before to launch it. Usually this kind of launchers are written in some script languages (bash/python/perl), but not in java itself of course, so you may inspect it to know where it looks for JVM. Also usually there are some environment variable (for instance JAVA_HOME) help you to modify their behaviour without touch it.
About the search or definition of JVM path, we (me and a friend) have tried to watch the app’s inside but it is not a script. No help with midnight commander or “less”.
I also thought the lack of some xdg support could be misinterpreted by the app as a JVM problem but I have all the xdg commands available at the system.
Finally, I’ve found a bug report,
where it is pointed out a kind of “incompatibility” between java and xdg commands …
But so far no luck.
I have two options: installing the oracle java (not openjdk) or using the less flexible package which do everything but leaving my directories as organized as I would it to be.
I’ll use the less flexible option and let the organization to be done “manually”.
Once more, many thanks