GithubHelp home page GithubHelp logo

asdf-erlang's Introduction

asdf-erlang

Erlang plugin for asdf version manager that relies on kerl for builds.

This plugin aims to combine the best of both worlds by using kerl.

kerl's compatibility and build scripts, together with asdf's easy version switching and support for the .tool-versions file. You do not need to have kerl already installed to use this. The plugin will install it's own version of kerl automatically.

Install

asdf plugin add erlang https://github.com/asdf-vm/asdf-erlang.git

Important: Make sure to read the Before asdf install section below to install dependencies!

Use

Check asdf readme for instructions on how to install & manage versions of Erlang. To specify custom options you can set environment variables just as you would when using kerl. For example, to skip the Java dependency during installation use:

export KERL_CONFIGURE_OPTIONS="--disable-debug --without-javac"
asdf install erlang <version>

You can also install Erlang from git, or provide the url to a fork and build from git.

asdf install erlang ref:master

export OTP_GITHUB_URL="https://github.com/basho/otp"
asdf install erlang ref:basho

See kerl for the complete list of customization options. Note that the KERL_BASE_DIR and KERL_CONFIG environment variables are set by the plugin when it runs kerl so it will not be possible to customize them.

Before asdf install

Ubuntu and Debian

Note that if you are using a previous version of Linux, you may need a different version of one of the below libraries.

Ubuntu 16.04 LTS "Xenial Xerus"

Install the build tools (dpkg-dev g++ gcc libc6-dev make debianutils m4 perl) apt-get -y install build-essential 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 (start observer or debugger!). Note that you may need to select the right wx-config before installing Erlang. apt-get -y install libwxgtk3.0-dev libgl1-mesa-dev libglu1-mesa-dev libpng-dev

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

For building documentation: apt-get install xsltproc fop

If you want to install all the above: apt-get -y install build-essential autoconf m4 libncurses5-dev libwxgtk3.0-dev libgl1-mesa-dev libglu1-mesa-dev libpng-dev libssh-dev unixodbc-dev xsltproc fop

Ubuntu 20.04 LTS

If you need to use wxWebView in Erlang you'll want to install a library for it: apt-get -y install libwxgtk-webview3.0-gtk3-dev

If you want to install all the above: apt-get -y install build-essential autoconf m4 libncurses5-dev libwxgtk3.0-gtk3-dev libwxgtk-webview3.0-gtk3-dev libgl1-mesa-dev libglu1-mesa-dev libpng-dev libssh-dev unixodbc-dev xsltproc fop libxml2-utils libncurses-dev openjdk-11-jdk

Ubuntu 24.04 LTS

If you want to install all the above: apt-get -y install build-essential autoconf m4 libncurses5-dev libwxgtk3.2-dev libwxgtk-webview3.2-dev libgl1-mesa-dev libglu1-mesa-dev libpng-dev libssh-dev unixodbc-dev xsltproc fop libxml2-utils libncurses-dev openjdk-11-jdk

Debian 12 (bookworm)

To install the whole dependency suite: apt-get -y install build-essential autoconf m4 libncurses-dev libwxgtk3.2-dev libwxgtk-webview3.2-dev libgl1-mesa-dev libglu1-mesa-dev libpng-dev libssh-dev unixodbc-dev xsltproc fop libxml2-utils openjdk-17-jdk

Arch Linux

Provides most of the needed build tools. pacman -S --needed base-devel

Needed for terminal handling pacman -S ncurses

For building with wxWidgets (start observer or debugger!). Make sure wx-config --selected-config prints gtk3-unicode-... before installing Erlang. Older OTP builds may require wxgtk2, in that case install wxgtk2-dev from AUR. pacman -S glu mesa wxwidgets-gtk3 libpng

For building ssl pacman -S libssh

ODBC support sudo pacman -S unixodbc

For building documentation and elixir reference builds: sudo pacman -S libxslt fop

Dealing with ODBC issues on arch

You may encounter an ODBC error with an output along these lines:

error: ld returned 1 exit status
[x86_64-pc-linux-gnu/Makefile:112: ../priv/bin/x86_64-pc-linux-gnu/odbcserver] Error 1

or

* odbc           : ODBC library - link check failed

This issue has been discussed here and also appears on kerl. There are a link error on Kerl auto configure. If you see this, add a export flag --with-odbc to KERL-CONFIGURE. Here is an example that skips the java dependency and also sets a specific (and existing) path for unixodbc installed via pacman:

export KERL_CONFIGURE_OPTIONS="--without-javac --with-odbc=/var/lib/pacman/local/unixodbc-$(pacman -Q unixodbc | cut -d' ' -f2)"
asdf install erlang <version>

OSX

Note, for MacOS 10.15.4 and newer, 22.3.1 is the earliest version that can be installed through kerl (and, therefore, asdf). Earlier versions will fail to compile. See this issue for details.

Install the build tools brew install autoconf

Install OpenSSL brew install [email protected] Erlang 24.1 and older require OpenSSL 1.1, read more here

Note, Erlang 25.1 and newer support OpenSSL 3.0, even for production use. If you want to build Erlang with [email protected], install it by brew install openssl

For building with wxWidgets (start observer or debugger!). Note that you may need to select the right wx-config before installing Erlang. brew install wxwidgets

For building documentation and elixir reference builds: brew install libxslt fop

Dealing with OpenSSL issues on macOS

You may encounter an SSL error with an output along these lines:

crypto : No usable OpenSSL found
ssh : No usable OpenSSL found
ssl : No usable OpenSSL found

This issue has been documented on kerl. If you see this error, you can use the --with-ssl flag with a path before installing Erlang. Here is an example that skips the java dependency and also sets a specific (and existing) path for OpenSSL installed via brew on macOS.

export KERL_CONFIGURE_OPTIONS="--without-javac --with-ssl=$(brew --prefix [email protected])"
asdf install erlang <version>

CentOS & Fedora

These steps assume a most recent build of CentOS (currently tested on CentOS 7.5 x64 & Fedora 28 x64)

Install the build tools sudo yum groupinstall -y 'Development Tools' 'C Development Tools and Libraries'

Automatic configure script builder sudo yum install -y autoconf

Needed for terminal handling sudo yum install -y ncurses-devel

For building with wxWidgets (start observer or debugger!). Note that you may need to select the right wx-config before installing Erlang. sudo yum install -y wxGTK3-devel wxBase3

For building ssl sudo yum install -y openssl-devel

For jinterface sudo yum install -y java-1.8.0-openjdk-devel

ODBC support sudo yum install -y libiodbc unixODBC-devel.x86_64 erlang-odbc.x86_64

For the documentation to be built sudo yum install -y libxslt fop

Solus

Install the build tools

sudo eopkg it -c system.devel

For building with wxWidgets (start observer or debugger!). Note that you may need to select the right wx-config before installing Erlang.

sudo eopkg install wxwidgets-devel libx11-devel mesalib-devel libglu-devel fop

For ODBC support

sudo eopkg install unixodbc-devel

For jinterface

sudo eopkg install openjdk-8 openjdk-8-devel

If you want to install all of the above

# Install build tools
sudo eopkg it -c system.devel

sudo eopkg install wxwidgets-devel libx11-devel mesalib-devel libglu-devel fop unixodbc-devel openjdk-8 openjdk-8-devel

OpenJDK issues on Solus

I ran into an issue where javac wasn't a recognized command in the terminal despite having installed openjdk-8 and openjdk-8-devel. Turns out it wasn't added to PATH by default. So simply add it to PATH like so:

# In ~/.bashrc add these to add Java to PATH
JAVA_HOME=/usr/lib64/openjdk-8
PATH=$PATH:$JAVA_HOME/bin

# In terminal
source ~/.bashrc

openSUSE Tumbleweed

Even after you have installed the dependencies below, the Erlang installer will warn that g++ and openssl-devel appear missing. This is safe to ignore.

The basic stuff to get Erlang to compile:

sudo zypper install unzip make automake autoconf gcc-c++ ncurses-devel

For crypto, ssh, and others (you probably want this):

sudo zypper install libssh-devel libopenssl-devel

For wx GUIs (observer, debugger, etc):

sudo zypper install wxGTK3-3_2-devel

To build documentation:

sudo zypper install fop libxml2-tools libxslt-tools

For ODBC support:

sudo zypper install unixODBC-devel

For jinterface:

sudo zypper install java-1_8_0-openjdk-devel

Getting Erlang documentation

Erlang may come with documentation included (as man pages, pdfs and html files, or even embedded documentation (via c:h function)).

For man pages this allows typing erl -man ets to get info on ets module.

For embedded documentation (on OTP 23+):

asdf-erlang uses kerl for builds, and kerl is capable of building the docs for specified version of Erlang in required formats.

For kerl to be able to build Erlang documentation two requirements have to be met:

  1. KERL_BUILD_DOCS environment variable has to be set to value yes
  2. Additional dependencies have to be installed. For detailed list of dependencies for your OS please refer to the specific section above

Additionally, HTML and Man formats can be ignored entirely:

  • KERL_INSTALL_HTMLDOCS set to no to not install HTML docs
  • KERL_INSTALL_MANPAGES set to no to skip Man pages.

By default, docs in both of these formats are installed if KERL_BUILD_DOCS is set.

It may be a good idea to disable those formats to save space, since docs can easily take around 200MB in addition to 100MB of base installation, yet to still have docs inside shell.

Note: Environment variable has to be set before asdf install erlang <version> is executed, to take effect.

Setting the environment variable in bash

Type: export KERL_BUILD_DOCS=yes to create KERL_BUILD_DOCS environment variable and set it to true. Repeat the same for KERL_INSTALL_HTMLDOCS KERL_INSTALL_MANPAGES if required (see above).

This line could be added to your .bashrc in case you want KERL_BUILD_DOCS to be set for future (future installations of Erlang).

To remove environment variable: unset KERL_BUILD_DOCS.

Setting the environment variable in fish shell

Type: set -xg KERL_BUILD_DOCS yes to set environment variable. Repeat the same for KERL_INSTALL_HTMLDOCS KERL_INSTALL_MANPAGES if required (see above).

In case you want it to be persisted between sessions (machine reboots - for example for future installations) type set -xU KERL_BUILD_DOCS yes.

To remove environment variable type: set -e KERL_BUILD_DOCS.

Use a specific version of kerl

Overriding the default kerl version shouldn't ever be necessary, but if you want to you a specific version of kerl you can set:

export ASDF_KERL_VERSION="2.1.1"

asdf-erlang's People

Contributors

adamu avatar aeons avatar aj-foster avatar alan-andrade avatar almirsarajcic avatar andrhua avatar avinayak avatar bobbymcwho avatar cehoffman avatar cesarandreu avatar craigmorton avatar cschiewek avatar danhper avatar danielelli avatar dbernheisel avatar dstrunk avatar dwaynebradley avatar edouardmenayde avatar elasticdog avatar eproxus avatar geekfish avatar hashnuke avatar kamillelonek avatar maciektalaska avatar miiig avatar pdgonzalez872 avatar stratus3d avatar stribb avatar tverlaan avatar yabliznyk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

asdf-erlang's Issues

Unable to install erlang 22.0-rc1

Tried it on Mac OS Mojave:

$ asdf install erlang 22.0-rc1
Downloading OTP-22.0-rc1.tar.gz to /Users/rodrigues/.asdf/plugins/erlang/kerl-home/archives
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   124    0   124    0     0    361      0 --:--:-- --:--:-- --:--:--   362
100 52.0M    0 52.0M    0     0   204k      0 --:--:--  0:04:20 --:--:--  325k
Extracting source code
Building Erlang/OTP 22.0-rc1 (asdf_22.0-rc1), please wait...
Configure failed.
configure: WARNING: Check for large file support flags failed; getconf failed
checking if we can add -Werror=return-type to WERRORFLAGS (via CFLAGS)... yes
checking if we can add -Werror=implicit to WERRORFLAGS (via CFLAGS)... yes
checking if we can add -Werror=undef to WERRORFLAGS (via CFLAGS)... yes
checking CFLAGS for -O switch... configure: error:
  CFLAGS must contain a -O flag. If you need to edit the CFLAGS you probably
  also want to add the default CFLAGS. The default CFLAGS are "-O2 -g".
  If you want to build erts without any optimization, pass -O0 to CFLAGS.
ERROR: /Users/rodrigues/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0-rc1/otp_src_22.0-rc1/erts/configure failed!
./configure: line 341: kill: (-96754) - No such process

Please see /Users/rodrigues/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0-rc1/otp_build_22.0-rc1.log for full details.
detailed log
$ cat /Users/rodrigues/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0-rc1/otp_build_22.0-rc1.log
=== running autoconf in lib/common_test

=== running autoconf in lib/crypto

=== running autoconf in lib/erl_interface
=== running autoheader in lib/erl_interface

=== running autoconf in lib/megaco

=== running autoconf in lib/odbc

=== running autoconf in lib/snmp

=== running autoconf in lib/wx

=== running autoconf in lib/common_test/test_server

=== running autoconf in make

=== running autoconf in erts
=== running autoheader in erts

=== creating ./configure
/Users/rodrigues/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0-rc1/otp_src_22.0-rc1/configure  --cache-file=/dev/null CC=clang CFLAGS=-I/usr/local/opt/openssl/include/\ -I/opt/local/include CPPFLAGS=-I/usr/local/opt/openssl/include\ -I/usr/local/opt/ruby/include LDFLAGS=-L/usr/local/opt/openssl/lib\ -L/opt/local/lib\ -L/usr/local/opt/ruby/lib DED_LD=clang DED_LDFLAGS=-m64\ -bundle\ -bundle_loader\ /Users/rodrigues/\.asdf/plugins/erlang/kerl-home/builds/asdf_22\.0-rc1/otp_src_22\.0-rc1/bin/x86_64-apple-darwin18\.2\.0/beam\.smp --enable-darwin-64bit --with-ssl=/usr/local/opt/openssl
=== Running configure in /Users/rodrigues/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0-rc1/otp_src_22.0-rc1/erts ===
./configure 'CC=clang' 'CPPFLAGS=-I/usr/local/opt/openssl/include -I/usr/local/opt/ruby/include' 'DED_LD=clang' 'DED_LDFLAGS=-m64 -bundle -bundle_loader /Users/rodrigues/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0-rc1/otp_src_22.0-rc1/bin/x86_64-apple-darwin18.2.0/beam.smp' '--enable-darwin-64bit' '--with-ssl=/usr/local/opt/openssl' CFLAGS='-I/usr/local/opt/openssl/include/ -I/opt/local/include' LDFLAGS='-L/usr/local/opt/openssl/lib -L/opt/local/lib -L/usr/local/opt/ruby/lib' --disable-option-checking --cache-file=/dev/null --srcdir="/Users/rodrigues/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0-rc1/otp_src_22.0-rc1/erts"
checking build system type... x86_64-apple-darwin18.2.0
checking host system type... x86_64-apple-darwin18.2.0
checking for gcc... clang
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether clang accepts -g... yes
checking for clang option to accept ISO C89... none needed
checking for library containing strerror... none required
checking OTP release... 22
checking OTP version... 22.0-rc1
checking for gcc... (cached) clang
checking whether we are using the GNU C compiler... (cached) yes
checking whether clang accepts -g... (cached) yes
checking for clang option to accept ISO C89... (cached) none needed
checking for mixed cygwin or msys and native VC++ environment... no
checking for mixed cygwin and native MinGW environment... no
checking if we mix cygwin with any native compiler... no
checking if we mix msys with another native compiler... no
checking for getconf... getconf
checking for large file support CFLAGS... failed
configure: WARNING: Check for large file support flags failed; getconf failed
checking if we can add -Werror=return-type to WERRORFLAGS (via CFLAGS)... yes
checking if we can add -Werror=implicit to WERRORFLAGS (via CFLAGS)... yes
checking if we can add -Werror=undef to WERRORFLAGS (via CFLAGS)... yes
checking CFLAGS for -O switch... configure: error: 
  CFLAGS must contain a -O flag. If you need to edit the CFLAGS you probably
  also want to add the default CFLAGS. The default CFLAGS are "-O2 -g".
  If you want to build erts without any optimization, pass -O0 to CFLAGS.
