nahoj
Hello, I’m a newcomer to both Elixir and Erlang and I’ve run into an issue and I hope someone here can help me.
When using mix compile I seem to be getting a compatibility error, that the beam file is compiled for a later version of the runtime system.
16:05:42.441 [error] beam/beam_load.c(184): Error loading module luerl:
This BEAM file was compiled for a later version of the runtime system than the current (Erlang/OTP 25).
To fix this, please re-compile this module with an Erlang/OTP 25 compiler.
(Use of opcode 181; this emulator supports only up to 180.)
A simple cleanup of deps/ and _build/ will recover from the issue, but that isn’t desired.
I’ve isolated it to only show up on Elixir version 1.15.x using below Erlang/OTP
mix --version
Erlang/OTP 25 [erts-13.2.2.3] [source] [64-bit] [smp:20:20] [ds:20:20:10] [async-threads:1] [jit:ns]
Mix 1.15.7 (compiled with Erlang/OTP 24)
I’ve created a sample repository https://github.com/JohanKarlbergg/01e3c763592bbc85568a28a81ae6f5f732d8d183f7f533080a0998e7229127fe and put a command in the README reproduce the issue.
I’ve tried to search for similar issues without success.
Trending in Questions
Hey guys,
I’ve got a huge CSV ( around 10 GB ) that needs to be processed hourly
Do you guys have any suggestions what is the best prac...
New
Hello!
Could someone please give me a help/sample code, how to delete a file from s3 using waffle/waffle_ecto from Phoenix app.
I creat...
New
I have what I’ve heard referred to as a “lookup table” in my database. This is a way of assigning codes to common values. One common lo...
New
Hello,
I’m developing a online persistent chat system (what’s app) like using elixir/dynamodb/aws for a mobile app(flutter).
The diffic...
New
What approach to take when sending live updates to “random” users Hi! I have a question, I have a little chat app, and when I create a DM...
New
Anyone here using Honeybadger?
My Honeybadger account is being overwhelmed with noise from some bots. Seeing a lot of
Bandit.HTTPError...
New
I’m seeing that a list inside a Kino.DataTable will be interpreted as a charlist, even if the Kino.configure() is set to charlists: :as_l...
New
Other Trending Topics
Hobbes is a low-level distributed database for the Elixir programming language.
Hobbes provides a simple, safe, and scalable storage lay...
New
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve.
They are GUI (Emerge) and State management (S...
New
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
There are three potential reasons for members of this forum to have a look at https://vutuv.de
You are tired or annoyed of LinkedIn.
Yo...
New
Aludel - LLM Evaluation Workbench
Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #blog-post
- #ai
- #elixirconf-us
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming










Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
Eiji
Because this is not considered as an issue. The message is clear enough and as you said there is solution of cleanup which you know without searching. In such case if people know something without searching they don’t create any issue and just your question is not common.
Keep in mind that on the forum many users reading your post have no idea how you think like they have no idea why recompiling all dependencies is not desired for you. As you said recompiling all dependencies is of course good idea and people do it by default in almost all cases - at least those I am aware of. However if for some reason you don’t want to compile all dependencies then you can simply recompile just one.
You need to improve your documentation research skills. What’s may be interesting is
mix helptask which lists all tasks available andmix help task.namewhich shows the documentation for said task. I believe thatdeps.compileis obvious naming, so there is no need to describe what it does. Finally the documentation inmix help deps.compileshould be enough clear for you.Personally I recommend reading documentation a lot. Of course not to remember everything, but to more or less know where you can find some information and also you may find lots of interesting things that would be helpful for you now or in near future and you were just was not aware of their existence. The common mistake is to not read
Erlangdocumentation assuming thatElixircore is all what you need. For example I have found:erlang.term_to_binary/1and:erlang.binary_to_term/1very useful. This is pretty basic and simple to understand thing new developers have completely no idea about.Edit: As @kokolegorille said firstly you need to fix the problem with your
Elixirinstallation. After this you can usemix deps.compileto recompile only those dependencies you want.nahoj
After some further debugging it seems luerl might be the issue. When I pin it to 1.1.0 I have no issue.
kokolegorille
How did You install Elixir and Erlang? With asdf?
You have an Elixir version for OTP24, but You have OTP25
You need to change the Elixir version to be OTP 25
Latest for now is OTP 26…
tj0
This is a rather curious problem. I could not re-create it with luerl 1.0 as given in the repo. And I added luerl 1.0 to one of my own projects without error.
Did you download a pre-compiled luerl from somewhere @nahoj ? The only other way I can think this might happen is that you installed erlang, tried luerl. Upgraded something installing elixir. And then ran into this problem.
nahoj
Hey, I did not download luerl from somewhere. I use asdf to manage elixir/erlang.
In the mix.lock file it is version 1.1.1, I should have had the same in mix.exs.
I’m also unable to re-create this with luerl 1.0.
tj0
Hmmm…that makes sense. So the only logical explanation I can think of is if you installed multiple versions of erlang or elixir? Otherwise, I have no idea how this could possibly occur.
Edit: Also, I’m super-curious how you ended up on luerl as a starting point as a newcomer to Elixir/Erlang?
Eiji
You need to use an
Elixirversion with-otp-25suffix if you useErlangversion25.LostKobrakai
While it’s certainly to be preferred that’s not completely correct. You need that for elixir to integrate with OTP 25 features, but using an elixir version compiled with an older otp version should generally work.
Eiji
Should work or maybe could work? Should sounds like it’s supported and therefore such behaviour looks like a bug. I guess it could work, but since it’s not supported it’s recommended to make an update in order to avoid such problems now and in the future.
dimitarvp
Should, yes, but I’d never recommend it.