このような疑問にお答えします。
こんにちは、イノです。
本記事では、地球流体電脳電脳倶楽部がリリースしている地球流体電脳ライブラリ(DCL)をmacにインストールする方法について解説していきます。
地球流体電脳ライブラリ(DCL)とは
地球流体電脳ライブラリ(DCL)は、地球流体電脳電脳倶楽部がリリースしている、可視化処理, 数 値計算処理, 文字処理用の関数群を集めたライブラリです。
詳細は公式ページをご参照ください。↓
https://www.gfd-dennou.org/arch/dcl/dcl-QA/dcl-QandA-1.html
Macportsのアンインストール
電脳ライブラリの公式ドキュメントには、Macportsを使用したインストール方法が記載されていましたが、私の場合コンパイルがうまく通りませんでした。
そこで、ここではMacportsをアンインストールし、Homebrewでインストールします。もし、Macportsでインストールがうまくいけばそちらで問題ありません。
Maportsのアンインストール方法は、公式ドキュメントの「Uninstall MacPorts」を参考にします。
インストール済みのportsを全てアンインストールする
$ sudo port -fp uninstall installed
ユーザーとグループを削除する
$ sudo dscl . -delete /Users/macports
$ sudo dscl . -delete /Groups/macports
フォルダの削除
$ sudo rm -rf \
/opt/local \
/Applications/DarwinPorts \
/Applications/MacPorts \
/Library/LaunchDaemons/org.macports.* \
/Library/Receipts/DarwinPorts*.pkg \
/Library/Receipts/MacPorts*.pkg \
/Library/StartupItems/DarwinPortsStartup \
/Library/Tcl/darwinports1.0 \
/Library/Tcl/macports1.0 \
~/.macports
以上で完了です。
フォルダの削除については、必要のない行は削除しながら、エラーが出ないところのみを実行すれば大丈夫です。
最後のコマンドは、標準のインストール場所を使用している場合に有効なので、
prefix(/opt/local)やapplications_dir(Applications/MacPorts)、frameworks_dirを変更している場合は、置き換えが必要です。
Homebrewのインストール
Homebrewをインストールします。
Homebrewのページにて、インストール用のスクリプトをコピーします。
コピーしたスクリプトをターミナルに貼り付けて実行(Enter)します。
実行後、インストールが進行し、
Installation Success
と表示されたらインストール完了です。
DCLライブラリのインストール
注意:ここではすでにMac上にGCCの環境構築ができているものとして説明しています。
シンポジックリンクを貼る
私の環境では、既にHomebrewとXcodeのGCCをそれぞれインストールしていたので、HomebrewのGCCを使うためにシンポジックリンクを貼ります。
ln -s /usr/local/bin/gcc-11 /usr/local/bin/gcc
ln -s /usr/local/bin/g++11 /usr/local/bin/g++
これで、実行すればOKです。シンポジックリンクを貼ることで、それぞれの呼び方を区別することができるようになります。
PATHを通す
ターミナルで次のコマンドを実行します。
vim ~/.bash_profile
bash_profileのファイルが開くので、編集します。
vimでの編集の仕方はこのような感じです。
i 編集モードに入り、書きたいコードを書く
esc 編集モード解除
:wq 保存して終了
編集モードに入ったら、ファイルの最後に以下の行を追加します。
export PATH="/usr/local/bin:$PATH"
sec で編集モードを解除し、:wq で保存して終了しましょう。
これでPATHを通すことができたはずです。
gtk3 をインストールする
画面を描画するためのライブラリをインストールします。
brew install gtk+3
インストールが進み、エラーなく処理が完了すればOKです。
DCLのビルド
地球流体電脳ライブラリにアクセスし、「ライブラリのダウンロード」という項目から、dcl-7.4.6.tar.gz(2022.2 現在最新版)をダウンロードします。
ターミナル上でダウンロードしたフォルダ(dcl-7.4.6)にアクセスします。その場で以下のコマンドを実行します。
./configure
特にエラーなく進行すれば成功です。
次に全てのソースをコンパイルします。
make
これで必要なファイルが作られました。
最後に、コンパイルできたdclfrt とそれが使うファイルをインストールします。
sudo make install
ここまでできたら完了です!
早速サンプルを動かしてみましょう。
サンプルを動かしてみる
公式ページに超初心者用の入門書として、「ごくらく DCL」というドキュメントが配布されています。
こちらを参考に、サンプルを動かしてみます。
今いる、「dcl-7.4.6」のディレクトリでdemoというフォルダがあることを確認しましょう。
ls
と打つと、ディレクトリの中身を一覧表示することができます。
demo という名前のフォルダがありますね。
cd demo
で移動したら、もう一度
ls
で中身を見てみましょう。
お目当てのフォルダがありました。
さっそくサンプルを動かしていきます。
cd gokuraku
cd hop
DCLが標準的にインストールされている場合、以下のコマンドでhopという実行ファイルを作ることができます。
dclfrt -o hop hop.f
hopファイルを実行しましょう。
./hop
と打つと、
WORKSTATION ID (I) ? ;
1:DISP, 2:FILES ;
と聞かれます。今の環境で利用可能な図形出力装置のリストが書き出されています。
2を入力すると、ファイルへの出力ができます。
以下のような警告メッセージが出ますが、気にしなくて良いです。
*** WARNING (STSWTR) *** WORKSTATION VIEWPORT WAS MODIFIED.
上のようなpdfファイルを生成することができました。
ファイルの出力形式を変更したいときは、
./hop -sw_ifl=x
のようにオプションを指定することができます。
xに1を指定するとpng、2を指定するとeps、3を指定するとSVG、4を指定するとpdfが出力されます。
うまくいかないときはこれを試してみて!
とすると、
error : Could not compile conftest.c
というエラーが出る…
DCLをビルドする際にこのようなエラーが出る場合、
GCCではなく、CCが認識されている可能性があります。
export CC=gcc
./configure
とすれば、解決できると思います。