ERROR: /Users/rodrigues/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0-rc1/otp_src_22.0-rc1/erts/configure failed!
./configure: line 341: kill: (-93096) - No such process
make: *** No rule to make target `clean'.  Stop.
/Users/rodrigues/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0-rc1/otp_src_22.0-rc1/configure  --cache-file=/dev/null CC=clang CFLAGS=-I/usr/local/opt/openssl/include/\ -I/opt/local/include CPPFLAGS=-I/usr/local/opt/openssl/include\ -I/usr/local/opt/ruby/include LDFLAGS=-L/usr/local/opt/openssl/lib\ -L/opt/local/lib\ -L/usr/local/opt/ruby/lib DED_LD=clang DED_LDFLAGS=-m64\ -bundle\ -bundle_loader\ /Users/rodrigues/\.asdf/plugins/erlang/kerl-home/builds/asdf_22\.0-rc1/otp_src_22\.0-rc1/bin/x86_64-apple-darwin18\.2\.0/beam\.smp --enable-darwin-64bit --with-ssl=/usr/local/opt/openssl
=== Running configure in /Users/rodrigues/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0-rc1/otp_src_22.0-rc1/erts ===
./configure 'CC=clang' 'CPPFLAGS=-I/usr/local/opt/openssl/include -I/usr/local/opt/ruby/include' 'DED_LD=clang' 'DED_LDFLAGS=-m64 -bundle -bundle_loader /Users/rodrigues/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0-rc1/otp_src_22.0-rc1/bin/x86_64-apple-darwin18.2.0/beam.smp' '--enable-darwin-64bit' '--with-ssl=/usr/local/opt/openssl' CFLAGS='-I/usr/local/opt/openssl/include/ -I/opt/local/include' LDFLAGS='-L/usr/local/opt/openssl/lib -L/opt/local/lib -L/usr/local/opt/ruby/lib' --disable-option-checking --cache-file=/dev/null --srcdir="/Users/rodrigues/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0-rc1/otp_src_22.0-rc1/erts"
checking build system type... x86_64-apple-darwin18.2.0
checking host system type... x86_64-apple-darwin18.2.0
checking for gcc... clang
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether clang accepts -g... yes
checking for clang option to accept ISO C89... none needed
checking for library containing strerror... none required
checking OTP release... 22
checking OTP version... 22.0-rc1
checking for gcc... (cached) clang
checking whether we are using the GNU C compiler... (cached) yes
checking whether clang accepts -g... (cached) yes
checking for clang option to accept ISO C89... (cached) none needed
checking for mixed cygwin or msys and native VC++ environment... no
checking for mixed cygwin and native MinGW environment... no
checking if we mix cygwin with any native compiler... no
checking if we mix msys with another native compiler... no
checking for getconf... getconf
checking for large file support CFLAGS... failed
configure: WARNING: Check for large file support flags failed; getconf failed
checking if we can add -Werror=return-type to WERRORFLAGS (via CFLAGS)... yes
checking if we can add -Werror=implicit to WERRORFLAGS (via CFLAGS)... yes
checking if we can add -Werror=undef to WERRORFLAGS (via CFLAGS)... yes
checking CFLAGS for -O switch... configure: error: 
  CFLAGS must contain a -O flag. If you need to edit the CFLAGS you probably
  also want to add the default CFLAGS. The default CFLAGS are "-O2 -g".
  If you want to build erts without any optimization, pass -O0 to CFLAGS.
ERROR: /Users/rodrigues/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0-rc1/otp_src_22.0-rc1/erts/configure failed!
./configure: line 341: kill: (-96754) - No such process

Unable to install Erlang 21.0

I'm currently on macOS High Sierra 10.13.6.

When I run asdf install erlang 21.0

my installation fails with

 CC	x86_64-apple-darwin17.7.0/wxe_ps_init.o
 CC	../priv/x86_64-apple-darwin17.7.0/erl_gl.so
In file included from wxe_ps_init.c:27:
In file included from /System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h:12:
In file included from /System/Library/Frameworks/Foundation.framework/Headers/Foundation.h:128:
/System/Library/Frameworks/Foundation.framework/Headers/NSUUID.h:26:49: error: nullability specifier '_Nullable' cannot be applied to non-pointer type 'uuid_t'
      (aka 'unsigned char [16]')
- (instancetype)initWithUUIDBytes:(const uuid_t _Nullable)bytes;
                                                ^
/System/Library/Frameworks/Foundation.framework/Headers/NSUUID.h:29:30: error: nullability specifier '_Nonnull' cannot be applied to non-pointer type 'uuid_t'
      (aka 'unsigned char [16]')
- (void)getUUIDBytes:(uuid_t _Nonnull)uuid;
                             ^
2 errors generated.
make[3]: *** [x86_64-apple-darwin17.7.0/wxe_ps_init.o] Error 1
make[2]: *** [opt] Error 2
make[1]: *** [opt] Error 2
make: *** [libs] Error 2

I'm scouring the web now to see if anyone else has run into errors installing Erlang 21.0 on high sierra but nothing is jumping out. I thought I'd report this here to see if anyone else has run into this.

Thanks!

Install not possible after uninstall

There are artifacts from a previous install that prevents new installs from succeeding.

$ asdf install erlang 20.2.4
$ asdf uninstall erlang 20.2.4
$ asdf install erlang 20.2.4
There's already a build named asdf_20.2.4

This is because the files otp_builds and otp_installations in kerl-home contain entries for the asdf_20.2.4 install that need to be removed before a reinstall can occur.

Add other paths to list-bin-paths script

I recently discovered the cdv crash dump viewer escript that is provided by the observer application in the priv directory. We currently don't have a custom list-bin-paths script for asdf-erlang, so that path isn't provided to asdf.

One issue I see is that we can't just hardcode the path in list-bin-paths, since the path contains the observer version. We'd need to determine the correct path in list-bin-paths. Maybe this can be done with shell filename globbing.

Improve section of readme that covers dependencies

We explain how to install everything on Debian but don't cover RedHat/CentOS or OSX. I'd like to see dependency installation instructions for each OS we support.

Perhaps other OSs aren't supported, but I've been using asdf-erlang on OSX for some time now and haven't had any issues.

Unable to install erlang on Ubuntu

Issue

I tried to install erlang 20.1 which ended in a:
.asdf/plugins/erlang/bin/install: line 40: ./configure: Permission denied

The problem is, the install script makes a tmp directory (mktemp -d -t erlang_build_XXXXXX) in /tmp. But /tmp is mounted as noexec, which results in a "Permission denied".
Two workarounds:

  • $ sudo mount -o remount,exec /tmp
    or
  • use $TMPDIR (e.g. $ export TMPDIR=$HOME/erlang_tmp)

Please fix this.

Environment

OS: Ubuntu 16.04.3 LTS

asdf version: v0.4.0

High cpu usage

Been running into lots of system freezing out of nowhere just today. On Ubuntu 18.10. I've had asdf and associated erlang/elixir on this device for just a few weeks, though my previous work device ran those for 6 mos+ without issue.

top at the CLI resulted in:

MiB Mem :  15891.7 total,  10012.2 free,   5480.0 used,    399.6 buff/cache
MiB Swap:   2048.0 total,      0.1 free,   2047.9 used.  10065.1 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND   
24742 me  20   0 3064416  26640      0 S 100.7   0.2 110:40.49 beam.smp  
10832 me  20   0 3062368  24352      0 S 100.3   0.1 121:11.09 beam.smp  
19459 me  20   0 3054432  18884    436 S 100.0   0.1   7:56.22 beam.smp  
24044 me  20   0 3056992      0      0 S 100.0   0.0 132:54.63 beam.smp  
26501 me  20   0 3056992  21664      0 S 100.0   0.1  85:08.98 beam.smp  
24032 me  20   0  803648 168028  78008 S   2.7   1.0   0:11.31 chrome    
 4103 me  20   0 1467872 212296  39792 S   2.3   1.3   5:49.29 chrome    
 5589 me  20   0  710392  64472  21044 S   2.3   0.4   3:07.66 chrome    
 5767 me  20   0 1276576 430808  48524 S   2.0   2.6   1:07.65 chrome    
 4171 me  20   0  572248 109052  27540 S   1.7   0.7   4:24.99 chrome    
 5622 me  20   0  668960  32404  11480 S   1.7   0.2   3:01.49 chrome    
24140 me  20   0  693060  63020  16268 S   1.7   0.4   0:05.65 chrome    
 3703 me  20   0 1536544 141196  29668 S   1.0   0.9   0:33.60 slack     
25360 me  20   0   34880   3700   3012 R   0.7   0.0   0:00.07 top 

Did ps x | grep bea[m] and results all pointed to asdf/erlang:

 4034 ?        Sl     8:16 ~/.asdf/installs/erlang/21.3/erts-10.3/bin/beam.smp -- -root ~/.asdf/installs/erlang/21.3 -progname erl -- -home ~/ -- -pa ~/.asdf/installs/elixir/1.8.1/bin/../lib/eex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/elixir/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/ex_unit/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/iex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/logger/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/mix/ebin -noshell -s elixir start_cli -extra ~/.asdf/shims/mix help credo
 6536 ?        Sl    11:11 ~/.asdf/installs/erlang/21.3/erts-10.3/bin/beam.smp -- -root ~/.asdf/installs/erlang/21.3 -progname erl -- -home ~/ -- -pa ~/.asdf/installs/elixir/1.8.1/bin/../lib/eex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/elixir/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/ex_unit/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/iex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/logger/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/mix/ebin -noshell -s elixir start_cli -extra ~/.asdf/shims/mix help credo
 7399 ?        Sl     7:28 ~/.asdf/installs/erlang/21.3/erts-10.3/bin/beam.smp -- -root ~/.asdf/installs/erlang/21.3 -progname erl -- -home ~/ -- -pa ~/.asdf/installs/elixir/1.8.1/bin/../lib/eex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/elixir/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/ex_unit/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/iex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/logger/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/mix/ebin -noshell -s elixir start_cli -extra ~/.asdf/shims/mix help credo
 8342 ?        Sl     8:31 ~/.asdf/installs/erlang/21.3/erts-10.3/bin/beam.smp -- -root ~/.asdf/installs/erlang/21.3 -progname erl -- -home ~/ -- -pa ~/.asdf/installs/elixir/1.8.1/bin/../lib/eex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/elixir/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/ex_unit/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/iex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/logger/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/mix/ebin -noshell -s elixir start_cli -extra ~/.asdf/shims/mix help credo
 9780 ?        Sl     9:18 ~/.asdf/installs/erlang/21.3/erts-10.3/bin/beam.smp -- -root ~/.asdf/installs/erlang/21.3 -progname erl -- -home ~/ -- -pa ~/.asdf/installs/elixir/1.8.1/bin/../lib/eex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/elixir/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/ex_unit/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/iex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/logger/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/mix/ebin -noshell -s elixir start_cli -extra ~/.asdf/shims/mix help credo
10832 ?        Sl   129:17 ~/.asdf/installs/erlang/21.3/erts-10.3/bin/beam.smp -- -root ~/.asdf/installs/erlang/21.3 -progname erl -- -home ~/ -- -pa ~/.asdf/installs/elixir/1.8.1/bin/../lib/eex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/elixir/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/ex_unit/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/iex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/logger/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/mix/ebin -noshell -s elixir start_cli -extra ~/.asdf/shims/mix help credo
19459 ?        Sl    16:01 ~/.asdf/installs/erlang/21.3/erts-10.3/bin/beam.smp -- -root ~/.asdf/installs/erlang/21.3 -progname erl -- -home ~/ -- -pa ~/.asdf/installs/elixir/1.8.1/bin/../lib/eex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/elixir/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/ex_unit/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/iex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/logger/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/mix/ebin -noshell -s elixir start_cli -extra ~/.asdf/shims/mix help credo
24044 ?        Sl   141:00 ~/.asdf/installs/erlang/21.3/erts-10.3/bin/beam.smp -- -root ~/.asdf/installs/erlang/21.3 -progname erl -- -home ~/ -- -pa ~/.asdf/installs/elixir/1.8.1/bin/../lib/eex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/elixir/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/ex_unit/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/iex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/logger/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/mix/ebin -noshell -s elixir start_cli -extra ~/.asdf/shims/mix help credo
24742 ?        Sl   118:46 ~/.asdf/installs/erlang/21.3/erts-10.3/bin/beam.smp -- -root ~/.asdf/installs/erlang/21.3 -progname erl -- -home ~/ -- -pa ~/.asdf/installs/elixir/1.8.1/bin/../lib/eex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/elixir/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/ex_unit/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/iex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/logger/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/mix/ebin -noshell -s elixir start_cli -extra ~/.asdf/shims/mix help credo
26501 ?        Sl    93:14 ~/.asdf/installs/erlang/21.3/erts-10.3/bin/beam.smp -- -root ~/.asdf/installs/erlang/21.3 -progname erl -- -home ~/ -- -pa ~/.asdf/installs/elixir/1.8.1/bin/../lib/eex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/elixir/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/ex_unit/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/iex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/logger/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/mix/ebin -noshell -s elixir start_cli -extra ~/.asdf/shims/mix help credo
26809 ?        Sl    11:59 ~/.asdf/installs/erlang/21.3/erts-10.3/bin/beam.smp -- -root ~/.asdf/installs/erlang/21.3 -progname erl -- -home ~/ -- -pa ~/.asdf/installs/elixir/1.8.1/bin/../lib/eex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/elixir/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/ex_unit/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/iex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/logger/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/mix/ebin -noshell -s elixir start_cli -extra ~/.asdf/shims/mix help credo
32023 ?        Sl     8:34 ~/.asdf/installs/erlang/21.3/erts-10.3/bin/beam.smp -- -root ~/.asdf/installs/erlang/21.3 -progname erl -- -home ~/ -- -pa ~/.asdf/installs/elixir/1.8.1/bin/../lib/eex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/elixir/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/ex_unit/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/iex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/logger/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/mix/ebin -noshell -s elixir start_cli -extra ~/.asdf/shims/mix help credo
32160 ?        Sl    11:38 ~/.asdf/installs/erlang/21.3/erts-10.3/bin/beam.smp -- -root ~/.asdf/installs/erlang/21.3 -progname erl -- -home ~/ -- -pa ~/.asdf/installs/elixir/1.8.1/bin/../lib/eex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/elixir/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/ex_unit/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/iex/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/logger/ebin ~/.asdf/installs/elixir/1.8.1/bin/../lib/mix/ebin -noshell -s elixir start_cli -extra ~/.asdf/shims/mix help credo

I'm not sure how all these came to be. I can kill these by pid, of course, but how do I prevent all these instances from persisting? Thanks.

Support installing patch versions of Erlang

~ asdf install erlang 20.1.1
** Resuming transfer from byte position 291
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   178  100   178    0     0    312      0 --:--:-- --:--:-- --:--:--   313
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
curl: (33) HTTP server doesn't seem to support byte ranges. Cannot resume.

I'm not sure if Erlang Solutions provides these, but we should be able to download them from github and then install it.

Possibly related to #31

asdf erlang returning only R13B03 on high sierra

The title says most. On a fresh High Sierra, with asdf 0.51

$ asdf plugin-add erlang https://github.com/asdf-vm/asdf-erlang.git
$ asdf list-all erlang
Downloading kerl...
R13B03

The plugin returns only R13

High Sierra Issue

I’m trying to install Erlang 20.1, but I’m getting this error during the install:

configure: error: C compiler cannot create executables

full output:

Building with options: --with-ssl=/usr --prefix=/Users/nathanaelmoody/.asdf/installs/erlang/20.1
Ignoring the --cache-file argument since it can cause the system to be erroneously configured
Disabling caching
checking build system type... x86_64-apple-darwin17.0.0
checking host system type... x86_64-apple-darwin17.0.0
checking for gcc... gcc
checking for C compiler default output file name... configure: error: C compiler cannot create executables

Unable to install erlang 22.0-rc2

To reproduce:

On an OSX system, run asdf install erlang 22.0-rc2

Expected behaviour:

Successful build

Actual behaviour:

$ asdf install erlang 22.0-rc2
Extracting source code
Building Erlang/OTP 22.0-rc2 (asdf_22.0-rc2), please wait...
APPLICATIONS DISABLED (See: /Users/stavros/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0-rc2/otp_build_22.0-rc2.log)
 * jinterface     : No Java compiler found
 * odbc           : ODBC library - header check failed

DOCUMENTATION INFORMATION (See: /Users/stavros/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0-rc2/otp_build_22.0-rc2.log)
 * documentation  : 
 *                  fop is missing.
 *                  Using fakefop to generate placeholder PDF files.

Build failed.
 ERLC	../ebin/pubkey_crl.beam
 VSN	../ebin/public_key.app
 VSN	../ebin/public_key.appup
make[3]: Nothing to be done for `opt'.
=== Leaving application public_key
=== Entering application ssl
/Users/stavros/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0-rc2/otp_src_22.0-rc2/lib/ssl/src/deps/ssl.d:1: *** missing separator.  Stop.
make[2]: *** [opt] Error 2
make[1]: *** [opt] Error 2
make: *** [libs] Error 2

