-
-
Notifications
You must be signed in to change notification settings - Fork 238
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
First try with erl 25.0 rc1 #945
Comments
I will have to rebuild a relx binary probably since it dropped support for 20 beam files. |
Having same issue with 25-rc2 . Any update on this issue ?
|
Forgot about it. Will do that on Monday. |
I'm afraid it looks a bit more difficult than just recompiling against 22+. The release generated by Relx no longer contains a RELEASES file which is necessary for some features to work (such as release upgrades). I can create an empty RELEASES file and this will let most use of releases work but NOT release upgrades. For that upgrading Relx will certainly be necessary, and that implies switching from escript to using it as a library. So for the time being I will push the update that makes it work in all cases except release upgrades, but then I will have to find time to do a proper move to Relx 4. This is going to be a breaking change (although we can support both modes for the time being). |
I have pushed the temporary commit. |
I added the updated erlang.mk, but when I gmake on freebsd is says: touch: _rel/projname_release/releases/RELEASES: No such file or directory but if I do: mkdir _rel/projname_release/releases touch _rel/projname_release/releases/RELEASES then run gmake again, it works. I'm not sure why there is a projname_release. I thank it should just be projname in the path. |
I probably used the wrong variable. I'll take a look when I can. |
Hm I will change it to use |
Actually that's probably because you have a relx.config that changes the default release name. So it's a bit more complicated. I will just have to upgrade Relx. |
Still in rc2, no hurry. |
Well rc3 is out so now is the time really. |
I will have to remove a few things including |
I am making it similar to proper, which means relx will need to be added to REL_DEPS (or other relevant DEPS) in order to run. |
Another heads up: these options will need to be set explicitly since it seems like the defaults have changed: {dev_mode, false}.
{include_erts, true}. |
Please try the Note that it currently requires a custom relx if you are using simple integers for release versions. Also make note of the earlier comments. |
I have opened erlware/relx#911 to get the fix in the main Relx repository. |
This is what I use for relx.config: {release, {esysman, "1.20"}, [esysman]}. |
Tests are now green on the branch (no changes to release code since yesterday) so it's just a matter of feedback or OTP 25 getting released. I will try on my own projects as well, I got a bunch in Cowboy and Ranch that can exercise these changes. |
I will also need to reenable the Windows VM to test on Windows at some point. |
The Cowboy/Ranch tests that use releases all pass with minor updates. Other than start->daemon, I also encountered the fact that the eval command now expects the final dot. |
Windows now works but it required another relx patch. The relevant PR is erlware/relx#914 |
Relevant problem if using OTP-25.0-rc2: erlang/otp#5826 |
Works for me now, thanks |
In aa0053c is there a reason you did this: and not this: When I take out the _releases, it works fine for me. |
Neither are correct, the release name is provided in relx.config and is not dependent on |
That line is on line 49 here: https://github.com/ninenines/erlang.mk/blob/master/plugins/relx.mk $(PROJECT)_release should jsut be $(PROJECT) |
It is correct for the default as I've said, see https://github.com/ninenines/erlang.mk/blob/master/plugins/bootstrap.mk#L95 The real fix is in the |
I will merge the relx changes today. I will also investigate a potential issue with xref. |
Merged! Thanks. I will investigate xref now. |
Just an FYI: I just installed erlang 25, git cloned your erlang.mk project and ran make on it and put the erlang.mk in my project and all works with no error. Thanks! |
Hmm. Maybe I'll need to redo how my project is set up. I noticed now that "make distclean" does not remove _rel nor does "make" create a new _rel folder. Any tips what direction I need to go for this? Thanks |
I probably just need to implement what you have in your comments about the braking changes. |
Yes you need to add |
This is what my make file looks like: PROJECT = esysman DEPS = cowboy epgsql include erlang.mk I get this now when running make: Crash dump is being written to: erl_crash.dump...done |
Should have said BUILD_DEPS by the way. You probably don't want it included in the release. Also please remove the dep_relx line and use the one defined by erlang.mk for now as it contains a fix that upstream relx hasn't merged yet. You might need to |
Note that relx will be added automatically when creating a new project as of a few days ago. |
FYI with erl 25 rc1, I thought I'd try it and when running make to create a release, I get this error:
escript: exception error: undefined function relx:main/1
in function escript:run/2 (escript.erl, line 750)
in call from escript:start/1 (escript.erl, line 277)
in call from init:start_em/1
in call from init:do_boot/3
make: *** [erlang.mk:7506: relx-rel] Error 127
The text was updated successfully, but these errors were encountered: