grisp / rebar3_grisp

Rebar plug-in for GRiSP
https://www.grisp.org
Apache License 2.0
21 stars 10 forks source link

clarification on using prebuilt cross-compiled OTP needed #41

Closed dch closed 2 years ago

dch commented 6 years ago

I'm assuming a great deal from this blog post1 that if I have e.g. OTP20.x from my system package manager, then I should be able to produce a grisp release without needing to build RTEMS from scratch, if:

I've tried with the 2 latest OTP releases (OTP 21, OTP 20) and haven't had great success, using the robot example with included wifi support:

$ erl +V
Erlang (SMP,ASYNC_THREADS,HIPE) (BEAM) emulator version 9.3.3.3
$ rebar3 do compile, grisp deploy -n robot -v 0.1.0
===> Verifying dependencies...
===> Compiling robot
===> [{relname,"robot"},{relvsn,"0.1.0"},{force,false}]
===> Current Erlang version ("20") does not match target Erlang version (undefined). It is not guaranteed that the deployed release will work!
===> Verifying dependencies...
===> Compiling robot
===> Starting relx build process ...
===> Resolving OTP Applications from directories:
          /repos/grisp/sdcard/app/_build/grisp/lib
          /repos/grisp/sdcard/app/_grisp/otp/21.0/install
===> Failed to solve release:
 Dependency kernel is specified as a dependency but is not reachable by the system.

some questions:

> uname -a
FreeBSD akai.skunkwerks.at 12.0-ALPHA9 FreeBSD 12.0-ALPHA9 r339356+891833d897fd(master) GENERIC  amd64
> pkg info erlang-runtime20
erlang-runtime20-20.3.8.9
Name           : erlang-runtime20
Version        : 20.3.8.9
Installed on   : Thu Oct  4 14:07:43 2018 UTC
Origin         : lang/erlang-runtime20
Architecture   : FreeBSD:12:amd64
Prefix         : /usr/local
Categories     : java lang parallel
Licenses       : APACHE20
Maintainer     : erlang@FreeBSD.org
WWW            : http://www.erlang.org/
Comment        : Functional programming language from Ericsson
Options        :
    DIRTY          : on
    DTRACE         : on
    GS             : off
    HIPE           : on
    JAVA           : off
    KQUEUE         : on
    NATIVE         : off
    ODBC           : off
    OPENSSL        : on
    SCTP           : on
    THREADS        : on
    WX             : off
Annotations    :
    FreeBSD_version: 1200084
    repo_type      : binary
    repository     : FreeBSD
Flat size      : 103MiB
Description    :
Erlang is a programming language used to build massively scalable soft
real-time systems with requirements on high availability. Some of its
uses are in telecoms, banking, e-commerce, computer telephony and
instant messaging. Erlang's runtime system has built-in support for
concurrency, distribution and fault tolerance.

This port contains a standalone runtime environment of Erlang 20
to be used during the development of OTP applications.

WWW: http://www.erlang.org/
eproxus commented 6 years ago

@dch Can you post your rebar.config? It looks like you don't have the target GRiSP Erlang version configured there... (if so, we should really have a better error for that)

eproxus commented 2 years ago

This should now be solved in version 2.2.0 by running rebar3 grisp package list to see which pre-built versions exist. In addition, selecting a partial version (like "23") will automatically select the latest available package when deploying.