Scilab 5.5.2 в Ubuntu 18.04
В Scilab 6, похоже, есть какая-то ошибка в Ubuntu 18.04, поэтому я хочу попробовать запустить 5.5.2. Я скачал бинарные файлы с сайта Scilab. Когда я пытаюсь бежать с ./scilab
в bin
папка, это дает проблему аутентификации с чем-то под названием libEGL
лицензия:
$ ./scilab
libEGL warning: DRI2: failed to authenticate
Segmentation fault (core dumped)
Есть ли какое-то решение для этого?
1 ответ
На чистой ВМ с Ubuntu MATE 18.04.1 LTS бинарная версия ( http://www.scilab.org/download/5.5.2/scilab-5.5.2.bin.linux-x86_64.tar.gz) вылетает с Segmentation fault (core dumped)
вызвано связанной с Java проблемой с thirdparty/java
,
Поэтому нам нужно установить Scilab 5.5.2, загрузив вручную пакеты из репозитория 16.04 LTS со всеми их зависимостями. Ниже приведена полная инструкция:
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
Тогда нам нужно получить OpenJDK 8
sudo apt-get install openjdk-8-jre openjdk-8-jre-headless
Затем нам нужно отредактировать файл рабочего стола Scilab для использования 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
При желании мы можем создать псевдоним для scilab для использования 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
И, наконец, нам нужно закрепить / удержать все установленные вручную пакеты, чтобы предотвратить их обновление:
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
Полученная версия полностью функциональна - вы можете использовать ATOMS, Xcos и так далее.
Примечание: описанный выше метод также применим к Ubuntu 18.10, но вам необходимо получить libcurl3
deb-файл вручную из репозитория 18.04 LTS.
Но нам все еще нужна официальная реакция от сопровождающих Scilab Ubuntu (или Debian).
Scilab - это очень многофункциональное приложение, и очень жаль, что оно плохо поддерживается...