web-dev-qa-db-fra.com

Scilab 5.5.2 sur Ubuntu 18.04

Scilab 6 semble avoir une erreur sur Ubuntu 18.04, alors je veux essayer d’exécuter 5.5.2. J'ai téléchargé les fichiers binaires à partir du site Web Scilab. Lorsque j'essaie de courir avec ./scilab dans le dossier bin, cela pose un problème d'authentification avec ce que l'on appelle une licence libEGL:

$ ./scilab
libEGL warning: DRI2: failed to authenticate
Segmentation fault (core dumped)

Y a-t-il une solution à cela?

1
leo valdez

Sur le _ propre [VM avec Ubuntu MATE 18.04.1 LTS, la version binaire ( scilab-5.5.2.bin.linux-x86_64.tar.gz ) se bloque. avec Segmentation fault (core dumped) provoqué par un problème lié à Java avec thirdparty/Java.

Nous devons donc installer Scilab 5.5.2 en téléchargeant manuellement les packages du référentiel 16.04 LTS avec toutes leurs dépendances. Ci-dessous, l'instruction complète:

cd ~/Downloads
# scilab files
wget http://mirrors.kernel.org/ubuntu/pool/universe/s/scilab/scilab_5.5.2-2ubuntu3_all.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/s/scilab/scilab-cli_5.5.2-2ubuntu3_all.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/s/scilab/scilab-data_5.5.2-2ubuntu3_all.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/s/scilab/scilab-doc_5.5.2-2ubuntu3_all.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/s/scilab/scilab-full-bin_5.5.2-2ubuntu3_AMD64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/s/scilab/scilab-include_5.5.2-2ubuntu3_AMD64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/s/scilab/scilab-minimal-bin_5.5.2-2ubuntu3_AMD64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/s/scilab/scilab-test_5.5.2-2ubuntu3_all.deb
# scilab dependencies
wget http://security.ubuntu.com/ubuntu/pool/universe/h/hdf5/libhdf5-10_1.8.16+docs-4ubuntu1.1_AMD64.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/s/suitesparse/libsuitesparseconfig4.4.6_4.4.6-1_AMD64.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/s/suitesparse/libamd2.4.1_4.4.6-1_AMD64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/libm/libmatio/libmatio2_1.5.3-1_AMD64.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/s/suitesparse/libcamd2.4.1_4.4.6-1_AMD64.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/s/suitesparse/libccolamd2.9.1_4.4.6-1_AMD64.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/s/suitesparse/libcolamd2.9.1_4.4.6-1_AMD64.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/s/suitesparse/libcholmod3.0.6_4.4.6-1_AMD64.deb
wget http://mirrors.kernel.org/ubuntu/pool/main/s/suitesparse/libumfpack5.7.1_4.4.6-1_AMD64.deb

Sudo apt-get update
Sudo apt-get install libcurl3
Sudo apt-get install ./libhdf5-10_1.8.16+docs-4ubuntu1.1_AMD64.deb \
./libsuitesparseconfig4.4.6_4.4.6-1_AMD64.deb \
./libamd2.4.1_4.4.6-1_AMD64.deb \
./libmatio2_1.5.3-1_AMD64.deb \
./libcamd2.4.1_4.4.6-1_AMD64.deb \
./libccolamd2.9.1_4.4.6-1_AMD64.deb \
./libcolamd2.9.1_4.4.6-1_AMD64.deb \
./libcholmod3.0.6_4.4.6-1_AMD64.deb \
./libumfpack5.7.1_4.4.6-1_AMD64.deb \
./scilab*.deb

Ensuite, nous devons obtenir OpenJDK 8

Sudo apt-get install openjdk-8-jre openjdk-8-jre-headless

Ensuite, nous devons éditer le fichier de bureau Scilab pour utiliser OpenJDK 8:

Sudo sed -i "s/^Exec=scilab -f$/Exec=env Java_HOME=\/usr\/lib\/jvm\/Java-8-openjdk-$(dpkg --print-architecture)\/jre scilab -f/" /usr/share/applications/scilab.desktop
Sudo sed -i "s/^Exec=scilab-adv-cli$/Exec=env Java_HOME=\/usr\/lib\/jvm\/Java-8-openjdk-$(dpkg --print-architecture)\/jre scilab-adv-cli/" /usr/share/applications/scilab-adv-cli.desktop

Nous pouvons également créer un alias pour que scilab utilise OpenJDK 8:

echo "alias scilab='env Java_HOME=/usr/lib/jvm/Java-8-openjdk-$(dpkg --print-architecture) scilab'" >> ~/.bashrc
echo "alias scilab-adv-cli='env Java_HOME=/usr/lib/jvm/Java-8-openjdk-$(dpkg --print-architecture) scilab-adv-cli'" >> ~/.bashrc
echo "alias xcos='env Java_HOME=/usr/lib/jvm/Java-8-openjdk-$(dpkg --print-architecture) xcos'" >> ~/.bashrc

Et enfin, nous devons bloquer/conserver tous les paquets installés manuellement pour empêcher leurs mises à jour:

cat <<EOF | Sudo tee /etc/apt/preferences.d/pin-scilab
Package: libamd2.4.1
Pin: version 4.4.6-1
Pin-Priority: 1337

Package: libcamd2.4.1
Pin: version 4.4.6-1
Pin-Priority: 1337

Package: libccolamd2.9.1
Pin: version 4.4.6-1
Pin-Priority: 1337

Package: libcholmod3.0.6
Pin: version 4.4.6-1
Pin-Priority: 1337

Package: libcolamd2.9.1
Pin: version 4.4.6-1
Pin-Priority: 1337

Package: libhdf5-10
Pin: version 1.8.16+docs-4ubuntu1.1
Pin-Priority: 1337

Package: libmatio2
Pin: version 1.5.3-1
Pin-Priority: 1337

Package: libsuitesparseconfig4.4.6
Pin: version 4.4.6-1
Pin-Priority: 1337

Package: libumfpack5.7.1
Pin: version 4.4.6-1
Pin-Priority: 1337

Package: scilab
Pin: version 5.5.2-2ubuntu3
Pin-Priority: 1337

Package: scilab-cli
Pin: version 5.5.2-2ubuntu3
Pin-Priority: 1337

Package: scilab-data
Pin: version 5.5.2-2ubuntu3
Pin-Priority: 1337

Package: scilab-doc
Pin: version 5.5.2-2ubuntu3
Pin-Priority: 1337

Package: scilab-full-bin
Pin: version 5.5.2-2ubuntu3
Pin-Priority: 1337

Package: scilab-include
Pin: version 5.5.2-2ubuntu3
Pin-Priority: 1337

Package: scilab-minimal-bin
Pin: version 5.5.2-2ubuntu3
Pin-Priority: 1337

Package: scilab-test
Pin: version 5.5.2-2ubuntu3
Pin-Priority: 1337
EOF

La version résultante est entièrement fonctionnelle: vous pouvez utiliser ATOMS, Xcos, etc.

Remarque: la méthode ci-dessus est également applicable à Ubuntu 18.10, mais vous devez obtenir le fichier libcurl3 deb manuellement manuellement à partir du référentiel 18.04 LTS.


Mais nous avons toujours besoin de la réaction officielle des responsables de Scilab Ubuntu (ou Debian).
Scilab est une application très riche en fonctionnalités et il est très dommage qu’elle ne soit pas bien entretenue ...

0
N0rbert