Exchange XML Editor

Général

La création de cet article est issue d'une erreur provenant de l'installation du logiciel Exchanger XML Editor. Après analyse, l'erreur provient d'une fixation de la version du noyau Linux dans le script d'installation.

Le Pourquoi du Comment

Analyse de l'erreur

Selon la source (Fort Utile!!) : http://publib.boulder.ibm.com/infocenter/eserver/v1r2/index.jsp

error while loading shared libraries: libc.so.6:
This problem affects the Process Management task. It occurs only on managed systems running Linux.
Incident
When running the Process Management task or any action that uses Linux operating-system commands, you might receive the following error message:
error while loading shared libraries: libc.so.6: cannot open shared object file:
No such file or directory
This error is caused by Java setting the environment variable LD_ASSUME_KERNEL for its context which is incompatible with commands launched from the Java environment.

Tout est dit, il faut inhiber le LD_ASSUME_KERNEL dans le code de xngrliteV32_linux_jvm.bin (qui est en fait un script bash)

Recherche du problème

Un grep LD_ASSUME_KERNEL sur le fichier donne.

$ grep LD_ASSUME_KERNEL *
linux_LD_ASSUME_KERNEL_hack=0;
linux_LD_ASSUME_KERNEL_hack=1
# LD_ASSUME_KERNEL for Native POSIX Threading Library on some Linux distros
export LD_ASSUME_KERNEL=2.2.5
# unset the LD_ASSUME_KERNEL in cause we don't need it
unset LD_ASSUME_KERNEL
# check our rules for setting LD_ASSUME_KERNEL
linux_LD_ASSUME_KERNEL_hack=1
if [ $linux_LD_ASSUME_KERNEL_hack -eq 1 ]; then
LD_ASSUME_KERNEL=2.2.5
export LD_ASSUME_KERNEL

On voit donc qu'il faut modifier le export LD_ASSUME_KERNEL=2.2.5 Donc un sed fera l'affaire ;)

Deux Méthodes d'Installations

Partir du fichier patché et suivre “Installation avec Version Patchée”.

Partir du fichier officiel téléchargeable sur le site officiel (http://www.freexmleditor.com/fxeeditor/downloads.html?x=60&y=7) et suivre “Installation sans Version Patchée”.

La commande d'installation du logiciel lance l'installeur graphique, vous pouvez notamment décider où vous voulez installer le logiciel. Si vous avez pris la version avec la JVM (JRE), il l'installe dans son arborescence donc il ne pollue pas vos installations préalable du JDK.

Installation Avec Version Patchée

Récupérer le fichier patché : exchangerxml-lite (je n'ai plus le fichier :p)

Lancer dans un shell : $ sh xngrliteV32_linux_jvm.bin (C'est le fichier d'origine que j'ai patché)

Se reporter à la section “Apres l'Installation” pour finaliser le fonctionnement du logiciel.

Installation Sans Version Patchée

À partir du fichier téléchargé sur le site. (Si vous utilisez la version avec jvm vous pouvez copier|coller les lignes suivantes dans un terminal… sinon adapter pour la version sans jvm)

$ mv xngrliteV32_linux_jvm.bin xngrliteV32_linux_jvm.bin.orig
$ cat xngrliteV32_linux_jvm.bin.orig | sed "s/export LD_ASSUME_KERNEL/#xport LD_ASSUME_KERNEL/" > xngrliteV32_linux_jvm.bin

Puis on lance l'installation.

$ sh xngrliteV32_linux_jvm.bin

Se reporter à la section “Apres l'Installation” pour finaliser le fonctionnement du logiciel.

Après l'Installation

Aller dans le repertoire d'installation de Exchange XML (Je l'ai mis dans mon home pour les tests … donc).

$ cd ~/Exchanger\ XML\ Lite\ 3.2/
$ cp Exchanger_XML_Lite_3.2 Exchanger_XML_Lite_3.2.orig
$ cat Exchanger_XML_Lite_3.2.orig | sed "s/export LD_ASSUME_KERNEL/#xport LD_ASSUME_KERNEL/" > Exchanger_XML_Lite_3.2

Pour le debugger.

$ cp Exchanger_XSLT_Debugger_3.2 Exchanger_XSLT_Debugger_3.2.orig
$ cat Exchanger_XSLT_Debugger_3.2.orig | sed "s/export LD_ASSUME_KERNEL/#xport LD_ASSUME_KERNEL/" > Exchanger_XSLT_Debugger_3.2

Cette fois ça devrait fonctionner ;) Pour lancer le logiciel, il faut lancer le script qui se nomme Exchanger_XML_Lite_3.2 avec la commande suivante.

$ ./Exchanger_XML_Lite_3.2

Le Debugger XSLT est accessible via l'interface principal. Il n'a pas besoin d'être lancé à part.