-
Notifications
You must be signed in to change notification settings - Fork 232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
building release fails when ERL_LIBS points to read-only filesystem #847
Comments
Hm, I thought we had a fix for that recently... To be clear, you aren't using dev mode, right? |
No, but I was worried for a second and had to double check :D. I just managed to confirm that this change fixes it: https://github.com/dlesl/relx/tree/make-files-writeable-3_33 -- it's this commit that made the difference dlesl@76c57fb |
OTOH if the fix for this was recent and I'm still using 3.33.0 that might explain it :) |
Can you try the latest rebar3? |
Oh, this (#825) only touches beams, it needs to also update .app |
I tried to try the latest rebar3 but I ran into another issue, however this time I'm not sure if its a bug in rebar3 or relx. My interpretation of the problem is that for some apps, relx doesn't look in ERL_LIBS to resolve them, and I think this might be because these apps are also dependencies of rebar3. I put together a minimal repro here: https://github.com/dlesl/relxcrashrepro I have added
As expected, rebar3 3.13.0 can't find the dependency (and would have found it in ERL_LIBS).
If you change
which almost looks like it's trying to resolve the dependency "inside" the rebar3 escript? |
I did a bit more investigation into this and of the released rebar3 versions, the problem first arises in 3.14.0-rc1. I think the issue lies in |
yeah that's a common issue and we try to keep rebar3 dependencies as limited as possible to prevent clashes. For other cases we keep separate sets of code paths for plugins and for deps, but for the dependencies we use ourselves we're very limited. |
@ferd makes sense! I had a few ideas regarding a path forward, do any of these sound reasonable?
|
When relx copies dependencies from ERL_LIBS, it preserves their mode and as a result subsequently fails to rewrite
.app
files with{error, eacces}
.The text was updated successfully, but these errors were encountered: