FreeBSDでD言語を動かす


目標

なるべく省エネでやっていきたいと思います。

公式どおりに

curl -fsS https://dlang.org/install.sh | bash -s dmd

して Hello, World! するところまでをやってみます。

(追記: FreeBSDならportsでも入れられるのでは?ということを言われました。たしかにportsのlang/dmd2にありますが、2017/1/26日時点で最新のlang/dmd2にあるバージョンはdmd-2.071.1とやや古めなので注意)

作業ログ

環境構築にはvagrantを使います。FeeBSDは公式でboxを提供してくれているのでそれを使います。

$ vagrant init freebsd/FreeBSD-11.0-RELEASE-p1
$ vagrant up
$ vagrant ssh

FreeBSDのバージョンは以下のように確認します。

vagrant@:~ % freebsd-version
11.0-RELEASE-p7

次にインストールするために必要なものを確認します。

まず、install.shファイルをダウンロードしてくるためにcurlが必要になります。

またデフォルトのシェルはcshで、最初からbashは入ってないので入れる必要があります。

vagrant@:~ % echo $SHELL
/bin/csh

FreeBSDの場合、実行時にlibstdc++.soにリンクするためgccも必要になります。

これらをpkgを使ってインストールします。

% sudo -i pkg install -y gcc curl bash

activateするためにbashを起動してからviとかでファイルを編集します。

(dmd-2.073.0)[vagrant@ ~/dev/dlang]$ cat hello.d
import std.stdio;

void main()
{
    writeln("Hello, World!");
}
(dmd-2.073.0)[vagrant@ ~/dev/dlang]$ rdmd hello.d
Hello, World!

ここまででHello, World!が動きました。