Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/09/2016, à 10:57

catsey

[Résolu] xmessage : version jre trop ancienne

bonjour à tous,

J'ai lancé un appel dans le forum imprimantes, mais tout compte il serait peut-être plus judicieux de le placer ici.

Depuis mes tentatives d'installation d'une imprimante Lexmark, xmessage m'indique :

"The version of Java Runtime Environment (JRE) detected in your system is below the required version.
The required version for Java Runtime Environment (JRE) should be 1.6 or higher."

Pourtant :

cat@cat-300E4A-300E5A-300E7A-3430EA-3530EA:~$ java -version
openjdk version "9-internal"
OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195246.buildd.src)
OpenJDK 64-Bit Server VM (build 9-internal+0-2016-04-14-195246.buildd.src, mixed mode)
cat@cat-300E4A-300E5A-300E7A-3430EA-3530EA:~$

En fouinant un peu, dans les fichiers cachés de Lexmark, j'ai trouvé l'origine de ce message :

#!/bin/sh
OS_ARCH=`uname -aa | grep x86_64`
ARCH=''
if [ -n "$OS_ARCH" ]; then
	ARCH=64
fi
JAVA_CMD=java
REQUIRED_VERSION=1.6
if [ -f "/usr/local/lexmark/fwu_legacy/jre/bin/java" ]; then
	JAVA_CMD="/usr/local/lexmark/fwu_legacy/jre/bin/java"
elif [ -f "/usr/local/lexmark/wsu_legacy/jre/bin/java" ]; then
	JAVA_CMD="/usr/local/lexmark/wsu_legacy/jre/bin/java"
elif [ -f "/usr/local/lexmark/v3/jre/bin/java" ]; then
	JAVA_CMD="/usr/local/lexmark/v3/jre/bin/java"
elif [ -f "/usr/bin/java" ]; then
	JAVA_CMD="/usr/bin/java"
elif [ -f "/etc/alternatives/java" ]; then
	JAVA_CMD="/etc/alternatives/java"
else
	exit 1
fi
$JAVA_CMD -version 2> /tmp/java_version
VERSION=`cat /tmp/java_version | grep "java version" | awk '{ print substr($3, 2, length($3)-2); }'`
rm /tmp/java_version
VERSION=`echo $VERSION | awk '{ print substr($1, 1, 3); }' | sed -e 's;\.;0;g'`
REQUIRED_VERSION=`echo $REQUIRED_VERSION | sed -e 's;\.;0;g'`

if [ $VERSION ]
then
      if [ $VERSION -ge $REQUIRED_VERSION ]
      then
        ${JAVA_CMD} -Djava.library.path=/usr/local/lexmark/v3/lib${ARCH} -Ddbus=mdwapclss.apps.umframework.DBusProxyLegacy -classpath /usr/local/lexmark/v3/jar/debug-disable-1.1.jar:/usr/local/lexmark/v3/jar/hexdump-0.2.jar:/usr/local/lexmark/v3/jar/libdbus-java-2.6.jar:/usr/local/lexmark/v3/jar/unix-0.5.jar:/usr/local/lexmark/v3/jar/xpp3_min-1.1.4c.jar:/usr/local/lexmark/v3/jar/xstream-1.3.1.jar:/usr/local/lexmark/v3/jar/uiframework.jar:/usr/local/lexmark/v3/jar/tools.jar:/usr/local/lexmark/v3/jar/devicecore.jar:/usr/local/lexmark/v3/jar/config.jar:/usr/local/lexmark/v3/jar/localize.jar:/usr/local/lexmark/v3/jar/umframework.jar mdwapclss.apps.umframework.UserMessagingFramework
      else
	xmessage -buttons "OK" "The version of Java Runtime Environment (JRE) detected in your system is below the required version.
The required version for Java Runtime Environment (JRE) should be 1.6 or higher." -center
	exit 1
      fi
else
	xmessage -buttons "OK" "The version of Java Runtime Environment (JRE) detected in your system is below the required version.
The required version for Java Runtime Environment (JRE) should be 1.6 or higher." -center
	exit 1
fi

Je ne connais pas ce langage, mais ça ressemble à du C.
Quelqu'un peut-il me dire :

  • quel est le langage utilisé,

  • où va-t-il donc chercher les infos sur ma version java

J'ai l'impression qu'il va chercher la version dans "cat /tmp/java_version", non ?

Merci d'avance.

Dernière modification par catsey (Le 22/09/2016, à 12:28)


Cordialement.

Lenovo ideapad 500-15lsk, Ubuntu 16.04 LTS en dual boot Win 10
Samsung NP300E7A, Debian 9.4, Cinnamon 3.2.7 en monoboot

Hors ligne

#2 Le 20/09/2016, à 13:44

catsey

Re : [Résolu] xmessage : version jre trop ancienne

J'imagine que sous la racine (où se trouvent les répertoires bin, boot, ...) dans le répertoire tmp, je devrais trouver un fichier java_version. Je n'ai que 5 fichiers cachés : .umf_cat, .X0-lock, config-err-28josQ, gs_sohSve et unity_support_test.0, mais pas de fichier java_version.

Dernière modification par catsey (Le 20/09/2016, à 13:45)


Cordialement.

Lenovo ideapad 500-15lsk, Ubuntu 16.04 LTS en dual boot Win 10
Samsung NP300E7A, Debian 9.4, Cinnamon 3.2.7 en monoboot

Hors ligne

#3 Le 20/09/2016, à 13:55

michel_04

Re : [Résolu] xmessage : version jre trop ancienne

Bonjour,

Tu utilises la version 16.04 ?
Avec Xubuntu 16.04 :