Please see /Users/stavros/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0-rc2/otp_build_22.0-rc2.log for full details.

Additional info:

Looks like some printouts are added to the ssl.d file:

$ head /Users/stavros/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0-rc2/otp_src_22.0-rc2/lib/ssl/src/deps/ssl.d
asdf is self upgrading shims to new asdf exec ...
asdf: now running erlc
$(EBIN)/dtls_connection.$(EMULATOR): dtls_connection.erl dtls_connection.hrl \
  ssl_connection.hrl ssl_internal.hrl \
  /Users/stavros/.asdf/installs/erlang/21.1.2/lib/public_key-1.6.3/include/public_key.hrl \
  /Users/stavros/.asdf/installs/erlang/21.1.2/lib/public_key-1.6.3/include/OTP-PUB-KEY.hrl \
  /Users/stavros/.asdf/installs/erlang/21.1.2/lib/public_key-1.6.3/include/PKCS-FRAME.hrl \
  ssl_record.hrl ssl_handshake.hrl ssl_srp.hrl ssl_cipher.hrl \
  dtls_handshake.hrl tls_handshake.hrl ssl_api.hrl ssl_alert.hrl \
  dtls_record.hrl \

(notice the asdf lines)

Trying to install from master fails with unrecognized archive format

asdf install erlang master
** Resuming transfer from byte position 291
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   178  100   178    0     0    409      0 --:--:-- --:--:-- --:--:--   411
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
curl: (33) HTTP server doesn't seem to support byte ranges. Cannot resume.
tar: Unrecognized archive format
tar: Error exit delayed from previous errors.

Could not find `wxe_driver.so`

I want to be able to use the GUI drivers that are built-in in Erlang, which depend on WX, for instance observer:start()..

However, the version of Erlang that Asdf installs, will, when running some command that should start a WX-driven GUI, crash with the following error trace:

{error,{{load_driver,"No driver found"},
        [{wxe_server,start,1,[{file,"wxe_server.erl"},{line,65}]},
         {wx,new,1,[{file,"wx.erl"},{line,115}]},
         {observer_wx,init,1,[{file,"observer_wx.erl"},{line,104}]},
         {wx_object,init_it,6,[{file,"wx_object.erl"},{line,355}]},
         {proc_lib,init_p_do_apply,3,
                   [{file,"proc_lib.erl"},{line,247}]}]}}

=ERROR REPORT==== 3-Jun-2017::10:02:45 ===
ERROR: Could not find 'wxe_driver.so' in: /home/qqwy/.asdf/installs/erlang/19.3/lib/erlang/lib/wx-1.8/priv

So it seems that this dependency is not installed when installing Erlang through Asdf. I have no idea to resolve this, but since observer is very useful to introspect a running system (if you don't know it, it basically is a task manager for Erlang), I would like to get this working.

erl -man <module name> doesn't work

I have problem with accessing Erlang modules documentation. Typing erl -man <modulename> results in No manual entry for <modulename>

I have xsltproc and fop installed.

My OS is 64bit Ubuntu 16.04 (tried that on 16.10 as well).

I tried to locate build logs, but with no luck.

Using HTTPS on Github vs HTTP connection to download from Erlang Solutions

First off, thank you for making this plugin available for erlang version management! 🌝

I was browsing through the source code of the plugin and notice that there are two code pathways, determined by the $version variable.

In one pathway, when $version = "version", we fetch data from http endpoint. Otherwise it's fetched by ref on Github over HTTPS.

I see that Github has the version releases for OTP available. Since Erlang solutions redirects from HTTPS -> HTTP (if trying to use HTTPS), what about using the https releases from Github as the source of truth?

From browsing source on github.com/erlang/otp, it appears that Erlang solutions folks are heavily involved (run?) that repository. Could we trust the releases there over HTTPS instead of from the HTTP endpoint?

Unable to compile 21.1 with wx on Debian stretch

I've installed all the packages listed in the README (and a few other for good measure) yet I am still unable to compile with wx support. (Though libpng3 isn't available so I installed everything with the libpng prefix)

For building with wxWidgets (start observer or debugger!) apt-get -y install libwxgtk3.0-dev libgl1-mesa-dev libglu1-mesa-dev libpng3

APPLICATIONS INFORMATION (See: /home/louispilfold/.asdf/plugins/erlang/kerl-home/builds/asdf_21.1/otp_build_21.1.log)
 * wx             : wxWidgets not found, wx will NOT be usable

Is there a way to determine what package I'm missing?

ERL_ROOT error while installing Erlang

I'm running into a strange issue while trying to install Erlang via the asdf plugin. Not sure if this something on my end or if it's related to the Erlang plugin install script?

=== Leaving application wx
 MAKE   tertiary_bootstrap_copy
