justincalleja

justincalleja

Engineering Elixir Applications: ERROR: build failed

Installing the mentioned version of erlang gave me issues (I also tried with some other versions in 26.2…)

❯ asdf install erlang 26.2.1

ERROR: 'asdf_26.2.1' is not a kerl-managed Erlang/OTP installation.
Build 'asdf_26.2.1' has been deleted.
Extracting source code for normal build...
Building (normal) Erlang/OTP 26.2.1 (asdf_26.2.1); please wait...
Initializing (build) log file at /Users/justincalleja/.asdf/plugins/erlang/kerl-home/builds/asdf_26.2.1/otp_build_26.2.1.log.
Attempting to use Homebrew OpenSSL from /opt/homebrew/opt/openssl@3.0...
WARNING: ... you may have to brew the expected version or otherwise use --with-ssl
APPLICATIONS DISABLED (See: /Users/justincalleja/.asdf/plugins/erlang/kerl-home/builds/asdf_26.2.1/otp_build_26.2.1.log)
 * odbc           : ODBC library - link check failed

DOCUMENTATION INFORMATION (See: /Users/justincalleja/.asdf/plugins/erlang/kerl-home/builds/asdf_26.2.1/otp_build_26.2.1.log)
 * documentation  :
 *                  fop is missing.
 *                  Using fakefop to generate placeholder PDF files.

ERROR: build failed.
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/netinet/in.h:657:10: fatal error: cannot open file '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/netinet6/in6.h': Too many open files
  657 | #include <netinet6/in6.h>
      |          ^
1 error generated.
make[4]: *** [obj/aarch64-apple-darwin23.6.0/opt/jit/beam_asm_module.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [opt] Error 2
make[2]: *** [opt] Error 2
make[1]: *** [jit] Error 2
make: *** [emulator] Error 2

Please see /Users/justincalleja/.asdf/plugins/erlang/kerl-home/builds/asdf_26.2.1/otp_build_26.2.1.log for full details.
Auto cleaning all artifacts except the log file...
(use KERL_AUTOCLEAN=0 to keep build on failure, if desired)
Cleaning up compilation products for 'asdf_26.2.1' under:
  - /Users/justincalleja/.asdf/plugins/erlang/kerl-home/builds...
  - /Users/justincalleja/.asdf/downloads/erlang/26.2.1...
... done.

To overcome this, I had to:
ulimit -n 4096

to increase open file limits… might have helped but I also:
❯ brew install autoconf wxmac openssl@1.1 fop

with some issue with openssl@1.1

Anyway asdf list erlang lists it now and i could install the rest with asdf install and the tools version file.

Most Liked

alvinkatojr

alvinkatojr

@justincalleja for security reasons, openss1@1.1 is no longer recommended at this point. You can and should install openssl@3 instead via Homebrew i.e brew install openssl3 and add the following to your zshrc or bash file:

export PATH="$(brew --prefix openssl@3)/bin:$PATH"

This ensures that openssl3 is used for all apps/programs that require openssl.

The Homebrew versions will always be picked up by default unless you do something about it, which is why we used ASDF.

I used to have Homebrew versions of Elixir and Erlang when I started out but deleted them after I got used to asdf. They really have serve no purpose unless used as dependencies for something like RabbitMQ which for now you don’t need.

My suggestion would be to uninstall those versions, then install Elixir and Erlang versions using ASDF like you have. Then you can set global and local versions of both using the following examples. The ASDF versions will then be picked up automatically without any hitches.

Use this to set the global version of Elixir and Erlang that will be used automatically when you type iex or erl.

  • asdf global elixir 1.17.3-otp-27
  • asdf global erlang 27.1.2

Per project basis if you only need to use specific version of elixir for that specific project. Run it in the project directory.

  • asdf local elixir 1.17.3-otp-27
  • asdf local erlang 27.1.2

Let me know it this helps. Cheers!

justincalleja

justincalleja

Thank you for the reply. I’ve set the ssl3 path override. It did cross my mind to uninstall the homebrew versions. Keeping them around as a backup.

Mostly just posting comments in case someone else has difficulty getting started e.g. the running out of file descriptor issue etc…

Thanks for the feedback

Where Next?

Popular Pragmatic Bookshelf topics Top

abtin
page 20: … protoc command… I had to additionally run the following go get commands in order to be able to compile protobuf code using go...
New
iPaul
page 37 ANTLRInputStream input = new ANTLRInputStream(is); as of ANTLR 4 .8 should be: CharStream stream = CharStreams.fromStream(i...
New
yulkin
your book suggests to use Image.toByteData() to convert image to bytes, however I get the following error: "the getter ‘toByteData’ isn’t...
New
raul
Hi Travis! Thank you for the cool book! :slight_smile: I made a list of issues and thought I could post them chapter by chapter. I’m rev...
New
joepstender
The generated iex result below should list products instead of product for the metadata. (page 67) iex&gt; product = %Product{} %Pento....
New
gilesdotcodes
In case this helps anyone, I’ve had issues setting up the rails source code. Here were the solutions: In Gemfile, change gem 'rails' t...
New
hgkjshegfskef
The test is as follows: Scenario: Intersecting a scaled sphere with a ray Given r ← ray(point(0, 0, -5), vector(0, 0, 1)) And s ← sphere...
New
creminology
Skimming ahead, much of the following is explained in Chapter 3, but new readers (like me!) will hit a roadblock in Chapter 2 with their ...
New
andreheijstek
After running /bin/setup, the first error was: The foreman' command exists in these Ruby versions: That was easy to fix: gem install fore...
New
New

Other popular topics Top

PragmaticBookshelf
Machine learning can be intimidating, with its reliance on math and algorithms that most programmers don't encounter in their regular wor...
New
PragmaticBookshelf
Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell. With Seven Languages in Seven Weeks, by Bruce A. Tate, you’ll go beyond the syntax—and...
New
AstonJ
We have a thread about the keyboards we have, but what about nice keyboards we come across that we want? If you have seen any that look n...
New
Exadra37
Oh just spent so much time on this to discover now that RancherOS is in end of life but Rancher is refusing to mark the Github repo as su...
New
PragmaticBookshelf
Learn different ways of writing concurrent code in Elixir and increase your application's performance, without sacrificing scalability or...
New
AstonJ
Was just curious to see if any were around, found this one: I got 51/100: Not sure if it was meant to buy I am sure at times the b...
New
PragmaticBookshelf
Author Spotlight Rebecca Skinner @RebeccaSkinner Welcome to our latest author spotlight, where we sit down with Rebecca Skinner, auth...
New
New
sir.laksmana_wenk
I’m able to do the “artistic” part of game-development; character designing/modeling, music, environment modeling, etc. However, I don’t...
New
PragmaticBookshelf
Use advanced functional programming principles, practical Domain-Driven Design techniques, and production-ready Elixir code to build scal...
New

Latest in Engineering Elixir Applications

Engineering Elixir Applications Portal

Sub Categories: