Debian 12 编译安装 Erlang 23.2

软件版本

软件版本
Debian12
autoconf2.6.9
OpenSSL1.1.1
Erlang23.2

安装步骤

安装依赖

1
sudo apt-get install -y build-essential perl unzip flex bison fop xsltproc unixodbc libssl-dev unixodbc-dev libncurses5-dev libgl1-mesa-dev libglu1-mesa-dev libxml2-utils

安装 autoconf

特别注意

这里必须安装 2.69 版本的 autoconf,否则 Erlang 23.2 在编译前的配置操作会执行失败。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 卸载已安装的版本
sudo apt-get remove --purge autoconf

# 下载
curl -O http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz

# 解压
tar zxvf autoconf-2.69.tar.gz

# 进入解压目录
cd autoconf-2.69

# 配置
./configure

# 编译
make -j4

# 安装
sudo make install

# 查看版本
autoconf -V

安装 OpenSSL

特别注意

这里必须安装 1.1.1 版本的 OpenSSL,否则 Erlang 23.2 会编译失败。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 下载
wget https://github.com/openssl/openssl/archive/refs/heads/OpenSSL_1_1_1-stable.zip

# 解压
unzip OpenSSL_1_1_1-stable.zip

# 进入解压目录
cd openssl-OpenSSL_1_1_1-stable

# 配置
./config --prefix=/usr/local/openssl-1.1.1 --openssldir=/usr/local/openssl-1.1.1 shared

# 编译
make -j4

# 安装
sudo make install

安装 Erlang

提示

  • 若在 Erlang 的安装过程中,出现 wxWidgets 没有安装的警告信息,可以忽略该警告。
  • 由于暂时不需要使用到 wxWidegts 组件(GUI),因此下面使用了 --without-wx 命令行参数进行配置。
  • 若需要使用到 wxWidegts 组件(GUI),则需要安装 libwxgtk3.0-gtk3-devlibwxgtk-webview3.0-gtk3-dev 软件包,目前 Debian 12 的软件仓库里并没有这两个软件包,可能需要使用源码进行编译安装。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 创建安装目录
sudo mkdir -p /usr/local/erlang-23.2

# 下载
wget https://erlang.org/download/otp_src_23.2.tar.gz

# 解压
tar -xvf otp_src_23.2.tar.gz

# 进入解压目录
cd otp_src_23.2

# 配置
./otp_build autoconf
./configure --prefix=/usr/local/erlang-23.2 -with-ssl=/usr/local/openssl-1.1.1 --without-javac --without-wx

# 编译
make -j4

# 安装
sudo make install
1
2
3
4
5
6
7
# 配置环境变量
sudo vim /etc/profile
export ERLANG_HOME=/usr/local/erlang-23.2
export PATH=$PATH:$ERLANG_HOME/bin

# 使环境变量生效
sudo source /etc/profile

卸载 OpenJDK

Erlang 在安装过程中使用 fop 来生成 PDF 文档,而 fop 依赖了 OpenJDK,因此在上面安装依赖的步骤里,默认已经安装了最新版本的 OpenJDK。若希望在 Erlang 编译安装成功后卸载 OpenDJK,可以使用以下命令:

1
2
3
4
5
# 查看已安装的OpenJDK版本
sudo apt list --installed | grep openjdk

# 卸载OpenJDK(请自行更改版本号)
sudo apt-get autoremove openjdk-17-jre-headless

参考资料