test -d "/Users/david/.asdf/installs/erlang/18.2.1/bin" || /usr/local/bin/install -c -d "/Users/david/.asdf/installs/erlang/18.2.1/bin"
Install: need <ERL_ROOT> directory as argument
Usage: Install [-cross] [-minimal|-sasl] <ERL_ROOT>
make: *** [install.dirs] Error 1

[BUG] Error prevents WxWdigets from working with Erlang 21.1

While installing Erlang 21.1 on fresh Fedora 28 installation I receive the error stated below.

No OpenGL headers found, wx will NOT be usable

However, when I installed Erlang 21.0.9 this issue is not there.

I installed all the necessary required packages mentioned in the README.

asdf-erlang cannot install erlang; homebrew can

Homebrew successfully installed erlang, but asdf-erlang did not. I'm on macOS Sierra. Here is the tail of the output from the installation process:

 VSN    Install
 VSN    erl.src
make[3]: Nothing to be done for `opt'.
 MAKE   opt
make[4]: Nothing to be done for `all'.
 MAKE   opt
make[3]: Nothing to be done for `all'.
(cd preloaded/src && /Applications/Xcode.app/Contents/Developer/usr/bin/make ../ebin/erts.app)
make[2]: `../ebin/erts.app' is up to date.
 MAKE   secondary_bootstrap_build
Makefile:72: warning: overriding commands for target `clean'
/var/folders/z_/8l8vt3615tjf5w9pn6gt01180000gn/T/otp_src_19.3/make/otp_subdir.mk:29: warning: ignoring old commands for target `clean'
=== Entering application hipe
 ERLC   ../ebin/hipe_rtl.beam
 ERLC   ../ebin/hipe_rtl_cfg.beam
 ERLC   ../ebin/hipe_rtl_liveness.beam
 ERLC   ../ebin/hipe_icode2rtl.beam
{"init terminating in do_boot",{load_failed,[gen{_e"viennitt, ettesr,msiunpaetrivnigs oirn, pdroo_cb_oloitb",,l{isltosa,dk_efranielle,dg,e[ns_uspeerrvveirs,ohre,agretn,,geetns,,fpirloec__iloi_bs,elrivsetrs,,fhielaer_ts,ekrevrenre,lf,igleenn_aemvee,nfti,lgee,ne_rsle_rpvaerrs,ef,ielrer_osre_rlvoegrg,efri,leer_li_ol_isnetr,veerr,lf_ielveanla,mceo,dfei_lsee,rveerrr,ocro_dleo,gagpeprl,iecralt_ipoanr_smea,setrelr_,laipnptl,ipcralt_ieovna_lc,ocnotdreo_lsleerrv,earp,pcloidcea,tiaopnp,leircraotri_ohna_nmdalsetre]r},}a
)lication_controller,ianpiptl itceartmiionna,teirnrgo ri_nh adnod_lbeoro]t} }(

init terminating in do_boot ()

 rash dump is being
wCrriatsthe nd utmop:  ise rble_icnrga swhr.idtutmepn. .t.o: erl_crash.dump...{"init terminating in do_boot",{load_failed,[gen,supervisor,proc_lib,lists,kernel,heart,gen_server,gen_event,file_io_server,file_server,filename,file,ets,error_logger,erl_lint,erl_parse,erl_eval,code_server,code,application_master,application_controller,application,error_handler]}}
init terminating in do_boot {()"
nit terminating in do_boot",{load_failed,[supervisor,proc_lib,lists,kernel,heart,file_io_server,gen_server,gen_event,gen,file_server,filename,file,ets,error_logger,erl_lint,erl_parse,erl_eval,code_server,code,aprlication_master,application_controller,application,e
bCorra_shha nddulmepr ]i}s}
eing written to: erl_icnriats ht.edrummipn.a.t.ing in do_boot ()

Crash dump is being written to: erl_crash.dump...done
done
done
done
make[3]: *** [../ebin/hipe_icode2rtl.beam] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: *** [../ebin/hipe_rtl_liveness.beam] Error 1
make[3]: *** [../ebin/hipe_rtl_cfg.beam] Error 1
make[3]: *** [../ebin/hipe_rtl.beam] Error 1
make[2]: *** [opt] Error 2
make[1]: *** [opt] Error 2
make: *** [secondary_bootstrap_build] Error 2

Installing Erlang on OSX Mojave can't find OpenSSL

I'm currently getting:

$ asdf install erlang 21.0.9
Extracting source code
Building Erlang/OTP 21.0.9 (asdf_21.0.9), please wait...
APPLICATIONS DISABLED (See: /Users/fhunleth/.asdf/plugins/erlang/kerl-home/builds/asdf_21.0.9/otp_build_21.0.9.log)
 * crypto         : No usable OpenSSL found
 * odbc           : ODBC library - header check failed
 * ssh            : No usable OpenSSL found
 * ssl            : No usable OpenSSL found

I've tried reinstalling OpenSSL with Homebrew and then exporting PKG_CONFIG_PATH, CPPFLAGS, and LDFLAGS to help the build tools find it, but no luck.

I'm at the tip revisions of asdf-erlang and asdf.

I'm wondering if there's anything else that would be good to try. As far as I could tell installing Erlang w/ asdf on High Sierra worked flawlessly for me, so I assume that the Mojave upgrade changed something important.

Unable to compile with wx on mac os x mojave

I am trying to build erlang on Mac OS X Mojave with wxWidgets but they are not recognized.

$ brew install autoconf wxmac
Warning: autoconf 2.69 is already installed and up-to-date
To reinstall 2.69, run `brew reinstall autoconf`
==> Installing dependencies for wxmac: jpeg, libpng and libtiff
==> Installing wxmac dependency: jpeg
==> Downloading https://homebrew.bintray.com/bottles/jpeg-9c.mojave.bottle.tar.gz
######################################################################## 100.0%
==> Pouring jpeg-9c.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/jpeg/9c: 21 files, 733.4KB
==> Installing wxmac dependency: libpng
==> Downloading https://homebrew.bintray.com/bottles/libpng-1.6.36.mojave.bottle.tar.gz
######################################################################## 100.0%
==> Pouring libpng-1.6.36.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/libpng/1.6.36: 27 files, 1.2MB
==> Installing wxmac dependency: libtiff
==> Downloading https://homebrew.bintray.com/bottles/libtiff-4.0.10_1.mojave.bottle.tar.gz
######################################################################## 100.0%
==> Pouring libtiff-4.0.10_1.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/libtiff/4.0.10_1: 246 files, 3.5MB
==> Installing wxmac
==> Downloading https://homebrew.bintray.com/bottles/wxmac-3.0.4_1.mojave.bottle.tar.gz
######################################################################## 100.0%
==> Pouring wxmac-3.0.4_1.mojave.bottle.tar.gz
🍺  /usr/local/Cellar/wxmac/3.0.4_1: 813 files, 23.8MB

$ cat .tool-versions 
elixir 1.7.4
erlang 21.0

$ export KERL_CONFIGURE_OPTIONS="--without-javac"

$ asdf install
elixir 1.7.4 is already installed
Extracting source code
Building Erlang/OTP 21.0 (asdf_21.0), please wait...
Configure options have changed. Reconfiguring...
APPLICATIONS DISABLED (See: /Users/marcin/.asdf/plugins/erlang/kerl-home/builds/asdf_21.0/otp_build_21.0.log)
 * jinterface     : No Java compiler found

APPLICATIONS INFORMATION (See: /Users/marcin/.asdf/plugins/erlang/kerl-home/builds/asdf_21.0/otp_build_21.0.log)
 * wx             : wxWidgets not found, wx will NOT be usable

DOCUMENTATION INFORMATION (See: /Users/marcin/.asdf/plugins/erlang/kerl-home/builds/asdf_21.0/otp_build_21.0.log)
 * documentation  :
 *                  fop is missing.
 *                  Using fakefop to generate placeholder PDF files.

Erlang installation gets stuck on building kerl on new Ubuntu EC2 instance

I can't seem to finish the installation of erlang 20.1 through asdf on a new Ubuntu 16.04 EC2 instance on AWS. On a newly launched instance, I run apt-get update & apt-get upgrade before I install asdf along with the dependencies listed under the Ubuntu entry here.

The installation always end up getting stuck on the part where it says Using fakefop to generate placeholder PDF files.

I have tried installing a Java compiler but it made no difference.

I also tried installing erlang using kerl (and not asdf) but it gets stuck on the same place.

I am very new to all of these so any help would be very much appreciated.

configure error while installing erlang 19.0

I tried running

asdf install erlang 19.0

and the terminal started dumping a lot of lines in the form of "checking...".
and then it finished with these two lines:

configure: error: No curses library functions found
configure: error: /bin/bash '/tmp/erlang_build_PAvpBU/otp_src_19.0/erts/configure' failed for erts

And the erlang version was not installed

Interrupted downloads are being treated as complete installs

Moved from asdf-vm/asdf#214 by @seleem1337

If you start installing a version of a language (e.g. Erlang) and for some reason it gets interrupted (e.g. Ctrl-C), it will be treated as a complete installation, meaning:

$ asdf install erlang 20.0
erlang 20.0 is already installed
But

$ iex
No such command in 20.0 of erlang
And .asdf/installs/erlang/20.0/ path is empty.

The workaround is simple: uninstall erlang and reinstall it again but that's not ideal unless you are previously aware of this issue.

ERROR: Could not find 'wxe_driver.so'

Erlang built by asdf on linux (Fedora 25) fails to build the wxe_driver.so.

wwalker@serenity:~$ erl -s observer
Erlang/OTP 19 [erts-8.1] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V8.1 (abort with ^G)

