Closed Laymer closed 10 months ago
Hi Igor,
[47|grisp_base]
should be [47|"grisp_base"]
. I don't know how it got in there at your side. Did you change the board value somewhere? I could reproduce the error by adding {board, grisp_base}
to the rebar.config. I had no problems with the default rebar.config, where there is no board entry or with the following in it:
{grisp, [
{otp, [
{version, "22.0"}
]},
{board, "grisp_base"},
{deploy, [
{destination, "/Volumes/GRISP"}
]}
]}.
Best, Mirjam
Hello Mirjam ! 🙂
Thanks a lot, solved the issue for me ! It was my mistake indeed : I had specified the value of the board as an atom instead of a string.
I had to specify the value explicitly as a workaround for the error below :
* Downloading pre-built OTP package (e3b0c442)
===> Could not find a pre-built package for Erlang 22.0!
Possible causes:
- You have custom C sources and need to do a manual build:
rebar3 grisp build
- There is no pre-built package matching this version:
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
^ This occurs when I try to deploy without {board, "grisp_base"}
.
Once the board is specified, the output becomes :
* Downloading pre-built OTP package (bb415d58)
* Cached file is up to date
===> Starting relx build process ...
===> Resolving OTP Applications from directories:
/Users/laymer/Dev/OTP22-0-4/okbeamer/_build/grisp/lib
/Users/laymer/Library/Caches/grisp/packages/otp/grisp_base/grisp_otp_build_22.0_bb415d583ab2fc47d41963909914d7b3e2b664d49e4587342a2d5cf1957da018
/Users/laymer/Dev/OTP22-0-4/okbeamer/_build/grisp/rel
===> Resolved okbeamer-0.1.0
===> Including Erts from /Users/laymer/Library/Caches/grisp/packages/otp/grisp_base/grisp_otp_build_22.0_bb415d583ab2fc47d41963909914d7b3e2b664d49e4587342a2d5cf1957da018
===> release successfully created!
* Running pre_script
* Copying files...
* Copying release...
===> Deployment of okbeamer-0.1.0 complete
I am not sure why this happens, but it seems that whenever I try to call rebar3 grisp deploy
without the board
parameter set to "grisp_base"
in rebar.config
the pre-built OTP is not found.
Is it possible that the default configuration for the rebar3_grisp
plugin is to search for cross-compilation config files for grisp2
?
Thanks a lot,
Best, Igor
AFAIK it was possible to supply the board name as an atom before. Perhaps it got lost in some change. A nice PR would be to wrap the board value from rebar.config
in some to_string()
function that normalizes it to a string before processing it.
Status update: the situation is now the opposite, we require atoms for the platform but it crashes if it is a string 😂
Hello :)
I am currently trying to deploy a freshly created
grispapp
on my board, but an error keeps occurring when I try to callrebar3 grisp deploy -n myapp -v 0.1.0
The OTP version is set to 22.0 and the DEBUG stacktrace is the following :
The rebar3 report outputs the following :
I have narrowed down the origin of the
badarg
error to be (on my computer at least) caused by the "++" append, that fails when arguments are of type[H|T] ++ "/otp/..."
:But I know that there were no issues at all when I previously tried to deploy with OTP 22.0 / 22.0.4 and I am wondering if there were some changes that I am maybe missing or if I may have done something wrong with my development environment ?
Thanks in advance,
Best, Igor