2014年6月11日水曜日

スマホで Mathematica ?

先日中国から一万円のAndroid中華スマホを購入した。

いろいろ見てみると、Android上でLinuxを動かすことができるGNUrootというアプリがあったのでこれで遊んでみた。狙いはスマホでMathematicaを動かすことである。

  • GNUrootのインストール

GNUroot

https://play.google.com/store/apps/details?id=champion.gnuroot&hl=ja

GNUroot Wheezy

https://play.google.com/store/apps/details?id=champion.gnuroot.wheezy&hl=ja

をインストールする。

また、Xが動くようにする。Xサーバーは XServer XSDLを使用した。

https://play.google.com/store/apps/details?id=x.org.server&hl=ja

GNUrootをインストールしてFake Rootでログインする。

まずはじめに

apt-get update
apt-get upgrade

をおこなう。 tzdataのインストールに失敗してインストールが完了しないので、以下を修正。

/var/lib/dpkg/info/tzdata.postinst

の二行目、set -s を set -x に書き換えてupgradeを再度行うこと。

XとXfce4は、

apt-get install xfce4

でインストールされる。ここでXサーバーに表示が出るか確認する。
あらかじめXServer XSDLをAndroid端末上で起動しておく。
次にGNUrootのコマンドラインに次のコマンドを打ってXサーバーに画像を表示させる。

DISPLAY=localhost:0.0 startxfce4

XServer XSDL上にデスクトップ画面が表示されればOKである。



MathematicaのダウンロードのためにIceweasel(Firefox)を入れておく。

apt-get install iceweasel


  • Mathematicaのインストール


Mathematicaをインストールするためにarmef (Wheezy)とarmhf (Mathematica)を混在させる。

dpkg add-architecture armhf
apt-get update

MathematicaをRaspbianのサイトからダウンロードする。java7も入れておく。

http://archive.raspberrypi.org/debian/pool/main/w/wolfram-engine/
http://archive.raspberrypi.org/debian/pool/main/o/oracle-java7-jdk/

先にjava7を入れておく。

dpkg -i oracle-java7-jdk_1.7.0+update40_armhf.deb

インストールに失敗するので、

apt-get -i install

を実行し、armhf のバイナリを取得する。

Mathematicaも同様に、

dpkg -i wolfram-engine_10.0.0+2014012903_armhf.deb
apt-get -i install

を実行する。

これでもまだarmhfのライブラリが足らないので、以下のコマンドを実行。

apt-get install libstdc++6:armhf
apt-get install libXmu6:armhf
apt-get install libXrandr2:armhf
apt-get install libXfixes3:armhf
apt-get install libXcursor1:armhf
apt-get install libfontconfig1:armhf

これでMathematicaが立ち上がる、のだが…



コマンドライン版のwolfram、X版のmathematica両方とも起動途中で止まってしまう。
wolframの方ではライセンス認証の画面となる。
ここにmathpassに書いてあるコードを入れたが認証に成功しなかった。
RaspberryPi以外のマシンでは動かないのかな…