=ERROR REPORT==== 11-Feb-2017::21:03:00 ===
ERROR: Could not find 'wxe_driver.so' in: /home/wwalker/.asdf/installs/erlang/19.1/lib/erlang/lib/wx-1.7.1/priv
1>

Skip dependency on Java when installing?

Is it possible to pass options to whatever is installing Erlang to not try to do the things that depend on Java? I don't have it installed (macOS 10.13.2), and while the two alerts that pop up suggesting that I install it are merely an annoyance, I'd rather not have them pop up at all.

Digest Update / boringssl compile error on MacOS 10.13 Beta 17A264c

On the new macOS High Sierra

salimane at Salimanes-MacBook-Pro (git:salimane.com)  in ~/src/project
± cat .tool-versions                                          
erlang 20.0
elixir 1.5.1
nodejs 6.11.2

salimane at Salimanes-MacBook-Pro (git:salimane.com)  in ~/src/project
± asdf install                                                
erlang 20.0 is already installed
elixir 1.5.1 is already installed
nodejs 6.11.2 is already installed

salimane at Salimanes-MacBook-Pro (git:salimane.com)  in ~/src/project
± mix local.hex                                               
Assertion failed: (ctx), function digest_update, file /BuildRoot/Library/Caches/com.apple.xbs/Sources/boringssl/boringssl-109.1.5/apple/crypto/digests.c, line 49.
zsh: abort      mix local.hex

The issue is well described here

There is already a fix in homebrew core

Thanks

Returning from installation does not continue asdf

After a successful installation, asdf does not continue with the other plugins. It was the case before kerl integration.

Steps to reproduce

  1. Create a .tool-versions containing an Erlang and an Elixir version, both non installed
  2. Run asdf install

Actual result

asdf calls kerl to build and install Erlang, and then exits. Elixir version is not installed.

Expected result

asdf would continue its installation, running other plugins.

Install hangs on 22.0.1 on Ubuntu 19.04

  • Asdf version: v0.7.2
  • Latest asdf-erlang (3934206)
  • Ubuntu 19.04
  • I have installed the needed dependencies per README

What I did:

asdf install erlang 22.0.1

What happened:

Outputs:

➤ asdf install erlang 22.0.1
Downloading OTP-22.0.1.tar.gz to /home/pulver/.asdf/plugins/erlang/kerl-home/archives
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   122    0   122    0     0    416      0 --:--:-- --:--:-- --:--:--   417
100 52.2M    0 52.2M    0     0  5767k      0 --:--:--  0:00:09 --:--:-- 6970k
Extracting source code
Building Erlang/OTP 22.0.1 (asdf_22.0.1), please wait...

It then hangs forever. Looking at the log in .asdf/plugins/erlang/kerl-home/builds/asdf_22.0.1/otp_build_22.0.1.log it stops pretty fast on

=== Entering application ssl
make[3]: Entering directory '/home/pulver/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0.1/otp_src_22.0.1/lib/ssl/src'
 GEN    /home/pulver/.asdf/plugins/erlang/kerl-home/builds/asdf_22.0.1/otp_src_22.0.1/lib/ssl/src/deps/ssl.d

Nothing more is logged.

asdf install erlang 22.0 works fine and I have asdf install erlang 22.0.1 working fine in older Ubuntus in docker and in CI server.

Any suggestions?

kerl exits upon installation preventing multiple installs

Hey there, I think this is what I'm experiencing, but given this tool-versions file:

erlang 20.0
erlang 20.2.2
elixir 1.5.1
elixir 1.6.1
nodejs 8.5.0
nodejs 8.9.4
postgres 9.6.5
postgres 9.6.6

And running this command

$> asdf install

The process exits after installing the first erlang version. I think I started experience this behavior after the repo was updated to kerl.

nix packages instead of brew for mac packages

I know I have seen some mentions of people using nix packages so hope someone else will see this issue and know the answer.

So I am trying to use nix instead of brew for packages:

[nix-shell:~]$ asdf install erlang 21.2.7
Extracting source code
Building Erlang/OTP 21.2.7 (asdf_21.2.7), please wait...
APPLICATIONS DISABLED (See: /Users/dj_goku/.asdf/plugins/erlang/kerl-home/builds/asdf_21.2.7/otp_build_21.2.7.log)
 * odbc           : ODBC library - link check failed

DOCUMENTATION INFORMATION (See: /Users/dj_goku/.asdf/plugins/erlang/kerl-home/builds/asdf_21.2.7/otp_build_21.2.7.log)
 * documentation  : 
 *                  fop is missing.
 *                  Using fakefop to generate placeholder PDF files.

Build failed.
clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)
make[4]: *** [x86_64-apple-darwin18.2.0/Makefile:1102: /Users/dj_goku/.asdf/plugins/erlang/kerl-home/builds/asdf_21.2.7/otp_src_21.2.7/bin/x86_64-apple-darwin18.2.0/beam.smp] Error 1
make[4]: Leaving directory '/Users/dj_goku/.asdf/plugins/erlang/kerl-home/builds/asdf_21.2.7/otp_src_21.2.7/erts/emulator'
make[3]: *** [/Users/dj_goku/.asdf/plugins/erlang/kerl-home/builds/asdf_21.2.7/otp_src_21.2.7/make/run_make.mk:35: opt] Error 2
make[3]: Leaving directory '/Users/dj_goku/.asdf/plugins/erlang/kerl-home/builds/asdf_21.2.7/otp_src_21.2.7/erts/emulator'
make[2]: *** [Makefile:45: opt] Error 2
make[2]: Leaving directory '/Users/dj_goku/.asdf/plugins/erlang/kerl-home/builds/asdf_21.2.7/otp_src_21.2.7/erts'
make[1]: *** [Makefile:54: smp] Error 2
make[1]: Leaving directory '/Users/dj_goku/.asdf/plugins/erlang/kerl-home/builds/asdf_21.2.7/otp_src_21.2.7/erts'
make: *** [Makefile:481: emulator] Error 2

Please see /Users/dj_goku/.asdf/plugins/erlang/kerl-home/builds/asdf_21.2.7/otp_build_21.2.7.log for full details.

Better error can be had from the log (ld: framework not found Cocoa):

/nix/store/wc1m7s8bdwgkjbcbdlgka3pfpr4yb8lv-cctools-port-895/bin/ranlib: file: /Users/dj_goku/.asdf/plugins/erlang/kerl-home/builds/asdf_21.2.7/otp_src_21.2.7/erts/emulator/pcre/obj/x86_64-apple-darwin18.2.0/opt/libepcre.a(pcre_string_utils.o) has no symbols
 LD	/Users/dj_goku/.asdf/plugins/erlang/kerl-home/builds/asdf_21.2.7/otp_src_21.2.7/bin/x86_64-apple-darwin18.2.0/beam.smp
ld: framework not found Cocoa
clang-5.0: error: linker command failed with exit code 1 (use -v to see invocation)
make[4]: *** [x86_64-apple-darwin18.2.0/Makefile:1102: /Users/dj_goku/.asdf/plugins/erlang/kerl-home/builds/asdf_21.2.7/otp_src_21.2.7/bin/x86_64-apple-darwin18.2.0/beam.smp] Error 1
make[4]: Leaving directory '/Users/dj_goku/.asdf/plugins/erlang/kerl-home/builds/asdf_21.2.7/otp_src_21.2.7/erts/emulator'
make[3]: *** [/Users/dj_goku/.asdf/plugins/erlang/kerl-home/builds/asdf_21.2.7/otp_src_21.2.7/make/run_make.mk:35: opt] Error 2
make[3]: Leaving directory '/Users/dj_goku/.asdf/plugins/erlang/kerl-home/builds/asdf_21.2.7/otp_src_21.2.7/erts/emulator'
make[2]: *** [Makefile:45: opt] Error 2
make[2]: Leaving directory '/Users/dj_goku/.asdf/plugins/erlang/kerl-home/builds/asdf_21.2.7/otp_src_21.2.7/erts'
make[1]: *** [Makefile:54: smp] Error 2
make[1]: Leaving directory '/Users/dj_goku/.asdf/plugins/erlang/kerl-home/builds/asdf_21.2.7/otp_src_21.2.7/erts'
make: *** [Makefile:481: emulator] Error 2

Fail to install 21.0 on macOS 10.13.5

Latest asdf and asdf-erlang.

❯ asdf install erlang 21.0
Extracting source code
mv: rename ./otp-OTP-21.0 to /Users/jun/.asdf/plugins/erlang/kerl-home/builds/asdf_21.0/otp_src_21.0/otp-OTP-21.0: Directory not empty
Building Erlang/OTP 21.0 (asdf_21.0), please wait...
APPLICATIONS DISABLED (See: /Users/jun/.asdf/plugins/erlang/kerl-home/builds/asdf_21.0/otp_build_21.0.log)
 * odbc           : ODBC library - header check failed

DOCUMENTATION INFORMATION (See: /Users/jun/.asdf/plugins/erlang/kerl-home/builds/asdf_21.0/otp_build_21.0.log)
 * documentation  : 
 *                  fop is missing.
 *                  Using fakefop to generate placeholder PDF files.

Build failed.
 CXX	x86_64-apple-darwin17.6.0/gl_funcs.o
 CXX	x86_64-apple-darwin17.6.0/egl_impl.o
 CC	../priv/x86_64-apple-darwin17.6.0/erl_gl.so
 LD	../priv/x86_64-apple-darwin17.6.0/wxe_driver.so
ld: in '/usr/local/lib/libcompression.dylib', file was built for i386 which is not the architecture being linked (x86_64): /usr/local/lib/libcompression.dylib for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [../priv/x86_64-apple-darwin17.6.0/wxe_driver.so] Error 1
make[2]: *** [opt] Error 2
make[1]: *** [opt] Error 2
make: *** [libs] Error 2