michel@Michel-E320:~$ java -version
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-3ubuntu1~16.04.1-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
michel@Michel-E320:~$ 

A+

Hors ligne

#4 Le 20/09/2016, à 14:07

catsey

Re : [Résolu] xmessage : version jre trop ancienne

Bonjour michel_04,

Je suis bien sur ubuntu 16.04lts (après mise à jour de la 14.04lts). J'ai refait toutes les mises à jour. Le pilote pour linux est écrit par lexmark en 2012... Lors du choix des pilotes pour linux/unix, je n'avais le choix qu'entre fedora, opensuse 10 et 11.
Nouveau sur linux, j'ai pris opensuse 11... et le problème vient peut-être de là. Je ne connais pas les variantes entre les versions, et je ne sais pas où se loge java -version, qui est un nom de fichier, non ? En pleine découverte, quoi !!!

Merci


Cordialement.

Lenovo ideapad 500-15lsk, Ubuntu 16.04 LTS en dual boot Win 10
Samsung NP300E7A, Debian 9.4, Cinnamon 3.2.7 en monoboot

Hors ligne

#5 Le 20/09/2016, à 14:24

michel_04

Re : [Résolu] xmessage : version jre trop ancienne

Re,

catsey a écrit :

opensuse 11

Suse, utilises des paquets rpm, à convertir en deb pour Ubuntu, regarde Alien : convertir un paquet dans un autre format .

A+

Hors ligne

#6 Le 20/09/2016, à 20:05

catsey

Re : [Résolu] xmessage : version jre trop ancienne

autant pour moi, michel_04 ! J'ai en fait téléchargé la version pour ubuntu 12.04 ! Ils sont d'ailleurs en .deb (autodecompressibles si j'ai bien compris ?...).
Si tu connais cette version d'ubuntu, sais-tu où se trouvent les infos sur la version java, et sous quel nom ? Parce que sous 16.04, la version s'affiche sur la console en tapant "java -version" et non pas  "java_version". L'idée sous-jacente serait de modifier le chemin de recherche du programme (cf #1) pour voir ce qui se passe. A propos, ce ne serait pas du java aussi, ce langage ?

Merci et @+.


Cordialement.

Lenovo ideapad 500-15lsk, Ubuntu 16.04 LTS en dual boot Win 10
Samsung NP300E7A, Debian 9.4, Cinnamon 3.2.7 en monoboot

Hors ligne

#7 Le 21/09/2016, à 09:40

catsey

Re : [Résolu] xmessage : version jre trop ancienne

Bonjour,

Il me semble que le langage de ce script est du bash. Comme ce langage n'a pas à être compilé, je me demande si je ne pourrais pas modifier la ligne

VERSION=`cat /tmp/java_version | grep "java version" | awk '{ print substr($3, 2, length($3)-2); }'`

en

VERSION=`cat /[b]chemin à suivre pour trouver la version[/b]/[b]java -version[/b] | grep "java version" | awk '{ print substr($3, 2, length($3)-2); }'`

en priant pour que cela suffise... Je suis jeune, pas en âge mais sur linux...

Le script édité par lexmark en 2012 concernait la version 12.04 d'ubuntu. Le chemin conduisant a la version java a du changer depuis...

En regardant dans usr/lib/jvm, je possède des dossiers default-java, java-1.8.0-openjdk-amd64, java-1.9.0-openjdk-amd64, java-8-openjdk-amd64 et java-9-openjdk-amd64.

java -version me dit que j'utilise le dernier cité.

Quelqu'un utilisant ubuntu 12.04 peut-il confirmer que la version de java est bien inscrite dans cat /tmp/java_version ?

Et quelqu'un peut-il me dire si ma démarche est bonne ?

Merci d'avance.


Cordialement.

Lenovo ideapad 500-15lsk, Ubuntu 16.04 LTS en dual boot Win 10
Samsung NP300E7A, Debian 9.4, Cinnamon 3.2.7 en monoboot

Hors ligne

#8 Le 22/09/2016, à 12:27

catsey

Re : [Résolu] xmessage : version jre trop ancienne

Problème résolu par lynn dans la section dev et prog :

Il suffisait de modifier la ligne :

VERSION=`cat /tmp/java_version | grep "java version" | awk '{ print substr($3, 2, length($3)-2); }'`

du script umf.sh de lexmark par :

VERSION=`cat /tmp/java_version | grep "openjdk version" | awk '{ print substr($3, 2, length($3)-2); }'`

Merci  pour ton aide ! Je passe en résolu.


Cordialement.

Lenovo ideapad 500-15lsk, Ubuntu 16.04 LTS en dual boot Win 10
Samsung NP300E7A, Debian 9.4, Cinnamon 3.2.7 en monoboot

Hors ligne

#9 Le 22/09/2016, à 13:14

pingouinux

Re : [Résolu] xmessage : version jre trop ancienne

Bonjour,
Tu peux même simplifier :

VERSION=$(awk -F\" '/openjdk version/{print $2}' /tmp/java_version)

Hors ligne

#10 Le 22/09/2016, à 13:35

catsey

Re : [Résolu] xmessage : version jre trop ancienne

Merci pingouinux,

Mes compétences sont très limitées en la matière (pour ne pas dire nulles) ! Je vais en rester là, à moins que tu ne désires que je fasse un test ?


Cordialement.

Lenovo ideapad 500-15lsk, Ubuntu 16.04 LTS en dual boot Win 10
Samsung NP300E7A, Debian 9.4, Cinnamon 3.2.7 en monoboot

Hors ligne

#11 Le 22/09/2016, à 14:24

pingouinux

Re : [Résolu] xmessage : version jre trop ancienne

Tu fais comme tu veux, c'était juste pour information.

Hors ligne