最近一直都是在debian jessie下開發erlang代碼,但部署環境一直都是在centos 6上面,發現centos 6系列的軟件版本仍是比較落後的, 但centos的健壯性的確很好。因此開始了在centos 6.8下面源碼安裝 erlang/otp 19.0.2版本。java
後來,特地查了一下centos 6的發佈時間,原來RHEL 6 發佈在2010年,如今有6年曆史了。另外RHEL 有10年支持,3年額外支持。強大的不是一點點。c++
首先從github下面下載erlang/otp 19.0.2源碼包:git
wget -c https://github.com/erlang/otp/archive/OTP-19.0.2.tar.gz
安裝依賴:github
yum groupinstall -y "Development Tools" yum install build-essential m4 openssl openssl-devel unixODBC \ unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel yum install java-1.8.0-openjdk-devel java-1.8.0-openjdk-headless \ java-1.8.0-openjdk-javadoc java-1.8.0-openjdk-src ant-trax
接下來要編譯源碼:centos
./configure --prefix=/usr/local/otp_src-19.0.2 make && make tests && make docs
在make docs 出錯了:bash
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
搜索了一下,參考:http://tscfengkui.blog.51cto.com/2204656/623458less
export JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true " make docs
這裏不斷出錯,而後從新執行上面的設置環境變量,不斷從新make,重複了3次以上終於編譯成功。ui
最近安裝:spa
make install && make install-docs
估計之後升級到centos 7後,這些編譯工做都不會是問題。unix