Please see /Users/jun/.asdf/plugins/erlang/kerl-home/builds/asdf_21.0/otp_build_21.0.log for full details.

Log file: https://gist.github.com/linjunpop/faca04b294dce8724eed12048181509d

Can't install erlang 20.0 or 20.1

I just updated to macOS High Sierra, and now installing erlang fails. It appears to be looking for a specific version of libjpeg, so I switched to that version with homebrew, but then it fails looking for the previous version.

I ran this: asdf install erlang 20.1, and got this:

 LD     ../priv/x86_64-apple-darwin17.2.0/wxe_driver.so
ld: file not found: /usr/local/opt/jpeg/lib/libjpeg.9.dylib for architecture x86_64

So I did a brew switch 9b, and verified:

$ ls  /usr/local/opt/jpeg/lib/
libjpeg.9.dylib libjpeg.a       libjpeg.dylib

I ran the install again and got this:

 LD     ../priv/x86_64-apple-darwin17.2.0/wxe_driver.so
ld: file not found: /usr/local/opt/jpeg/lib/libjpeg.8.dylib for architecture x86_64

Does anyone know why it would be looking for the wrong version?

Unable to compile 21.1.x on WSL Ubuntu Bionic Beaver

I get the following output

Extracting source code
Building Erlang/OTP 21.1.4 (asdf_21.1.4), please wait...
APPLICATIONS INFORMATION (See: /home/mohamedsabryhegazy/.asdf/plugins/erlang/kerl-home/builds/asdf_21.1.4/otp_build_21.1.4.log)
 * wx             : wxWidgets not found, wx will NOT be usable

Build failed.
make[4]: Leaving directory '/home/mohamedsabryhegazy/.asdf/plugins/erlang/kerl-home/builds/asdf_21.1.4/otp_src_21.1.4/lib/hipe/main'
make[3]: Leaving directory '/home/mohamedsabryhegazy/.asdf/plugins/erlang/kerl-home/builds/asdf_21.1.4/otp_src_21.1.4/lib/hipe/rtl'
/home/mohamedsabryhegazy/.asdf/plugins/erlang/kerl-home/builds/asdf_21.1.4/otp_src_21.1.4/make/otp_subdir.mk:29: recipe for target 'opt' failed
make[2]: *** [opt] Error 2
make[2]: Leaving directory '/home/mohamedsabryhegazy/.asdf/plugins/erlang/kerl-home/builds/asdf_21.1.4/otp_src_21.1.4/lib/hipe'
/home/mohamedsabryhegazy/.asdf/plugins/erlang/kerl-home/builds/asdf_21.1.4/otp_src_21.1.4/make/otp_subdir.mk:29: recipe for target 'opt' failed
make[1]: *** [opt] Error 2
make[1]: Leaving directory '/home/mohamedsabryhegazy/.asdf/plugins/erlang/kerl-home/builds/asdf_21.1.4/otp_src_21.1.4/lib'
Makefile:575: recipe for target 'secondary_bootstrap_build' failed
make: *** [secondary_bootstrap_build] Error 2

Please see /home/mohamedsabryhegazy/.asdf/plugins/erlang/kerl-home/builds/asdf_21.1.4/otp_build_21.1.4.log for full details.

The offending lines at the log show this:

=== Entering application hipe
make[3]: Entering directory '/home/mohamedsabryhegazy/.asdf/plugins/erlang/kerl-home/builds/asdf_21.1.4/otp_src_21.1.4/lib/hipe/rtl'
 ERLC   ../ebin/hipe_rtl_liveness.beam
 GEN    hipe_literals.hrl
make[4]: Entering directory '/home/mohamedsabryhegazy/.asdf/plugins/erlang/kerl-home/builds/asdf_21.1.4/otp_src_21.1.4/lib/hipe/main'
 ERLC   ../ebin/hipe_rtl_cleanup_const.beam
 ERLC   ../ebin/hipe_rtl_binary.beam
../flow/liveness.inc:46: can't find include file "../main/hipe.hrl"
/home/mohamedsabryhegazy/.asdf/plugins/erlang/kerl-home/builds/asdf_21.1.4/otp_src_21.1.4/make/x86_64-unknown-linux-gnu/otp.mk:131: recipe for target '../ebin/hipe_rtl_liveness.beam' failed
make[3]: *** [../ebin/hipe_rtl_liveness.beam] Error 1
make[3]: *** Waiting for unfinished jobs....
 VSN    hipe.hrl
make[4]: Leaving directory '/home/mohamedsabryhegazy/.asdf/plugins/erlang/kerl-home/builds/asdf_21.1.4/otp_src_21.1.4/lib/hipe/main'
make[3]: Leaving directory '/home/mohamedsabryhegazy/.asdf/plugins/erlang/kerl-home/builds/asdf_21.1.4/otp_src_21.1.4/lib/hipe/rtl'
/home/mohamedsabryhegazy/.asdf/plugins/erlang/kerl-home/builds/asdf_21.1.4/otp_src_21.1.4/make/otp_subdir.mk:29: recipe for target 'opt' failed
make[2]: *** [opt] Error 2
make[2]: Leaving directory '/home/mohamedsabryhegazy/.asdf/plugins/erlang/kerl-home/builds/asdf_21.1.4/otp_src_21.1.4/lib/hipe'
/home/mohamedsabryhegazy/.asdf/plugins/erlang/kerl-home/builds/asdf_21.1.4/otp_src_21.1.4/make/otp_subdir.mk:29: recipe for target 'opt' failed
make[1]: *** [opt] Error 2
make[1]: Leaving directory '/home/mohamedsabryhegazy/.asdf/plugins/erlang/kerl-home/builds/asdf_21.1.4/otp_src_21.1.4/lib'
Makefile:575: recipe for target 'secondary_bootstrap_build' failed
make: *** [secondary_bootstrap_build] Error 2

this happens consistently with Erlang/OTP 21.1.2, 21.1.3 and 21.1.4 but not 21.1.1.

Unable to compile Erlang/OTP 20.1 on MacOSX Mojave

Maybe someone could help me with this problem. When installing any erlang/opt version on my machine, the follow error appears. I couldn't find the reason:

joao.paula root_app_dir (master) $ kerl build 20.1 20.1
Verifying archive checksum...
Checksum verified (4c9eb112cd0e55f17c474218825060ee)
Building Erlang/OTP 20.1 (20.1), please wait...
Build failed.
In file included from wxe_impl.cpp:39:
In file included from ./wxe_gl.h:24:
./egl_impl.h:35:11: fatal error: 'GL/glu.h' file not found
# include <GL/glu.h>
          ^~~~~~~~~~
1 error generated.
make[3]: *** [x86_64-apple-darwin18.5.0/wxe_impl.o] Error 1
make[2]: *** [opt] Error 2
make[1]: *** [opt] Error 2
make: *** [libs] Error 2

I am using a MacOSX 10.14.4 and kerl 1.8.5.

Thank you for the help

If some information is missing, please let me know.

can't install erlang 20.1 on MacOSX 10.11.6

In file included from /var/folders/cm/crhcj_ys6fb7_4ntpqy5qlc80000gn/T/otp_src_20.1/erts/emulator/pcre/pcre_exec.c:6462:
/var/folders/cm/crhcj_ys6fb7_4ntpqy5qlc80000gn/T/otp_src_20.1/erts/emulator/pcre/pcre_exec_loop_break_cases.inc:32:6: error: expected expression
case : goto L_LOOP_COUNT_5974;
^
1 error generated.
make[4]: *** [/var/folders/cm/crhcj_ys6fb7_4ntpqy5qlc80000gn/T/otp_src_20.1/erts/emulator/pcre/obj/x86_64-apple-darwin15.6.0/opt/pcre_exec.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [opt] Error 2
make[2]: *** [opt] Error 2
make[1]: *** [smp] Error 2
make: *** [emulator] Error 2
$

No usable OpenSSL found

I get the following warnings/errors when trying to install erlang 21.0:

 * crypto         : No usable OpenSSL found
 * ssh            : No usable OpenSSL found
 * ssl            : No usable OpenSSL found

I'm on MacOS 10.13.6, updated asdf-erlang and have openssl installed via homebrew:

% brew ls --versions openssl
openssl 1.0.2o_1 1.0.2p 1.0.2o_2

Any ideas?

Unable to install erlang 20.0 on OSX 10.12.6

=== Entering application hipe
 ERLC	../ebin/hipe_rtl.beam
 ERLC	../ebin/hipe_rtl_cfg.beam
 ERLC	../ebin/hipe_rtl_liveness.beam
 GEN	hipe_literals.hrl
 ERLC	../ebin/hipe_rtl_mk_switch.beam
 ERLC	../ebin/hipe_rtl_varmap.beam
 ERLC	../ebin/hipe_rtl_arith_32.beam
 ERLC	../ebin/hipe_rtl_arith_64.beam
 ERLC	../ebin/hipe_rtl_ssa.beam
{"init terminating in do_boot",{load_failed,[supervi{so"ri,npirto ct_elrimbi,nlaitsitnsg, kienr ndeol_,bhoeoatr"t,,{gleona_ds_efravielre,dg,e[ns_uepveernvti,sgoern,,pfriolce__liiob_,sleirsvtesr,,kfeirlnee_ls,ehrevaerrt,,fgielne_nsaemrev,efri,lgee,ne_tesv,eenrtr,ogre_nl,ofgigleer_,ieor_ls_epravresre,,feirlle_{_ls"ieinrntvi,eter r,tlfe_irelmveiannlaa,tmcieo,ndgfei _ilsene,rev tesr,,ecrordoedr,o_al_pobpgolgoitecr"a,,te{irlolona__pdma_arfsastieerl,,eeardpl,p_[lislcuiapntetir,ovenri_lsco_oern,vtparlrool,lcceo_rld,eiab_p,spellirivscteasrt,,ickooned,reenr,reaolprp,_lhhieaacnradttli,egrsenn]__}ms}ae
eveerr,,agpepnl_iecvateinotn,_gceonn,tfriollel_eiro,_aspeprlviecra,tfioinl,ee_rsreorrv_eharn,dflielre]n}a}m
,filei,neitts ,teerrrmoirn_altoigngge ri,ne rdlo__pbaoroste ,(e{rlilon_alidit_nf attie,lreemrdil,n[_astueipvneagrl vi,incs ooddreo,__pbsroeoorcvt_ le(i{rbl,,oclaoidds_etf,saa,pikpellreincdea,l[t,sihouenpa_er{mrt"av,siitsgeonreirn,,t_p aspreoprtvcel_rliemcirab,,tiligoiensnt_nsev,_ecakoetnritnn,nggeteln,r ho,ifenail rltdel,_egireo,no__abpso_ospeelrtvir"ce,vare{,trglieonoa,n_fe,dei_rvflerena_otislr,eg_rehveenadnr,d,l,ffei[rli]sleu}enp_}amr
ivoei_,ssfoielrre,v,peerrto,scf,_iellrirebo_,rsl_eilrsovtgesg,rek,rfe,irelnerelnl_ai,pnmhieea,tf irtlseeaerr,,tmeei,tnsra,ltgi_eneglrnir_n otirs,_n,al r{lro_gdevv"eoig_nrai,ltg ,btceeoondro_meetv_e si(ne{t
ogateidnn_,gff iailinel _edidoo,__[sbsoeuortpv"ee,rrve,i{fsrlioola,red_e,_rslpe_frapirvaloeerdr,s[,csef,_eirllle_nialmbie,n,ltfi,iseltresl,,_eketvgepe,lne,ecrlor,odrh_eleao_rgsteg,u
ren,_resvrielsr_ovrpe,arr,psgree,onec_r_ellvie_bnl,til,nigst,teesnr,,lkfe_irelnveea_lli,,ohc_eosaderert_v,esgree,rnfv_ieslree,r_vcseoerd,regv,eenanierpv,elf
ti,Cgrcleaansteh,n faidmiuel,meop_fi nio_i_smsla sbeete,ienrgr e,vwtreiatstrpe,,nfp ileltieo_c:sar ertroeirvo_nel_orgrclg_oecnrrta,srehor.lldl_,puolepefs.rei.l,.,aeepnrplalm_ileci,anftiti,
iel,Cne_,reeavtsashlr ,,derurorcrmoo_pdrh eain__sld solbgegee
piar,g]e r}lw}_r
rtstee,ne rtlo_:l inetr,le_rclr_aesvha.ld,ucmopd.e._.server,code,application_masteri,naiptp ltiecramtiinoant_icnogn trionl ldeor_b,oaoptp l(i{clao,aido_nf,aeirlreodr,_[hsaunpdelrevri]s}o}r
proc_lib,lists,kernel,heart,gen_server,gen_event,gen,file_io_server,filei_nsietr vteerr,mfiinlaetnianmge ,ifni ldeo,_ebotost, e(r{rloora_dl_ofgagirrre,de,r[ls_uppae
olCeir,asesorrhl ,_pdluriomnpct _,ileisr bble_ien,vglai lsw,tcsroi,dtkeet_ersnne et
:,h eearrlt_,cgreans_hs.edruvmepr.,.g.en_event,gen,file_io_server,file_server,filename,file,ets,error_logger,erl_parse,erl_lint,erl_eval,code_se

Crash dump is being written to: erl_crash.dump...
Crash dump is being written to: erl_crash.dump...{"init terminating in do_boot",{load_failed,[supervisor,proc_lib,lists,kernel,heart,gen,gen_server,gen_event,file_io_server,file_server,filename,file,ets,error_logger,erl_eval,erl_parse,erl_lint,code_server,code,application_master,application_controller,application,error_handler]}}
init terminating in do_boot ({load_failed,[supervisor,proc_lib,lists,kernel,heart,gen,gen_server,gen_event,file_io_server,file_server,filename,file,ets,error_logger,erl_eval,erl_parse,erl_lint,code_se

Crash dump is being written to: erl_crash.dump...{"init terminating in do_boot",{load_failed,[supervisor,proc_lib,lists,kernel,heart,gen_server,gen,gen_event,file_io_server,file,filename,file_server,ets,erl_parse,error_logger,erl_lint,erl_eval,code_server,code,application_master,application_controller,application,error_handler]}}
init terminating in do_boot ({load_failed,[supervisor,proc_lib,lists,kernel,heart,gen_server,gen,gen_event,file_io_server,file,filename,file_server,ets,erl_parse,error_logger,erl_lint,erl_eval,code_se

Crash dump is being written to: erl_crash.dump...{"init terminating in do_boot",{load_failed,[supervisor,proc_lib,lists,kernel,heart,gen_server,gen_event,gen,filename,file_io_server,file_server,file,ets,error_logger,erl_parse,erl_lint,erl_eval,code_server,code,application_master,application_controller,application,error_handler]}}
init terminating in do_boot ({load_failed,[supervisor,proc_lib,lists,kernel,heart,gen_server,gen_event,gen,filename,file_io_server,file_server,file,ets,error_logger,erl_parse,erl_lint,erl_eval,code_se

Crash dump is being written to: erl_crash.dump...done
done
done
done
done
done
done
done
make[3]: *** [../ebin/hipe_rtl_arith_64.beam] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: *** [../ebin/hipe_rtl_varmap.beam] Error 1
make[3]: *** [../ebin/hipe_rtl.beam] Error 1
make[3]: *** [../ebin/hipe_rtl_cfg.beam] Error 1
make[3]: *** [../ebin/hipe_rtl_mk_switch.beam] Error 1
make[3]: *** [../ebin/hipe_rtl_arith_32.beam] Error 1
make[3]: *** [../ebin/hipe_rtl_liveness.beam] Error 1
make[3]: *** [../ebin/hipe_rtl_ssa.beam] Error 1
make[2]: *** [opt] Error 2
make[1]: *** [opt] Error 2
make: *** [secondary_bootstrap_build] Error 2

Combine asdf-erlang and asdf-kerl?

Today I switched to the excellent asdf-kerl, and was able to install Erlang with wx support. Using asdf-kerl I noticed a couple things, and I thought maybe it would be wise to rethink how we write asdf plugins. I think starting with a blank slate, as we did with asdf-erlang, wasn't ideal. Building on the work of others, as was done with asdf-kerl, allows us to leverage a lot of previous trial and error. So, I think asdf-kerl should become asdf-erlang. But, I did notice a few issues with both asdf-kerl and asdf-erlang:

asdf-erlang:

  • You are on your own when it comes to patches. You'll need to figure out which ones you need for your OS and Erlang version
  • Minimal support for different OSes, you might end up needing to specify a lot of custom paths on OSes like Mac OSX.

asdf-kerl:

  • App specific binaries aren't on the $PATH (fixed this in asdf-erlang here: a68a642)
  • Doesn't automatically update the list of available versions that kerl knows about when using the list-all command. Seems like we just need to spend a few more minutes on the shell script to iron out some issues.
  • Docs are unclear if it installs kerl or expects kerl to be present

What do you think @HashNuke @eproxus @asdf-vm/maintainers ?

Many of these things apply to asdf-vm/asdf-ruby#51 as well.

Ubuntu WSL 16.04 cannot Install erlang

gzip: stdin: unexpected end of file
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
Building Erlang/OTP 20.0 (asdf_20.0), please wait...
/home/suganda/.asdf/plugins/erlang/kerl: 715: cd: can't cd to /home/suganda/.asdf/plugins/erlang/kerl-home/builds/asdf_20.0/otp_src_20.0

How to install versions of erlang from git?

Before the change to using kerl you were able to do something like asdf install erlang ref:maint and this no longer works.

With the change to using kerl, what's the best way to install erlang from master?

Remove requirement for Homebrew on macOS

Somewhat related to #21, but I don't believe that the Homebrew requirement should be enforced, as long as the actual Erlang dependencies (wxmac/openssl/etc.) exist on the system. I'm personally trying to move from Homebrew to Nix for general package management, and I have wxmac installed in my environment, but this plugin fails to install:

$ asdf install erlang 19.2
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   178  100   178    0     0    189      0 --:--:-- --:--:-- --:--:--   189
100 65.2M  100 65.2M    0     0   244k      0  0:04:33  0:04:33 --:--:--  183k
Building with options: ERROR: Please install homebrew for OSX --prefix=/Users/elasticdog/.asdf/installs/erlang/19.2
configure: WARNING: you should use --build, --host, --target
configure: WARNING: invalid host type: ERROR:
configure: WARNING: you should use --build, --host, --target
configure: WARNING: you should use --build, --host, --target
configure: WARNING: you should use --build, --host, --target
configure: WARNING: you should use --build, --host, --target
configure: WARNING: you should use --build, --host, --target
Ignoring the --cache-file argument since it can cause the system to be erroneously configured
Disabling caching
checking build system type... Invalid configuration `ERROR:': machine `ERROR:' not recognized
configure: error: /bin/sh /var/folders/_7/mcjzb_891q14cgfsv5zkj2140000gn/T/otp_src_19.2/erts/autoconf/config.sub ERROR: failed

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.