The main site of DCEVM didn't clearly explain how to install DCEVM on Linux. Running "java -jar installer.jar" in Linux (when accessed via PuTTy) gave me the following exception.
[admin#LINUXBOX jdk1.7.0_55]$ java -jar DCEVM-full-7u79-installer.jar
java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207)
at java.awt.Window.<init>(Window.java:535)
at java.awt.Frame.<init>(Frame.java:420)
at javax.swing.JFrame.<init>(JFrame.java:224)
at com.github.dcevm.installer.MainWindow.<init>(MainWindow.java:43)
at com.github.dcevm.installer.Main.main(Main.java:46)
Exception in thread "main" java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:207)
at java.awt.Window.<init>(Window.java:535)
at java.awt.Frame.<init>(Frame.java:420)
at java.awt.Frame.<init>(Frame.java:385)
at javax.swing.SwingUtilities$SharedOwnerFrame.<init>(SwingUtilities.java:1757)
at javax.swing.SwingUtilities.getSharedOwnerFrame(SwingUtilities.java:1832)
at javax.swing.JOptionPane.getRootFrame(JOptionPane.java:1697)
at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:863)
at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:667)
at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:638)
at com.github.dcevm.installer.Main.main(Main.java:51)
If required, I am also ready to use a Virtual Box installed Desktop Linux to try it, which then I can copy (patched JDK) into my original Linux box thereafter.
So, how can I install DCEVM on Linux (for Java 7)? Do I need a Desktop-based Linux for that?
EDIT:
Here's the output of few commands suggested by the first answer by Sharad:
[admin#TESTBEDPEGSEARCH jdk1.7.0_55]$ echo $DISPLAY
[admin#TESTBEDPEGSEARCH jdk1.7.0_55]$ java -version
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)
EDIT2:
I am using DCEVM in Windows for quite a long time.
echo $DISPLAY should print :0 . If it is not printing :0 Then you should set display variable using this command "export DISPLAY=127.0.0.1:0.0" . I hope it will work
Step 1:--Check for the display variable set on your machine using echo
echo $DISPLAY
ensure It is set on :0
Step 2:-Check for your JAVA version Using
java -version
My Centos machine is reflecting:--
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
Step 3:-- I run java -jar DCEVM-full-7u79-installer.jar command
It works for me.
The DISPLAY variable is only set when a X11 session is active. When you login on a remote machine with ssh, this usually is not the case.
There are two possible solutions:
install a X server on Windows (e.g. XMing) and enable X11 forwarding in your Putty session (Connection > SSH > X11). This will show the installer on your Windows PC.
log in on the Linux host in a graphical session, this will automatically set the DISPLAY variable.
Note: I have not installed this but i happened to find a guide with video which may help you.
Please read the section with this heading Install DCEVM to hot redeploy more complicated changes
https://vaadin.com/blog/-/blogs/getting-started-with-vaadin-development-using-eclipse-maven
Related
I have the following installed on Ubuntu 18.04.1 LTS:
openjdk version "10.0.2" 2018-07-17
OpenJDK Runtime Environment (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.1)
OpenJDK 64-Bit Server VM (build 10.0.2+13-Ubuntu-1ubuntu0.18.04.1, mixed mode)
javafx.runtime.version=8.0.161
javafx.runtime.build=b00
However I try to run the sample java application that uses javafx I get the following error:
$ java -jar Untitled.jar
Error: JavaFX runtime components are missing, and are required to run this application
I have tried to run it in Eclipse, Intelli, and in the terminal with the same error.
I have set the classpath
:~$ echo $CLASSPATH
/usr/share/java/openjfx/jre/lib/ext/jfxrt.jar:.
I have copied all of the javafx files to the current directory.
I have tried everything I can find on the internet.
Does anyone know how to fix this?
On Ubuntu 18.04 with openjdk-11-jre and openjfx installed you could use:
% java --module-path /usr/share/openjfx/lib --add-modules ALL-MODULE-PATH \
-jar Untitled.jar
There is more information on how to run JavaFX programs at the openjfx.io site.
The problem appears on Linux CentOS 7 server. The service jira will start | stop but when I try to run config.sh I get an error, check-java.sh gives the same error .
The error reads like this:
No JRE_HOME or JAVA_HOME environment variable is set - attempting to just run java command
********** Wrong JVM version! You are running with .. but JIRA requires at least 1.8 to run. **********
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
When Running alternatives --config java I get the following:
There is 1 program that provides 'java'.
Selection Command
-----------------------------------------------
*+ 1 java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/bin/java)
Enter to keep the current selection[+], or type selection number:
The solutions tried were:
Modified /etc/environment JAVA_HOME to suit the location of java from jira's default setenv.sh location JAVA_HOME="/opt/atlassian/jira/jre/"; export JAVA_HOME. This solution makes service jira start | stop stop working.
Modified /etc/environment blindly to use every folder from /usr/lib/jvm
java
java-1.8.0
java-1.8.0-openjdk
java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
java-openjdk
jre
jre-1.8.0
jre-1.8.0-openjdk
jre-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
jre-openjdk
Tried to update Java but Package 1:java-1.8.0-openjdk-devel-1.8.0.151-1.b12.el7_4.x86_64 already installed and latest version
Nothing to do.
The answer to the problem is comes like this.
Use the path JAVA_HOME="/opt/atlassian/jira/jre/" in /etc/environment
Command source /etc/environment to update the PATH
Do your business.
If to edit 'check-java.sh' file as follows:
java_version=14
echo $java_version
if [ $java_version -ne 8 ] && [ $java_version -ne 11 ] && [ $java_version -ne 14 ]
then
Jira v.8.4.1 is available for computations for Apple macOS Mojave 10.14.6 as in the local early access experiment for Java 14-ea.
After each update event of Jira version OR update event of Java JVM version (in case of update by substituting the whole either software folder) 'check-java.sh' file is better to be updated in those cases as well (also for automation scripts).
This approach with hard coding of the JVM version value for Jira script allows to run Jira version (at least 8.4.1) via newer JVM versions in experimental mode and along with other software as well at single JVM not only limited by and supported by 1.8 or 11 JVM versions without need to install and to maintain two several JVM versions (in case of folder installations) in experimental mode, if other software can use newer JVM, so more Jira data backups are better to apply in small data scoped setting in such mode of usage.
I'm trying to setup Pycharm professional edition on Fedora 25 x64.
After downloading the files and extracting them, I'm trying to run the script ./pycharm.sh in the bin directory.
This is the error I get:
Startup Error: Unable to detect graphics environment
I have checked my Java version
[root#localhost bin]# java -version
openjdk version "1.8.0_144"
OpenJDK Runtime Environment (build 1.8.0_144-b01)
OpenJDK 64-Bit Server VM (build 25.144-b01, mixed mode)
I tried as well to set the DISPLAY variable:
export DISPLAY=:0
And this is what I get:
[root#localhost bin]# ./pycharm.sh
No protocol specified
Start Failed: Failed to initialize graphics environment
java.awt.AWTError: Can't connect to X11 window server using ':0' as the value of the DISPLAY variable.
Any suggestions please ?
I had the same error installing in a clean Ubuntu 17.10, with Gnome on Wayland. At #mattdm's suggestion in your comments, I just opened a new terminal (as myself, not root) and it ran fine. I was running as root (after unpacking everything to /opt/) when I got the error.
mike#feynman:~$ /opt/pycharm/bin/pycharm.sh
Once you register/activate, just click the "* Configure v" pulldown from the welcome window, and select "Create Desktop Entry" to make it available from your OS menus. I'm assuming JetBrains made this work for whichever linux flavor you prefer.
Your X environment is not properly set (manually setting DISPLAY doesn't always work). Possibly because you're attempting this as root and root is not the owner of the graphics session. There could be other reasons, too.
You won't be able to run xclock or any other X app either in this situation - this is the clue that it's not a pycharm-related problem. For example if you ssh to localhost as root, not as the user currently logged in into the graphical session:
laptop:~ # ssh localhost
Password:
Last login: Thu Nov 23 22:19:06 2017 from localhost
Have a lot of fun...
laptop:~ # export DISPLAY=:0
laptop:~ # xclock
No protocol specified
Error: Can't open display: :0
laptop:~ # konsole
No protocol specified
Segmentation fault
laptop:~ # pycharm
OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=350m; support was removed in 8.0
No protocol specified
Start Failed: Failed to initialize graphics environment
You'd also see the same behaviour if you attempt the same in a text-mode console.
To address this issue open a new terminal from the graphics environment - if it is properly installed you should be able to run any of the X apps, including pycharm (or at least it shouldn't fail with that error).
In fedora
I have installed pycharm using fedy. This is worked.
Or change to a another user and try except root.
Phpstrom, Webstrom, PyCharm
Above three of them worked same like that.
In my case I am runing pycharm through docker, which is different host, run command xhost + , this would disable access control and client would be able to connect from any host.
Try running the program from another user instead of root. It worked for me.
I used OpenJDK instead of Oracle Java, because PyCharm hangs on Raspberry Pi.
In the file /etc/java-8-openjdk/accessibility.properties, disabling the entry assistive_technologies (simply comment out with a #) solved the issue.
This is what resolved my issue:
export DISPLAY='localhost:11'
I downloaded the 32-bit eclipse for my 32-bit fedora 12. I extracted the tar.gz without any error. But when i click on the eclipse executable, i am getting the error:
"Failed to load the JNI shared library "/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0/jre/bin/../lib/i386/client/libjvm.so"
"
I am not able to resolve this error. Please inform how to proceed.
Regards,
Go to your eclipse folder
Open eclipse.ini file and check if there is -vm option set properly
Else set -vm in one line followed by your jdk installed bin folder.
Hope this helps yo solve your problem.
I'd suggest avoiding OpenJDK, as Eclipse will keep complaining about it.
So, navigate to http://java.com/en/download/manual.jsp and download appropriate Sun's Java package (32 or 64 bit, depending on your current installation). As Fedora uses RPMs for package management, I advise to use that method.
Then, after installation, run java -version in terminal, you should get something like:
$ java -version
java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
Java HotSpot(TM) Client VM (build 17.1-b03, mixed mode, sharing)
I have problems with JRE on Linux Debian 5.
JRE (sun 1.6 21) crash with SIGBUS on Debian 5 (kernel 2.6.26) during TEE-CLC java application execute.
TEE-CLC-10.1.0 is a java client application for Microsoft Team Foundation Server (TFS).
Here is the java virtul mashine command line:
exec java -Xmx512M -classpath
"$CLC_CLASSPATH" "-Dcom.microsoft.tfs.jni.native.base-directory=$BASE_DIRECTORY/native"
$RANDOM_DEVICE_PROPERTY com.microsoft.tfs.client.clc.vc.Main "$#"
When I try to execute the command (get files from server): tf get -r -force {branch_name} it start getting files and then minute or two later craches with the following error message:
A fatal error has been detected by the Java Runtime Environment:
SIGBUS (0x7) at pc=0xb77d3422, pid=29386, tid=3076802752
JRE version: 6.0_21-b06
Java VM: Java HotSpot(TM) Client VM (17.0-b16 mixed mode linux-x86 )
Problematic frame:
C [+0x422] __kernel_vsyscall+0xe
An error report file with more information is saved as:
/...../..../...../hs_err_pid29386.log
Segmentation fault.
I have about 900M free memory. I have checked limits: ulimit -a .
I have three other Linux Debian 5 computers and they works fine with the same settings.
I have checked everything . I don' t know why JRE don't work properly.
Does anybody have any idea how to handle it? What is wrong with JRE or with my Debian 5?
In my experience it is rare to get a faulty program to fail with a SIGBUS: error checking by compilers makes it hard to generate an odd memory address. The few times I've seen them recently was (IIRC) because I was using an incompatible shared library or .o file.
Is the LD_LIBRARY_PATH environment variable set for the executing program? If so, it might be causing the program to use an incorrect shared library.