Skip to content

Instantly share code, notes, and snippets.

@GPrimola
Last active June 8, 2025 18:41
Show Gist options
  • Select an option

  • Save GPrimola/9f2f6f10179faeeb7f5e11742cedb8ed to your computer and use it in GitHub Desktop.

Select an option

Save GPrimola/9f2f6f10179faeeb7f5e11742cedb8ed to your computer and use it in GitHub Desktop.
Install Erlang on Ubuntu 20.04
# Install Mise
sudo apt install curl
curl https://mise.run | sh
echo "eval \"\$(/home/giorgio/.local/bin/mise activate bash)\"" >> ~/.bashrc
#
# Strong Requirements
#
# [ ] git (to install with mise/asdf)
sudo apt install git
# [ ] build-essential
sudo apt instal build-essential
# [ ] libncurses
sudo apt install libncurses-dev
# [ ] autoconf (will be installed by unixodbc-dev)
# [ ] automake (will be installed by unixodbc-dev)
sudo apt install autoconf automake
#
# Soft Requirements (some features - apps - will not work)
#
# [ ] libssl-dev (OpenSSL: crypto, ssh, ssl)
sudo apt install libssl-dev
# [ ] odbc (unixodbc-dev will also install autoconf, automake and m4)
# ref: https://stackoverflow.com/questions/43446629/odbc-link-check-failed-error-while-compiling-erlang-otp-on-freebsd-10-1
# Why is this required? What does it do?
sudo apt install unixodbc-dev
# [ ] JDK
mise use -g [email protected]
# [ ] fop
sudo apt install fop
# [ ] OpenGL (to use with wxWidgets)
# ref: https://gist.github.com/shamiul94/a632f7ab94cf389e08efd7174335df1c
sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev
# [ ] GTK3 (to use with wxWidgets)
sudo apt install libgtk2.0-dev libgtk-3-dev
# [ ] libwebkit (required for wxWidgets wxWebView)
sudo apt install libwebkit2gtk-4.0-dev
# [ ] wxWidgets (with OpenGL and webView)
# CHECK https://github.com/asdf-vm/asdf-erlang/issues/203
# Get, Compile and Install wxWidgets
# > https://wiki.wxwidgets.org/Compiling_and_getting_started#Before_starting
curl -LO https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.5/wxWidgets-3.2.5.tar.bz2
tar -xvf wxWidgets-3.2.5.tar.bz2
cd wxWidgets-3.2.5/
mkdir gtk-build
cd gtk-build/
# Note: do not use --enable-compat28 as it breaks with wxDEPRECATED 🤷‍♂️️
../configure --enable-webview --enable-webviewwebkit --with-opengl --with-gtk=3
make -j2
sudo make install
sudo ldconfig
wx-config --version
wx-config --list
#
# FINALLY!! 🙌️🙌️🙌️
#
mise install erlang (will get latest, tested with 27.x.x)
# Add to .zshrc
export ERL_ROOT="$(mise where erlang)"
export ERL_INCLUDE_PATH="$ERL_ROOT/usr/include"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment