Bug 15390 - Problem with Java libraries used by scilab
Summary: Problem with Java libraries used by scilab
Status: RESOLVED WORKSFORME
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 4
Hardware: x86_64 Linux
Priority: Normal major
Target Milestone: ---
Assignee: Claire Revillet
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-03-01 17:46 CET by mtm spm
Modified: 2015-03-23 09:22 CET (History)
0 users

See Also:
Source RPM:
CVE:
Status comment:


Attachments

Description mtm spm 2015-03-01 17:46:18 CET
$ scilab
/usr/bin/scilab-bin: error while loading shared libraries: libjava.so: cannot open shared object file: No such file or directory

============ Step 1

$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.1.mga4.x86_64/jre/lib/amd64/ 

$ scilab
/usr/bin/scilab-bin: error while loading shared libraries: libjvm.so: cannot open shared object file: No such file or directory

===================== Step 2
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/x86_64/client/
$ scilab
/usr/bin/scilab-bin: /usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/x86_64/client/libjvm.so: no version information available (required by /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.1.mga4.x86_64/jre/lib/amd64/libjava.so)
/usr/bin/scilab-bin: /usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/x86_64/client/libjvm.so: no version information available (required by /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.1.mga4.x86_64/jre/lib/amd64/libverify.so)
/usr/bin/scilab-bin: relocation error: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.1.mga4.x86_64/jre/lib/amd64/libjava.so: symbol JVM_GetClassName, version SUNWprivate_1.1 not defined in file libjvm.so with link time reference

================= Step 3
$ export LD_LIBRARY_PATH=/usr/lib64/gcj-4.8.2-14/:$LD_LIBRARY_PATH
$ scilab
/usr/bin/scilab-bin: /usr/lib64/gcj-4.8.2-14/libjvm.so: no version information available (required by /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.1.mga4.x86_64/jre/lib/amd64/libjava.so)
/usr/bin/scilab-bin: /usr/lib64/gcj-4.8.2-14/libjvm.so: no version information available (required by /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.1.mga4.x86_64/jre/lib/amd64/libverify.so)
/usr/bin/scilab-bin: relocation error: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.1.mga4.x86_64/jre/lib/amd64/libjava.so: symbol JVM_GetClassName, version SUNWprivate_1.1 not defined in file libjvm.so with link time reference

============ Step 4
Report this bug.
these are the only libjvm.so* installed in the system
and the one from
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.1.mga4.x86_64/jre/lib/amd64/
is the only libjava.so* into the system
David Walser 2015-03-07 03:02:20 CET

Assignee: bugsquad => grenoya

Comment 1 Claire Revillet 2015-03-09 10:35:19 CET
Hi!

Here I have an up-to-date mga4 with only java-1.7.0-openjdk-1.7.0.75-2.5.4.1.mga4.x86_64 as a java virtual machine and Scilab launch just well.

Could you try declaring SCIVERBOSE to 1 ("export SCIVERBOSE=1" in bash) in a terminal before launching Scilab please?
Comment 2 mtm spm 2015-03-10 22:59:36 CET
Hi Claire,
Thank you for your answer. Here are the results:

scilab
SCILABBIN : scilab-bin
DISABLE_JAVA_DETECTION : 0
SCILAB_MODE : gui
OS : Linux
MODEL : x86_64
IS_SCILAB_BINARY : 0
Trying to find Java in /usr/lib/jvm/default-java 
Trying to find Java in /usr/lib/jvm/java-6-openjdk/ 
Trying to find Java in /usr/lib/jvm/java-7-openjdk/ 
Trying to find Java in /usr/lib/jvm/java/ 
Java found in /usr/lib/jvm/java-1.5.0-gcj-1.5.0.0
JAVA_HOME : /usr/lib/jvm/java-1.5.0-gcj-1.5.0.0
Cannot find /usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre/lib/amd64/libjava.so
SCI : /usr/share/scilab/
SCIBIN : /usr/bin/scilab-bin
PATH : /usr/share/scilab/:/usr/share/scilab//bin:/usr/bin:/usr/local/bin:/usr/bin:/usr/games:/usr/lib64/qt4/bin:/usr/lib64/qt5/bin:/home/mtm/bin:/usr/lib64/qt5/bin
CLASSPATH : 
EGL_DRIVER : egl_glx
LD_LIBRARY_PATH : /usr/share/scilab//bin:/usr/share/scilab//lib/scilab/:/usr/share/scilab//lib64/scilab/:.
DOCBOOK : /usr/share/sgml/docbook/xsl-stylesheets-1.78.1/
/usr/bin/scilab-bin: error while loading shared libraries: libjava.so: cannot open shared object file: No such file or directory

Doing a find:
$ find /usr/ -name libjava.so
/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.1.mga4.x86_64/jre/lib/amd64/libjava.so
Comment 3 Claire Revillet 2015-03-13 10:04:41 CET
Hi!

I think the difference of behavior between our machine and mine is that your selected flavor of Java is gcj when mine is openjdk.
It can be checked easily:
$ls -l /usr/bin/java
 => /usr/bin/java -> /etc/alternatives/java
$ls -l /etc/alternatives/java 
 => /etc/alternatives/java -> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.1.mga4.x86_64/jre/bin/java


Scilab is not using LD_LIBRARY_PATH to find java, it has its own list of possible places (that doesn't fit well with Mageia in fact) and it ends up find it under /usr/lib/jvm/java which point for me on /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.1.mga4.x86_64 (with 2 steps, like above).

I see now 2 solutions for you:
* define the environment variable JAVA_HOME to /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.1.mga4.x86_64
* change your default java to the openjdk one, using "alternatives" with sudo rights

(gcj is a java 1.5 library which is not enough for a lot of software)

Does it solve your problem? Do you consider that as a suitable workaround?
Comment 4 mtm spm 2015-03-20 22:28:50 CET
Hi Claire,

Thank you again for your answer.
The ls show that is the open jdk

$ ls -l /etc/alternatives/java 
lrwxrwxrwx 1 root root 73 Jan 26 19:53 /etc/alternatives/java -> /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.1.mga4.x86_64/jre/bin/java*


However, if I export the JAVA_HOME to the jre folder
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.1.mga4.x86_64/jre/

that fixes the issue. Once I added the export statement in scilab script itself it is starting.

So yes, as a workaround it is suitable.

Thank you again,
MTM
Comment 5 Claire Revillet 2015-03-23 09:22:12 CET
Hi!
Thank you for the answer, I close the bug as a workaround.
I may come back with a real fix, but I can't promise.

Thank you again for reporting and testing!
Claire

Status: NEW => RESOLVED
Resolution: (none) => WORKSFORME


Note You need to log in before you can comment on or make changes to this bug.