1. 下载Erlang R16B02源码包
http://www.erlang.org/download/otp_src_R16B02.tar.gz
2. 由于编译Erlang的过程中需要用到java,所以先安装JDK并配置相应环境变量,在此使用jdk-6u45-linux-x64.bin
wget --no-cookies --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F" http://download.oracle.com/otn-pub/java/jdk/6u45-b06/jdk-6u45-linux-x64.bin
chmod u+x jdk-6u45-linux-x64.bin
./jdk-6u45-linux-x64.bin
export JAVA_HOME=/usr/local/jdk1.6.0_45
export PATH=$PATH:$JAVA_HOME/bin:
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
3. 安装Erlang依赖包
apt-get install g++ build-essential libncurses5-dev libgl1-mesa-dev libglu1-mesa-dev
4. 解包后执行以下命令,其中--enable-smp-support选项用于打开多处理器支持,--enable-kernel-poll选项用于打开epoll支持
./configure --prefix=/usr/local/erlang --enable-smp-support --enable-threads --enable-kernel-poll --enable-hipe
配置结束会有如下结果
*********************************************************************
********************** APPLICATIONS DISABLED **********************
*********************************************************************
crypto : No usable OpenSSL found
odbc : ODBC library - link check failed
ssh : No usable OpenSSL found
ssl : No usable OpenSSL found
*********************************************************************
*********************************************************************
********************** APPLICATIONS INFORMATION *******************
*********************************************************************
wx : wxWidgets not found, wx will NOT be usable
其中,
crypto : No usable OpenSSL found
ssh : No usable OpenSSL found
ssl : No usable OpenSSL found
可以通过:apt-get install libssl-dev 解决
odbc : ODBC library - link check failed
可以通过:apt-get install unixodbc unixodbc-dev 解决
wx : wxWidgets not found, wx will NOT be usable
这就必须通过安装wxWidgets库来解决
5. 下载wxWidgets源码包
https://sourceforge.net/projects/wxwindows/files/2.8.12/
6. 配置编译wxWidgets
tar jxf wxWidgets-2.8.12.tar.bz2
./configure --enable-unicode --with-opengl
配置过程中如果报找不到GTK库的错误,可以通过:apt-get install libgtk2.0-dev 解决
如果出现:configure: error: OpenGL libraries not available,通过如下方法解决
ln -s /usr/lib/x86_64-linux-gnu/libGL.so /usr/lib/libGL.so
ln -s /usr/lib/x86_64-linux-gnu/libGLU.so /usr/lib/libGLU.so
make && make install
由于Erlang需要用到wxWidget的stc,所以还需
cd wxWidgets-2.8.12/contrib/src/stc
make && make install
最后配置wxWidgets库路径
echo /usr/local/lib > /etc/ld.so.conf.d/wx.conf
ldconfig
7. 最后再重新配置编译Erlang
./configure --prefix=/usr/local/erlang --enable-smp-support --enable-threads --enable-kernel-poll --enable-hipe
make && make install
备注:
在安装完erlang后,有可能出现执行 tv:start(). 只输出一个PID,然后没有任何窗口弹出的情况。这是由于没有安装tk-dev包造成的。
解决的办法就是:
apt-get install tk-dev