masquerade0324のブログ

とある大学院生のメモ書き

Ubuntu 13.04(64ビット)にSML#(バージョン1.2.0)をソースからビルド

64ビットのUbuntu 13.04にSML#をいれよう

VMware Player上に入れたUbuntu 13.04(64ビット)に,SML#を入れようと思いましたが,.debではつまらないのでソースからビルドしよう!ということで,ソースからビルドしました.ただ,いままでは32ビットUbuntuにしかいれてなかったので割りとすんなりいってたのですが,今回は初の64ビットUbuntuということで,何度もつまってはググるということを繰り返してやっとできました.試行錯誤した上で結果だけ見ると,とても単純でした.ただ,どのライブラリをインストールすればよいのかということを手探りで求めたので,かなり時間がかかりました.

以下は覚書です.

ビルド手順

SML#のビルド手順を書いていきます.なお,SML#をインストールするディレクトリへのパスをPATHとします.

  1. g++-multlibとlib32gmp-devを入れる.

    sudo apt-get install g++-multlib lib32gmp-dev  
    
  2. SML#のWebサイト http://www.pllab.riec.tohoku.ac.jp/smlsharp/ja/ からソースコードをダウンロードして展開し,configureにいろいろとオプションを与えてビルドします.

    $./configure CC='gcc -m32' LD='ld -m elf_i386' --prefix=PATH
     --enable-fast-build
    $make
    $make install
    
  3. PATH/bin にパスを通せば,あとは $smlsharp で起動出来ます.

結論

ほとんどSML#のWebサイトに書いてある通りですが,最初の2つのライブラリをaptで入れる必要がありました.GNU GMPの32ビット版のライブラリは,最初はソースからビルドしていたのですが,なぜかうまくいきませんでした.あと,g++-multlibというのが必要みたいです.詳しくは調べていません.

兎にも角にも,64ビット版のUbuntu 13.04にもSML#を入れることができました.少しは誰かのためになると思って.