Skip to content

Instantly share code, notes, and snippets.

@bryanhunter
Last active October 6, 2024 03:47
Show Gist options
  • Save bryanhunter/10380945 to your computer and use it in GitHub Desktop.
Save bryanhunter/10380945 to your computer and use it in GitHub Desktop.
Build Erlang 17.0 on a fresh Ubuntu box (tested on 12.04 and 14.04)
#!/bin/bash
# Pull this file down, make it executable and run it with sudo
# wget https://gist.githubusercontent.com/bryanhunter/10380945/raw/build-erlang-17.0.sh
# chmod u+x build-erlang-17.0.sh
# sudo ./build-erlang-17.0.sh
if [ $(id -u) != "0" ]; then
echo "You must be the superuser to run this script" >&2
exit 1
fi
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."
else
wget http://www.erlang.org/download/otp_src_17.0.tar.gz
fi
tar -xvzf otp_src_17.0.tar.gz
chmod -R 777 otp_src_17.0
cd otp_src_17.0
./configure
make
make install
exit 0
@prithvip
Copy link

Thanks for this!

@rsgrafx
Copy link

rsgrafx commented Oct 21, 2014

Thank You.

@kgish
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.

@dmitrybalashev
Copy link

Linux Mint 17.0 +1

@dd1994
Copy link

dd1994 commented Mar 11, 2015

👍

@Syra
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

@marinakr
Copy link

Thank you!

@Suvitruf
Copy link

Also you need to set PATH to erlang

ERLANG_HOME=/usr/local/lib/erlang/
export PATH=$PATH:$ERLANG_HOME/bin

@ntlv
Copy link

ntlv commented Nov 19, 2015

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

@h8
Copy link

h8 commented Feb 8, 2016

Guys, look – https://www.erlang-solutions.com/resources/download.html All versions, well packaged.

@Wykks
Copy link

Wykks commented Feb 23, 2016

@h8 awesome thanks !

@folkcode
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 !

@nanubau
Copy link

nanubau commented Jun 30, 2016

Error:./configure :no such file or directory

Thanks in advance

@billysz
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.

@bidiu
Copy link

bidiu commented Mar 29, 2017

Really thanks, saved me much time

@arunvastradmath
Copy link

hi,

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

@0xradical
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.

@maximvl
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

@nikhilmore0504
Copy link

Works like a gem

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