Raspberry Pi 3 に Free Pascal 3.0.0 と Lazarus 1.6.2 をインストールしてみたので、 その記録を書いておきます。
インストールの結果は次のようになります。
以上を踏まえると、Free Pascal 3.0.0 と Lazarus 1.6.2 をインストールしたユーザーは これらのみを使用する環境になります。
手順の概要は次の様になります。
手順詳細は次の約束で書きます。
次の表に手順を始める前に予め決めておく必要がある項目を挙げます。 italicで書いた文字列を置き換えながら手順を進めてください。 fpc-private と fpc-private-build は特に決めない場合、 そのままコマンド入力してください。
項目 | そのまま入力 | 意味 |
---|---|---|
login-name | - | ログイン名です。どのユーザーで作業するか決めて下さい。 初期ユーザーのままでしたら pi です。 |
down_loaded_directory | 不可 - 何処か決めて下さい | ファイルをダウンロードする(した)ディレクトリを表します。 |
fpc-private | 可 | Free Pascal と Lazarus をインストールするディレクトリは ~/fpc-private になります。 |
fpc-private-build | 可 | Free Pascal と Lazarus を構築する作業を行うディレクトリは ~/fpc-private-build になります。 |
次のコマンドでパッケージをインストールしてください。
$ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install fpc lazarus
起動するか確認してください。 GUI Desktop でシェルウインドウを開き次のコマンドを実行します。 設定を格納した ~/.lazarus ディレクトリを作成する意図があります。
$ startlazarus
初回起動の場合、次のような初期設定ダイアログが出ます。
初期設定ダイアログが出た場合は各設定か次のようになって OK が出ているか確認し、 [Start IDE] ボタンをクリックして進みます。
項目 | 設定 |
---|---|
Lazarus | /usr/lib/lazarus/1.2.4/ |
Compiler | /usr/bin/fpc |
FPC sources | /usr/share/fpcsrc/$(FPCVER) |
Make | make |
Debugger | gdb |
初期設定から始めた場合、次のようなメッセージでエラーダイアログが出ます。 ARM アーキテクチャ上で発生する既知の問題 です。
以下はダイアログ内メッセージのテキストです。
[OK] ボタンをクリックして続けてください。 新しい Lazarus 1.6.2 でも同様にエラーになります。
起動しましたら、File -> Quit で終了します。
Free Pascal と Lazarus のソースファイルをダウンロードします。 ダウンロードしたファイルを格納したディレクトリを down_loaded_directory とします。
ファイル | ダウンロードページ |
---|---|
fpcbuild-3.0.0.tar.gz | SourceForge サイト Free Pascal Compiler ページ |
lazarus-1.6.2-0.tar.gz | SourceForge サイト Lazarus ページ |
次のコマンドで設定ファイルをバックアップします。 fpc -iV, lazbuild -v は Free Pascal, Lazarus のバージョンを得るコマンドです。
$ cd ~ $ cp -p .fpc.cfg .fpc-`fpc -iV`.cfg $ rsync -ax .fppkg/ .fppkg-`fpc -iV` $ rsync -ax .lazarus/ .lazarus-`lazbuild -v`
次のコマンドでインストール先と作業ディレクトリを作成します。
$ mkdir -p bin tmp fpc-private fpc-private-build $ cd fpc-private $ mkdir -p bin man share/man $ cd ..
~/.bashrc を編集して Free Pascal 3.0.0 と Lazarus 1.6.2 を 既定で起動、参照するようにします。 nano は素朴なエディタです。 手に馴染んだエディタを使ってください。
$ nano ~/.bashrc
~/.bashrc の最後に次のスクリプトを追加します。
# Add ~/fpc-private/bin to PATH. fpc_private_bin=$HOME/fpc-private/bin if [ -d "$fpc_private_bin" ]; then if ( ! ( echo $PATH | grep -q -F "$fpc_private_bin" ) ); then PATH=$fpc_private_bin:$PATH fi fi # Add fpc, and lazarus man pages to MANPATH. fpc_private_mans="$HOME/fpc-private/man $HOME/fpc-private/share/man" for fpc_private_man_dir in $fpc_private_mans do if [ -d "$fpc_private_man_dir" ]; then if ( ! ( echo $MANPATH | grep -q -F "$fpc_private_man_dir" ) ); then if ( echo $MANPATH | grep -q -e '^:' -e '^$' ); then export MANPATH=:${fpc_private_man_dir}$MANPATH else export MANPATH=${fpc_private_man_dir}:$MANPATH fi fi fi done
~/.bashrc をテストします。エラーになる場合は編集が正しいか確認してください。
$ source ~/.bashrc
PATH 環境変数に /home/login-name/fpc-private/bin が含まれているか確認してください。
$ echo $PATH /home/login-name/fpc-private/bin:...省略...
MANPATH 環境変数に /home/login-name/fpc-private/man, /home/login-name/fpc-private/share/man が含まれているか確認してください。
$ echo $MANPATH :/home/login-name/fpc-private/man:/home/login-name/fpc-private/share/man...省略...
結果が違う場合は、インストール先ディレクトリが作成できていないか、 スクリプトに誤りがある可能性があります。
次のコマンドを入力して下さい。
$ ( echo $PATH | grep -F ~/bin: ) || PATH=~/bin:$PATH
次のコマンドを入力します。
$ cd ~/fpc-private-build $ tar zxvf down_loaded_directory/fpcbuild-3.0.0.tar.gz $ tar zxvf down_loaded_directory/lazarus-1.6.2-0.tar.gz
Free Pascal を構築します。 第 1 ステージでは最適化されていない Free Pascal を構築します。
次のコマンドを入力してください。 ファイルを格納しているストレージデバイスにも依存し、30 分 ~ 3 時間ほどかかる作業です。
$ cd ~/fpc-private-build/fpcbuild-3.0.0 $ make all OPT='-gl -O-' PP=/usr/bin/ppcarm NOGDB=1 $ make install OPT='-gl -O-' PP=/usr/bin/ppcarm NOGDB=1 PREFIX=~/fpc-private $ ln -s -f ~/fpc-private/lib/fpc/3.0.0/ppcarm ~/bin/ppcarm $ make install sourceinstall OPT='-gl -O-' PP=~/bin/ppcarm NOGDB=1 PREFIX=~/fpc-private $ ~/fpc-private/lib/fpc/3.0.0/samplecfg ~/fpc-private/lib/fpc/3.0.0
Free Pascal インストール結果を確認します。 バージョン番号が構築した 3.0.0 に変わっていれば第 1 ステージは成功です。
$ fpc -iV 3.0.0 $ ppcarm -iV 3.0.0
Free Pascal を構築します。 第 2 ステージでは最適化された Free Pascal を構築します。
次のコマンドを入力してください。 ファイルを格納しているストレージデバイスにも依存し、30 分 ~ 3 時間ほどかかる作業です。
$ make all OPT='-gl' PP=~/bin/ppcarm NOGDB=1 $ make install PP=~/bin/ppcarm NOGDB=1 PREFIX=~/fpc-private $ make install sourceinstall NOGDB=1 PP=~/bin/ppcarm PREFIX=~/fpc-private
Free Pascal インストール結果を確認します。 バージョン番号が構築した 3.0.0 のままであれば第 2 ステージは成功です。
$ fpc -iV 3.0.0 $ ppcarm -iV 3.0.0
次のコマンドを入力してください。 ファイルを格納しているストレージデバイスにも依存し、30 分 ~ 3 時間ほどかかる作業です。
$ cd ~/fpc-private-build/lazarus $ make clean bigide $ make install PREFIX=~/fpc-private
Lazarus から Free Pascal のユニットソースコードを 参照できるようにシンボリックリンクを構成します。
$ cd ~/fpc-private/share/lazarus $ mkdir -p fpc/`fpc -iV` $ cd fpc/`fpc -iV` $ ln -sf ../../../src/fpc-`fpc -iV`/fpc/fpcsrc source
標準の Lazarus 設定ファイルを退避します。 次のコマンドを入力してください。 標準の Lazarus 設定が残っていると機能を発揮できない場合があります。
$ mv ~/.lazarus ~/.lazarus.old
Lazarus を起動します。GUI Desktop でシェルウインドウ内で次のコマンドを実行します。
$ cd ~ $ ( echo $PATH | grep -F ~/bin: ) || PATH=~/bin:$PATH $ source ~/.bashrc $ startlazarus
Lazarus が起動したら設定ダイアログが現れます。
各項目を次のように設定してください。上から順に設定することをお勧めします。 下に続く設定が自動的に決定される場合があります。全て OK が出ます。 出ない場合は標準の Lazarus が起動している可能性があります。 which startlazarus コマンドで実行ファイルの場所が /home/user-name/fpc-private/bin/startlazarus になっているか確かめてください。
項目 | 設定 |
---|---|
Lazarus | /home/login-name/fpc-private/share/lazarus/ |
Compiler | /home/login-name/fpc-private/bin/fpc |
FPC sources | $(LazarusDir)/fpc/$(FPCVer)/source |
Make | make |
Debugger | gdb |
次のようなメッセージでエラーダイアログが出ます。 ARM アーキテクチャ上で発生する既知の問題 です。
以下はダイアログ内メッセージのテキストです。
[OK] ボタンをクリックして続けてください。
ここまでの操作でインストールは完了します。
ここでは複数の Lazarus を起動する方法、 あるいはエラー "Lazarus instance is running but not responding." を解消する 方法を説明します。Lazarus を起動しようとして次のようなエラーダイアログが表示され起動できない場合があります。
このエラーはシステム内に Lazarus が 2 つ以上存在する場合に発生します。他のユーザーが起動、あるいは 他の Xserver (例えば VNC server の仮想画面) に向けて新しく Lazarus を起動し、2 つ以上になる場合も含まれます。
このエラーを解消するには次のように実行します。
$ startlazarus --force-new-instance
オプションで提供されている機能なので常用は要注意なのかもしれません。
他に Lazarus のプロセスが無い ( ps uaxww | grep lazarus でプロセスが見つからない ) のに起きる場合は、/tmp/LazarusMain[0-9][0-9] ファイルを削除して下さい。
インストールを再履行をするのであれば構築に使用したファイルを保存します。次のコマンドを入力してください。
$ cd ~/fpc-private-build/.. $ tar zcvf fpc-private-build.tar.gz fpc-private-build
~/.bashrc に施した修正を元に戻します。効果は再ログイン後に出ます。
$ nano ~/.bashrc
編集操作をします。
~/bin/ppcarm シンボリックリンクを削除します。
$ rm ~/bin/ppcarm
~/.fpc.cfg を元に戻します。元々無かった場合は、無効にします。 x.x.x の部分は標準の Free Pascal のバージョンです。
$ mv ~/.fpc.cfg ~/.fpc.cfg-x $ if [ -f ~/.fpc-x.x.x.cfg ]; then mv ~/.fpc-x.x.x.cfg ~/.fpc.cfg; fi
~/.fppkg を元に戻します。元々無かった場合は、無効にします。 x.x.x の部分は標準の Free Pascal のバージョンです。
$ mv ~/.fppkg ~/.fppkg-x $ if [ -d ~/.fppkg-x.x.x ]; then mv ~/.fppkg-x.x.x ~/.fppkg; fi
~/.lazarus を元に戻します。元々無かった場合は、無効にします。 x.x.x の部分は標準の Lazarus のバージョンです。
$ mv ~/.lazarus ~/.lazarus-x $ if [ -d ~/.lazarus-x.x.x ]; then mv ~/.lazarus-x.x.x ~/.lazarus; fi
インストールしたファイル、構築作業に使用したファイルを削除します。
$ rm -rf ~/fpc-private ~/fpc-private-build
以上でアンインストールは終了です。