ubuntuの下でerlangソースコードのコンパイルとインストール


今日ubuntuシステム(ubuntu server)を再インストールしましたが、開発環境がほとんど裸であることがわかりました.再コンパイルインストールerlangにはいくつかのキーライブラリが必要で、昨年インストールしたが、今は忘れてしまったので、メモしておきます.
もちろんapt-getでerlangを直接インストールできますが、バージョンは古いだけで、ubuntuで使用可能なerlangをソースコードからどのようにコンパイルするかについて説明します.
aptインストールerlangに依存する他のライブラリを次のコマンドで確認できます.
sudo apt-get build-dep erlang
しかし、openjdk、fopなど、ここの多くのライブラリは必要ではありません.
1.基礎開発ツールのインストール
gcc/g+、makeを指す
sudo apt-get install build-essential 

2.その他のErlang依存キーライブラリ
sudo apt-get install libncurses5-dev 
sudo apt-get install libssl-dev

基本的に上記のソフトウェアをインストールすると、利用可能なerlang/OTPとその仮想マシンをスムーズにコンパイルできます.
./configure && make
sudo make install

デフォルトでは、Erlang Homeディレクトリは/usr/local/lib/erlang/です.
欠けているのは次のとおりです.
  • systemtapのサポート、
  • JInterfaceのサポート、
  • wxのGUIライブラリ(observerは使えません)、
  • ODBCのサポート、
  • Erlangドキュメントの生成
  • 以上の機能が必要な場合は、下を見続けます.
    3.旧バージョンのErlangが依存する可能性のある他のライブラリ
    今m 4はもう必要ではありません.古いバージョンのerlangは必要かもしれません.
    sudo apt-get install m4
    また、これらも必要ではありません.古いバージョンが必要かもしれません.
    sudo apt-get install libncursesw5-dev libreadline6-dev
    4.その他erlangソースコードのコンパイルに影響しない非必須ソフトウェアのインストール
    4.0システムtapのサポート
    まずシステムtapをインストールするにはlinuxカーネルdebug symbolsのサポートが必要です.そのため、独自のカーネルを再コンパイルする必要があります.
    幸いubuntu-10.xxのためにlinux-image-dbgsymのaptインストールソースを提供している人がいて、このステップを省きました.詳しく見る
    このメモ
    カーネルdbgsymをインストールしたら、systemtapとsystemtap-sdt-devのインストールを開始します.
    sudo apt-get install systemtap systemtap-sdt-dev

    Erlang/OTPのコンパイル時にsystemtapを指定する
    ./configure --with-dynamic-trace=systemtap --enable-vm-probes --enable-native-libs

    注意システムtapのみをインストールする場合、システムtap-sdt-debがインストールされていないと次のエラーが発生します.
    configure: error: No dtrace utility found.
    4.1.JDKの取り付け
    JInterfaceのコンパイルにはjavaコンパイラjavacが必要です(JInterfaceはJDK 5ですが、デフォルトのJDKが1.5未満の場合、makeがJInterfaceに到達してもエラーが発生します).
    JInterfaceは必須ではありませんが、使い続けるにはJDKをインストールする必要があります.2つのインストール方法があります.
    ubuntuはapt-getでインストールするか、oracle公式サイトでインストールパッケージをダウンロードして手動でインストールすることができます.
    4.1.1 apt-getインストール
    昔、ubuntuはjavaを直接apt-getでインストールすることができました.
    sudo apt-get install sun-java6-jdk
    Ubuntu 10.04からapt-getはsun-jdkをデフォルトで提供しなくなり、aptにJDKソースを手動で追加する必要があります
    1)Ubuntu 10.04でソースを手動で追加するには:
    sudo apt-add-repository "deb http://archive.canonical.com/ lucid partner"
    

    2)Ubuntu 10.10で、手動でソースを追加します.
    sudo apt-add-repository "deb http://archive.canonical.com/ubuntu maverick partner"
    

    3)Ubuntu 11.10で、手動でソースを追加します.
     sudo add-apt-repository ppa:ferramroberto/java
     

    インストールの完了:
    sudo apt-get update
    sudo apt-get install sun-java6-jdk

    4)Ubuntu 12.10で、手動でソースを追加します.
     sudo add-apt-repository ppa:webupd8team/java
     

    インストールの完了:
    sudo apt-get update 
    sudo apt-get install oracle-java6-installer
     

    4.1.2 JDKインストールパッケージのダウンロードインストール
    もちろんoracleのウェブサイトに行って直接JDK(登録が必要)のインストールをダウンロードすることもできて、jrockitとsunのJDKはすべてできます
    sun:
    http://www.oracle.com/technetwork/java/javase/downloads/index.html
    jrockit:
    http://www.oracle.com/technetwork/middleware/jrockit/downloads/index.html
    4.1.3インストール完了後、JDKに環境変数を設定する必要がある
    普通はJAVAを設置しますHOMEとPATH(私は/etc/profileで設定することに慣れています);
    JAVA_HOME=/my/path/to/jdk
    PATH=$JAVA_HOME/bin:$PATH
    注意:
    jdkのインストールが完了したらjavacをチェックしたほうがいいです.新しくインストールしたJDKが自動的にデフォルトのJDKになるとは限らないからです.Javaコンパイラのバージョンを確認します.
    javac -version

    4.2その他の重要でないライブラリもあります
    たとえば、リレーショナル・データベース、グラフィック・インタフェース.
    sudo apt-get install libc 6(Ubuntu 9.10以降は自動的にこれを持っているので、これ以上詰める必要はありません)
    sudo apt-get install unixodbc unixodbc-dev  ODBC              
    

    Erlangの新しいGUIツールはwxWidgetsに基づいて開発されているので、これらのツールを使用するにはwxWidgetsをインストールする必要があります.
    ubuntuでwxをインストールします.
    
    sudo apt-get install freeglut3-dev libwxgtk2.8-dev
    

    注意wxだけがうまくいかないmakeはGUIをサポートするerlang/otpを出して、freeglut 3-devも必要で、さもなくば以下のエラーを提示します:
    Can not link the wx driver, wx will NOT be useable

    古いバージョンのerlangで使用されている古いグラフィックツール(toolbar、appmon、pman、debugger、tvなど)は、tcl/tkのwishでGUIインタフェースを作るため、tkをインストールする必要があります
    sudo apt-get install tk8.5

    tkは古いバージョンerlangのコンパイルとインストールに影響しませんが、toolbarが提供する一連のグラフィックモニタリングツールを開発中に使用したい場合に問題が発生します.
    4.3 erlangヘルプドキュメントの生成に必要なソフトウェア
    R 13 B 03以降、ヘルプファイルを自動的に生成するには、xsltprocとfopをインストールする必要があります.
    sudo apt-get install xsltproc
    sudo apt-get install fop

    いずれも大きい(百MB以上)ので、ドキュメントを気にしないでインストールしなくてもいいし、erlangのmakeに影響しません.
    5.manマニュアルのインストール
    公式にはソースパッケージのほかに、manマニュアルのダウンロードも提供されており、このman圧縮パッケージをダウンロードした後、erlang homeディレクトリの下に解凍し、後でerl-manコマンドで関連モジュールの定義と説明を参照することができます.例えば、listsモジュールを参照してください.
    erl -man lists

    6.アンインストール
    デフォルトでは、Erlangホームディレクトリは/usr/local/lib/erlang/であり、このディレクトリを直接削除するとerlang otpをアンインストールできます.
    自分でERL_を設定したらLIBSなどの環境変数も、対応するディレクトリを削除することを覚えています.
    cryoliteはblog文章の安定性を保証せず、時間と必要があればいつでも原文を修正します.
    7.その他の取り付け方法
    7.1 clangでerlangをコンパイルする
    clangについてはここを見ることができます(
    Linuxでclang 3.0+llvm 3.0+libc++を使用)の紹介です.
    ubuntuの下にはclangのインストール方法が2種類あります
    1)apt-getでclangをインストールできる
    sudo apt-get install clang

    そして
    CC=clang CXX=clang ./configure
    

    2)行ってもいい
    llvmのウェブサイトのダウンロード最新のコンパイルされた公式clang、そして
    CC=/path/to/clang+llvm-3.0/bin/clang CXX=/path/to/clang+llvm-3.0/bin/clang ./configure
    

    これで構成が完了するとmake R 15 Bができます.
    make 
    sudo make install

    しかしR 14 B 04はmakeに成功せず、
    だれか Mac OS XでCFLAGSを-Qunused-argumentsコンパイルに成功するように設定します.しかしubuntuではgccはこのパラメータをサポートしていません.の
    R 14 Bと
    R 15 Bのインストール説明書で、後者だけがclangに言及していることが分かったが、R 14 Bはclangを公式にサポートしていない可能性があると推定されている.
    理論的にはclangもR 14 Bをコンパイルすることができ、手動でコンパイルスクリプトを修正してコンパイルに成功した人もいますが、コンパイルされたR 14 B仮想マシンの実行時に問題があるようなので、R 14 Bのコンパイルを振り回すことはありません.
    7.2.erlang-solutions公式提供のバイナリインストールパッケージ
    今erlang-solutionsは正式にコンパイルしたErlang OTPを提供し始めました.
    ここ
    様々なプラットフォーム(Mac OSX,ubuntu,linux,OpenSUSE,CentOS,Debian)でコンパイルされた各バージョンのEralng OTPを提供します.
    ubuntuについては、ubuntuの公式よりも新しいバージョンを提供しており、リリースは非常にタイムリーで、新版erlang OTPが正式にリリースされたばかりで、バイナリはすでにコンパイルされています.
    しかし、openjdk、GUI gtk、wxなど、GUIのないserver ubuntuの下でも、他の依存を追加的にインストールする必要があります.
    apt-get、rpmでインストールできます.