(更新情報)
2019/02/24:macOS Mojave(10.14.3):scilab 6.0.2で対応
「macOS High SierraでSciLabを動かすまで」からタイトル変更しました。
2018/11/28:macOS Mojave(10.14.1):ライブラリの追加も必要
(はじめに)
この記事はScilab 6.0.1をmacOS High Sierraにインストールする方のためのメモです。
かつてはすんなりインストールできたscilaboですが、最近では一手間かかるようになってしまいました*。きっと困っている人も多いと思います。
*mojaveに対応したscilab 6.0.2がリリースされました。今はすんなりインストールできます(2019/2/24)
私は、scilabを、フィルタ設計や制御系のシミュレーション、時系列データ処理などに使っています。かつては、perlやエクセルを使っていましたが、scilabを使うようになって、大変効率が上がりました。こんなに便利なツールを使わないのはもったいない。もっとたくさんの人がscilabに触れてもっと普及して欲しいと思っております。
この記事は、以前SciLab 6.0.0をインストールしたときに書いた「High SierraでSciLabを再び動かすまで」 に説明を追加したものです。
##Scilabのインストール
なにはともあれ、ダウンロードしましょう。
1.ダウンロードはこちらから http://www.scilab.org
2.scilab-6.0.1-x86_64.dmg をクリック
3.鳥のアイコン(Scilab-6.0.1)をApplocationsのアイコンにドラッグ
4.Finderの左側(デバイス)にscilab-6.0.1の三角をクリックして「アンマウント」
##アプリケーションを開けるようにする
鳥のアイコンをクリックしても「“scilab”は、App Store からダウンロードされたものでないため開けません。」とつれないダイアログがでるだけです。
1.control キーを押しながら鳥のアイコン(Scilab-6.0.1)をクリック
Java 6が必要と言われたら
「このJavaアプリケーションを開くには、以前のJava SE 6ランタイムをインストール必要があります」というダイアログが表示されます。このダイアログの「詳しい情報」のボタンをクリックするとAppleのページに飛びます。
ここには、難しいことがたくさん書いてあり、最後に「常に最新バージョンのソフトウェアをお使いください」とのこと。そこで、仕方なくオラクルのページのリンクにとぶと、(一見簡単そうに見えるけれども、Javaの専門家以外の人はきっとたじろぐ)ページが現れます。ここで途方にくれる人も少なくないのでは。
参考 こちらがOliverさんの解説記事で、Scilab用にJREをインストール方法が書いてあります。
https://oliverdowling.com.au/2015/10/09/oracles-jre-8-on-mac-os-x-el-capitan/
###(1) Oracleから最新のJREをダウンロード
http://www.oracle.com/technetwork/java/javase/downloads/index.html
いろいろありますがどれをえらべば良いでしょうか?
Java SE/EE/MEとかいろいろあり、バージョンがあり、そこにはJDKとかJREとかあります。
ダウンロードページにちゃんと選び方が書いてありますが、そういわれてもね。
・最初のポイントは、MacなどPC向けはスタンダードエディション(SE)を選ぶこと。
・次のポイントはJDKかJRE,Server JREの選択です。開発者向けがJDK,使うだけならJREということになります。なので、基本的には、SEのJREで、新しめの安定バージョンを選べばOK。2018/10/13の時点では,Java SE 10.0.2 JRE。
macOS版には拡張子がdmgのものとtar.gzがありますが、
ダウンロード後にplistを編集するためtar.gzを選びます。
補足:Java SE (Java Standard Edition)の中の
JRE (Java Runtaime Environment)の
tar.gz を選べばよいかと。
##(2) 解凍してplistを書き換える
Rich Troutonさんのblogの記事Modifying Oracle’s Java SDK to run Java applications on OS Xによれば、ダウンロードしたJREそのままでは、Webページに埋め込んだjava plug-inでしか使えない。このため、アプリケーションやコマンドラインからJavaを使うためには、plistを変更する必要があるとのこと。
cd ~/Downloads/
tar xzf jre-10.0.1_osx-x64_bin.tar
cd jre-10.0.1.jre/
# 変更前の内容を確認する(追加しました)
less Contents/Info.plist
defaults write "`pwd`/Contents/Info.plist" JavaVM -dict-add 'JVMCapabilities' '<array><string>JNI</string><string>BundledApp</string><string>CommandLine</string></array>'
# テキストエディタで書き換えた内容を確認するため次の操作が必要
chmod 0664 Contents/Info.plist
plutil -convert xml1 Contents/Info.plist
# 変更後の内容を確認する(追加しました)
less Contents/Info.plist
##(3)JREをインストール
sudo mv "`pwd`" /Library/Java/JavaVirtualMachines/
#ここでパスワード入力を求められます
##(4)バックワードコンパチビリティのためのリンク
mkdir -p Contents/Home/bundle/Libraries
cd Contents/Home/bundle/Libraries
ln -s ../../lib/server/libjvm.dylib libserver.dylib
私の場合、ここまででオッケーでした。
##(5) Mojaveの場合(ライブラリの追加)
自己責任でお願いします。
参考 http://bugzilla.scilab.org/show_bug.cgi?id=15307
###作業
(1-1) libBLAS.dylib を入れ替え
(1-2) libPng.dylib" をコピー
cd /Applications/scilab-6.0.0.app/Contents/MacOS/
cp /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib lib/thirdparty/
cp /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources/libPng.dylib lib/thirdparty/
##SciLab関連ドキュメントリンク
install
macOSでSciLabを動かすまで
SciNoteのオートコンプリートをとめたい
実践
SciLabでCSV読み込み
SciLabでGUIを使ってみる
Mac/Windows共用scilabスクリプト未公開
SciLabでフィルタを適用する未公開
プロットメモ未公開
プロットあれこれ未公開
他の言語と比較・書き換え
Scilab (NumPy) - plotの書き方
[配列と文字列処理の比較](https://qiita.com/0x20FE/items/ b6ea768692297b721951)
関数とオブジェクトの書き方メモ
Scilab,NumPy,R行列処理の比較