ログイン
編集不可のページディスカッション情報添付ファイル
kurubushi/nix_on_sol

MMA

nix on sol

http://nixos.org/nix/manual

材料

注意点

準備?

準備なしで、"いれる" をやってみて、 コケたらやるとよいかもです。

sqlite3

sol には /usr/include/sqlite3.h 的なものがないので入れます。

公式からとってきて、

$ ./configure --prefix=$HOME/opt && make && make install

perlのモジュール

perlのモジュールも求めてきます。

例えば、WWW-Curlだったら、CPANからソースを落して、展開して、

$ perl Makefile.PL PREFIX=$HOME/opt && make && make install

標準でこのprefixの場合、$HOME/opt/lib64/perl5 に入るようです。

今後のnixのためにパスを指定しておきます。

$ export PERL5LIB=$HOME/opt/lib64/perl5

いれる

nix-1.7を展開して、

$ ./configure --prefix=$HOME/opt --with-store-dir=$HOME/.nix/store --localsatedir=$HOME/.nix/var

なお、ここでのprefixはnixのコマンド群やmanが入る場所であって、 nixによるインストールでファイルが格納される場所ではない。

storedir, localsatedirはお好みで変更。ただし、デフォルトだと/nix/store, /nix/varなので 上のように変更する必要があります。

SQLite3のパスがうんぬんといわれたら、次のようにしてみる。

$ SQLITE3_LIBS=$HOME/opt/lib SQLITE3_CFLAGS="-I$HOME/opt/include" ./configure --prefix=$HOME/opt --with-store-dir=$HOME/.nix/store --localstatedir=$HOME/.nix/var

で、

$ make

すると、Makefile.configが生成されます。 で、pthreadにリンクできないといって終了してしまうので、Makefileに追記します。

GLOBAL_LDFLAGS += -lpthread

その他、sqlite3のリンクができなかったり、パス関係でつまったら、

GLOBAL_LDFLAGS += -L/home0/y2013/UECACCOUNT/opt/lib
GLOBAL_LDFLAGS += -I/home0/y2013/UECACCOUNT/opt/include

とかもよいかもです。

make とおったら、

$ make install

いれる2

次で、リボジトリ的なものを追加します。 $HOME/.nix-defexpr $HOME/.nix-channels に反映されます。

$ nix-channel --add https://nixos.org/channels/nixpkgs-unstable
$ nix-channel --update

hello というパッケージを入れてみます。

$ nix-env -i hello

nixは最初、bootstrap-tools というパッケージをインストールしようとします。 内容物は、chmod とか、 at とかといった標準コマンドです。

そして、ここでなぜかセグフォします。

しかし、根気強くつづけていると、十数回目くらいで成功します。

インストールされた先は、$HOME/.nix/store したで、 ${ハッシュ値}-${パッケージ名}-${version} のようなディレクトリです。

そしてこれらへのシンボリックリンクをかき集めたディレクトリが、 $HOME/.nix/var/nix/profiles/HOEHOGE のような名前で生成されます。

ここへのリンクを貼るか、あるいはパスに加えましょう。

$ ln -s $HOME/.nix/var/nix/profiles/default $HOME/.nix-root
$ export PATH=$PATH:$HOME/.nix-root/bin
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/.nix-root/lib

$ hello

を確認しておわり。

kurubushi/nix_on_sol (最終更新日時 2014-12-21 03:17:52 更新者 kurubushi)