Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Build Erlang 17.0 on a fresh Ubuntu box (tested on 12.04 and 14.04)
# Pull this file down, make it executable and run it with sudo
# wget
# chmod u+x
# sudo ./
if [ $(id -u) != "0" ]; then
echo "You must be the superuser to run this script" >&2
exit 1
apt-get update
# Install the build tools (dpkg-dev g++ gcc libc6-dev make)
apt-get -y install build-essential
# automatic configure script builder (debianutils m4 perl)
apt-get -y install autoconf
# Needed for HiPE (native code) support, but already installed by autoconf
# apt-get -y install m4
# Needed for terminal handling (libc-dev libncurses5 libtinfo-dev libtinfo5 ncurses-bin)
apt-get -y install libncurses5-dev
# For building with wxWidgets
apt-get -y install libwxgtk2.8-dev libgl1-mesa-dev libglu1-mesa-dev libpng3
# For building ssl (libssh-4 libssl-dev zlib1g-dev)
apt-get -y install libssh-dev
# ODBC support (libltdl3-dev odbcinst1debian2 unixodbc)
apt-get -y install unixodbc-dev
mkdir -p ~/code/erlang
cd ~/code/erlang
if [ -e otp_src_17.0.tar.gz ]; then
echo "Good! 'otp_src_17.0.tar.gz' already exists. Skipping download."
tar -xvzf otp_src_17.0.tar.gz
chmod -R 777 otp_src_17.0
cd otp_src_17.0
make install
exit 0
Copy link

Tested on Ubuntu 14.04. Works perfect.

Copy link

Eldar7 commented Jun 14, 2014

Kubuntu 14.04 - five minutes of normal flight.

Copy link

Thanks for this!

Copy link

rsgrafx commented Oct 21, 2014

Thank You.

Copy link

kgish commented Jan 31, 2015

Also required additional packages:

$ sudo apt-get install xsltproc libxml2-dev fop

Using make -j is faster.

Also ./configure --prefix=/opt/erlang if your prefer using a local version instead of the default repos.

Copy link

Linux Mint 17.0 +1

Copy link

dd1994 commented Mar 11, 2015


Copy link

Syra commented Apr 2, 2015

For erlang 17.5 on ubuntu 14.02 also needed

apt-get install openjdk-7-jdk libxml2-utils

Copy link

Thank you!

Copy link

Also you need to set PATH to erlang


Copy link

ntlv commented Nov 19, 2015

I just tried this with the 18.0 release, worked just fine. Thanks for providing this!

Copy link

h8 commented Feb 8, 2016

Guys, look – All versions, well packaged.

Copy link

Wykks commented Feb 23, 2016

@h8 awesome thanks !

Copy link

Hello guys,

I got follow errors:

CXX x86_64-unknown-linux-gnu/wxe_funcs.o
g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See file:///usr/share/doc/gcc-4.8/README.Bugs for instructions.
make[4]: *** [x86_64-unknown-linux-gnu/wxe_funcs.o] Error 4
make[4]: Leaving directory /root/code/erlang/otp_src_17.0/lib/wx/c_src' make[3]: *** [release] Error 2 make[3]: Leaving directory/root/code/erlang/otp_src_17.0/lib/wx/c_src'
make[2]: *** [release] Error 2
make[2]: Leaving directory /root/code/erlang/otp_src_17.0/lib/wx' make[1]: *** [release] Error 2 make[1]: Leaving directory/root/code/erlang/otp_src_17.0/lib'
make: *** [install.libs] Error 2

Is there anyone figure out what i has been missing ? Thanks in advance !

Copy link

nanubau commented Jun 30, 2016

Error:./configure :no such file or directory

Thanks in advance

Copy link

billysz commented Aug 16, 2016

NOTE: If you are building Erlang/OTP from git you will need to run ./otp_build autoconf to generate the configure scripts.

Copy link

bidiu commented Mar 29, 2017

Really thanks, saved me much time

Copy link


even i tried the setup as instructed. but now i wanted to know to move forward with mysql configuration.and what all necessary things are to installed for mysql configuration

Copy link

@storefolks a little late to the party but if you do $ touch lib/wx/SKIP inside otp_erlang source code before compiling it, it will skip the wx libs, which I believe are unstable and on a server should be irrelevant.

Copy link

maximvl commented Jan 13, 2019

For the latest Ubuntu package names/versions changed to:

apt-get -y install libwxgtk3.0-dev libgl1-mesa-dev libglu1-mesa-dev libpng-dev

Copy link

Works like a gem

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment