brightball

brightball

Does Heroku manage this? The OTP 24.0 build is broken and these buildpacks are used in a lot of places, including CI pipelines. I think Gigalixir may even use them (not sure though).

Just wondering if anybody has an idea when this one might be fixed or if it’s getting any attention?

Showing Posts 1 to 10

al2o3cr

al2o3cr

Weird - looks like the issue is with the detected architecture name - the workflow expects x86_64-unknown-linux-gnu:

https://github.com/elixir-buildpack/heroku-otp/blob/43dc62d762fbabfbfea9b1017b1c1cc3871de91d/.github/workflows/build-new-release.yml#L125-L132

But what’s getting created appears to be x86_64-pc-linux-gnu based on the workflow’s logs:

if test ! -f ""/build/otp-OTP-24.0/release/x86_64-pc-linux-gnu"/releases/24/installed_application_versions" ; then				\
 echo "erts-12.0" > ""/build/otp-OTP-24.0/release/x86_64-pc-linux-gnu"/releases/24/installed_application_versions" || exit 1;	\
else								\
 if test x = x`grep erts-12.0 ""/build/otp-OTP-24.0/release/x86_64-pc-linux-gnu"/releases/24/installed_application_versions"` ; then \
  echo erts-12.0 >> ""/build/otp-OTP-24.0/release/x86_64-pc-linux-gnu"/releases/24/installed_application_versions" || exit 1;	\
 fi ;								\
fi
make[2]: Leaving directory '/build/otp-OTP-24.0/erts'
make[1]: Leaving directory '/build/otp-OTP-24.0/erts'
/usr/bin/install -c -m 644 "/build/otp-OTP-24.0/OTP_VERSION" ""/build/otp-OTP-24.0/release/x86_64-pc-linux-gnu"/releases/24"

:thinking:

al2o3cr

al2o3cr

This PR looks like the root cause:

https://github.com/erlang/otp/pull/4627

Take particular note of the change to .gitignore.

kip

kip

ex_cldr Core Team

Thats some fine sleuthing!

axelson

axelson

Scenic Core Team

That particular buildpack appears to be maintained by only one person: Contributors to elixir-buildpack/heroku-otp · GitHub

Although I think most people use GitHub - HashNuke/heroku-buildpack-elixir: Heroku Buildpack for Elixir with nitro boost · GitHub

Gigalixir uses buildpacks as well, although I’m not sure what they currently point to in their docs

sanswork

sanswork

jesseshieh(who seems to be the primary maintainer these days of the HashNuke repo) is actually Jesse from Gigalixir.

jesse

jesse

Hey guys, thanks for bringing this up. Indeed, most people use the hashnuke buildpack and that’s the one gigalixir uses. Has anyone had problems with OTP 24 on gigalixir? If so, definitely let me know.

brightball

brightball OP

It looks like this is used by Codeship. They reference using Heroku buildpacks so I assumed it was all the same.

kitplummer

kitplummer

I just tried to update my app on Heroku to OTP 24 and v1.12.0 of Elixir.

-----> Building on the Heroku-18 stack
-----> Using buildpack: hashnuke/elixir
-----> Elixir app detected
-----> Will export the following config vars:
LEI_CACHE_CLEAN_ENABLE
LEI_GH_TOKEN
LEI_JOBS_PER_CORE_MAX
LEI_NUM_OF_REPOS
REDIS_URL
       * MIX_ENV=prod
-----> Checking Erlang and Elixir versions
       Will use the following versions:
       * Stack heroku-18
       * Erlang 24.0.1
       * Elixir v1.12.0 
-----> Fetching Erlang 24.0.1 from https://s3.amazonaws.com/heroku-buildpack-elixir/erlang/cedar-14/OTP-24.0.1.tar.gz
-----> Installing Erlang 24.0.1 (changed)
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
/tmp/codon/tmp/buildpacks/33c47927cb45211dfbbb80b66b1137336c08f55a/lib/erlang_funcs.sh: line 36: /tmp/tmp.CfN0V6CYfJ/erlang/Install: No such file or directory
-----> Fetching Elixir v1.12.0 for OTP 24 from https://repo.hex.pm/builds/elixir/v1.12.0-otp-24.zip
-----> Installing Elixir v1.12.0 (changed)
-----> Installing Hex
/tmp/build_d58dda45/.platform_tools/elixir/bin/elixir: 230: exec: erl: not found
-----> Installing rebar
/tmp/build_d58dda45/.platform_tools/elixir/bin/elixir: 230: exec: erl: not found
-----> Fetching app dependencies with mix
/tmp/build_d58dda45/.platform_tools/elixir/bin/elixir: 230: exec: erl: not found
 !     Push rejected, failed to compile Elixir app.
 !     Push failed

These get defined in a config file called elixir_buildpack.config that Heroku reads…

UPDATE: realized I was on heroku-18 (Ubuntu 18) - upgraded stack to heroku-20 - and it is deploy OTP 24.

kaz

kaz

Howdy! I’m the maintainer of the new fork, I built it mostly to replace the build system, the buildpack code is pretty much the same. Thanks for bringing it to my attention

I’ve just looked over the issue quickly and it looks like it should just be a matter of using the RELEASE_ROOT environment variable.

kaz

kaz

The new fork of the buildpack now works with 24.x :+1:

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 94592 917
New
cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
heathen
Quite interesting article Google brought me. Didn’t find any mentions about it here. What do you think in general? Would you use togethe...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
axelson
Hi there! :wave: @frigidcode and I (but mostly him) have been running an Elixir Book club, we’re almost done with Designing Elixir Syste...
New
budgie
A little off-topic, but I feel like people here have a good head on their shoulders. I used to be quite good at making software. Was luc...
New

Other Trending Topics Top

GenericJam
Edit: 2026 May 15 - This post is archived. Mob is alive!! Main docs: mob v0.7.11 — Documentation A bit of explanation for the slightly c...
New
JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
georgeguimaraes
Just published claude-code-elixir, a plugin marketplace for Claude Code with Elixir support. These are the plugins I’ve been using for my...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews