有り難いことに、Ubuntuでは(2017-02-08現在)最新のNimのパッケージ(Nim compiler Version 0.16.1 (2017-02-07))が配布されている。
しかし、ホイホイ以下のようなコマンドでインストールしてNim Tutorial (Part I)をやると、しょっぱなからちょっと躓いたのでQiitaに書き留めておく。
$ sudo apt install nim
1.コンパイルしようとすると「cannot open '/usr/local/lib/nim/system.nim」と怒られる
ということで、非常に短絡的な解決方法だが、download - Nim Programming Languageからソースコードをダウンロードし、その中に入っているlibディレクトリを、まるっと該当のディレクトリに移す。以下のような具合である。
$ wget https://nim-lang.org/download/nim-0.16.0.tar.xz
$ tar -Jxvf nim-0.16.0.tar.xz
$ sudo mv min-0.16.0/lib /usr/local/lib/nim
※: もちろんコマンド操作が不安な人は、Nautilusなどのファイルマネージャーを管理者権限で立ち上げて操作しても問題ない。
$ sudo nautilus #後はマウスで操作
"nim compile --run filename.nim" を実行しても、Cコンパイラのエラーが出て実行できない。
これはNimのバグなのか判別がつかないが、エラーログを見る限り、ビルド時に生成されるnimcache内のCのソースコードで、いくつか行末のセミコロン(;)が抜けていてビルドできないらしい。
これの回避方法は、最初からリリースバージョンでコンパイルする。すると無事実行ファイルが生成される。ちゃんと写経できていれば、実行ファイルはソースファイルの拡張子が無くなったものが、ソースファイルのあるディレクトリに生成される。
$ nim c -d:release filename.nim
$ ./filename #これで実行
以上。
また何かハマったら加筆する。
P.S.
加筆予定リスト
- nimbleのコンパイルとインストール(?)
- nimbleからNimのIDE「Aporia」のインストール
バグ報告?
- Nimをインストールしてもライブラリがないと怒られるのはあまりよろしくない気がするので、パッケージマネージャーさんに相談するべきなのでしょうか。
- Nimを普通にコンパイルしてCのエラーが出るのはいささか良くない気がするので、これは本家に相談するべきでしょうか。
実行環境(neofetch結果)
.-/+oossssoo+/-.
`:+ssssssssssssssssss+:` ---------------------------
-+ssssssssssssssssssyyssss+- OS: Ubuntu 16.10 x86_64
.ossssssssssssssssssdMMMNysssso. Model: Aspire 3820 V1.13
/ssssssssssshdmmNNmmyNMMMMhssssss/ Kernel: 4.8.0-37-lowlatency
+ssssssssshmydMMMMMMMNddddyssssssss+ Uptime: 2 hours, 33 mins
/sssssssshNMMMyhhyyyyhmNMMMNhssssssss/ Packages: 2964
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Shell: zsh 5.2
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ Resolution: 1366x768
ossyNMMMNyMMhsssssssssssssshmmmhssssssso DE: Unity
ossyNMMMNyMMhsssssssssssssshmmmhssssssso WM: Compiz
+sssshhhyNMMNyssssssssssssyNMMMysssssss+ WM Theme: Ambiance
.ssssssssdMMMNhsssssssssshNMMMdssssssss. Theme: Ambiance [GTK2/3]
/sssssssshNMMMyhhyyyyhdNMMMNhssssssss/ Icons: Ubuntu-mono-dark [GTK2/3]
+sssssssssdmydMMMMMMMMddddyssssssss+ Terminal: gnome-terminal
/ssssssssssshdmNNNNmyNMMMMhssssss/ CPU: Intel i5 M 450 (4) @ 2.4GHz
.ossssssssssssssssssdMMMNysssso. GPU: Intel Ironlake Mobile
-+sssssssssssssssssyyyssss+- Memory: 2711MiB / 7653MiB
`:+ssssssssssssssssss+:`
.-/+oossssoo+/-.
neofetchに関してはこちら: Neofetch 3.0 Released - OMG! Ubuntu!