web-dev-qa-db-ja.com

Ubuntu 18.04上のScilab 5.5.2

Scilab 6はUbuntu 18.04でエラーが発生しているようですので、5.5.2を実行してみます。 Scilabウェブサイトからバイナリをダウンロードしました。 binフォルダーの./scilabで実行しようとすると、libEGLライセンスと呼ばれるもので認証の問題が発生します。

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

これに修正はありますか?

1
leo valdez

UbuntuのクリーンVM MATE 18.04.1 LTSバイナリバージョン( scilab-5.5.2.bin.linux-x86_64.tar.gz )がクラッシュするthirdparty/JavaのJava関連の問題が原因でSegmentation fault (core dumped)が発生します。

そのため、16.04 LTSリポジトリからすべての依存関係を持つパッケージを手動でダウンロードして、Scilab 5.5.2をインストールする必要があります。完全な手順は次のとおりです。

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

次に、OpenJDK 8を使用するためにScilabデスクトップファイルを編集する必要があります。

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にも適用可能ですが、18.04 LTSリポジトリからlibcurl3 deb-fileを手動で取得する必要があります。


ただし、Scilab Ubuntu(またはDebian)メンテナーからの公式の反応が必要です。
Scilabは非常に機能が豊富なアプリケーションであり、メンテナンスが不十分であることが非常に残念です...

0
N0rbert