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?
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 ...