elixir-lang / elixir-lang.github.com

Website for Elixir
elixir-lang.org
354 stars 822 forks source link

Installation instructions for Raspberry Pi do not work on latest Raspbian #1510

Closed tomazbracic closed 1 year ago

tomazbracic commented 3 years ago

Following the instructions at https://elixir-lang.org/install.html under "Raspberry Pi" on the latest Raspbian (buster) results in this output when want to install Elixir

So last command fails. I did apt update without errors.

pi@raspberrypi:~ $ sudo apt install elixir
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 elixir : Depends: erlang-base (>= 1:23.1) but it is not going to be installed or
                   erlang-base-hipe (>= 1:23.1) or
                   esl-erlang (>= 1:23.1) but it is not going to be installed
          Depends: erlang-crypto (>= 1:23.1) or
                   esl-erlang (>= 1:23.1) but it is not going to be installed
          Depends: erlang-inets (>= 1:23.1) or
                   esl-erlang (>= 1:23.1) but it is not going to be installed
          Depends: erlang-ssl (>= 1:23.1) or
                   esl-erlang (>= 1:23.1) but it is not going to be installed
          Depends: erlang-syntax-tools (>= 1:23.1) or
                   esl-erlang (>= 1:23.1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
pi@raspberrypi:~ $

So erlang needed is >= 1:23.1

When I check what erlang versions are available I get only

pi@raspberrypi:~ $ sudo apt-cache show erlang-base
Package: erlang-base
Source: erlang
Version: 1:21.2.6+dfsg-1
Architecture: armhf
Maintainer: Debian Erlang Packagers <pkg-erlang-devel@lists.alioth.debian.org>
Installed-Size: 12450
Depends: procps, adduser, libc6 (>= 2.28), libsystemd0, libtinfo6 (>= 6)
Recommends: libsctp1 (>= 1.0.18+dfsg), erlang-crypto (= 1:21.2.6+dfsg-1), erlang-syntax-tools (= 1:21.2.6+dfsg-1)
Suggests: erlang-tools (= 1:21.2.6+dfsg-1), erlang, erlang-manpages, erlang-doc
Conflicts: erlang (<< 1:21.2.6+dfsg-1), erlang-base-hipe, erlang-doc (>> 1:21.2.6+dfsg-999), erlang-doc (<< 1:21.2.6+dfsg), erlang-doc-html (<< 1:13.b.4), erlang-manpages (<= 1:11.b.1-2)
Breaks: rabbitmq-server (<< 3.7.7)
Replaces: erlang (<< 1:21.2.6+dfsg-1), erlang-base-hipe, erlang-dev (<< 1:21.2.6+dfsg-1), erlang-doc (>> 1:21.2.6+dfsg-999), erlang-doc (<< 1:21.2.6+dfsg), erlang-doc-html (<< 1:13.b.4), erlang-examples (<< 1:21.2.6+dfsg-1), erlang-manpages (<= 1:11.b.1-2), erlang-mode (<< 1:12.b.1-dfsg-2), erlang-nox (<< 1:21.2.6+dfsg-1), erlang-src (<< 1:21.2.6+dfsg-1), erlang-typer (<< 1:20.0+dfsg), erlang-x11 (<< 1:21.2.6+dfsg-1)
Provides: erlang-abi-17.0
Homepage: http://www.erlang.org/
Priority: optional
Section: interpreters
Filename: pool/main/e/erlang/erlang-base_21.2.6+dfsg-1_armhf.deb
Size: 7444996
SHA256: db64e43de73b34ce1f0276f617edd60dc66c10d5867f4bac6822e3fada65e57f
SHA1: 2d1d44b01e663e1c8987830906b9a4ac7e59ba77
MD5sum: d2381a2804e6e00cfde1b2086ea36b09
Description: Erlang/OTP virtual machine and base applications
 This package contains the Erlang/OTP runtime implementation, which is
 configured and built without HiPE support (compiles to byte-code only),
 and minimal set of Erlang applications:
  compiler - compiles Erlang code to byte-code;
  erts - the Erlang runtime system application;
  kernel - code necessary to run the Erlang runtime system itself;
  ose - code for Enea OSE operating system;
  sasl - the system architecture support libraries application;
  stdlib - modules for manipulating lists, strings, files etc.
Description-md5: 34f1d00a77372c45835007b286d6b266

pi@raspberrypi:~ $

When I check if I could "lower" my Elixir version and with that my dependency issue I can see... that the lowest possible Elixir that I could install is 1.7.4....

.
.
.
.
Package: elixir
Version: 1.9.0-1
Architecture: all
Maintainer: Erlang Solutions <packages@erlang-solutions.com>
Installed-Size: 5880
Depends: erlang-base (>= 1:21.3) | erlang-base-hipe (>= 1:21.3) | esl-erlang (>= 1:21.3), erlang-crypto (>= 1:21.3) | esl-erlang (>= 1:21.3), erlang-inets (>= 1:21.3) | esl-erlang (>= 1:21.3), erlang-ssl (>= 1:21.3) | esl-erlang (>= 1:21.3), erlang-syntax-tools (>= 1:21.3) | esl-erlang (>= 1:21.3)
Section: contrib
Priority: optional
Homepage: http://elixir-lang.org
Filename: pool/elixir_1.9.0-1~debian~buster_all.deb
Size: 3517528
MD5sum: 52b7c0c5a087bf32b579445f03ad88c8
SHA1: 69acf132bff7f2acf9a7e5b92e9680c382a65d6d
SHA256: 36710ba19b98b606005f22ed0483f7adbd836976f159ebced6f897c5117211e6
Description: Elixir functional meta-programming language
 Elixir is a functional, meta-programming aware language built on
 top of the Erlang VM. It is a dynamic language that focuses on
 tooling to leverage Erlang's abilities to build concurrent,
 distributed and fault-tolerant applications with hot code upgrades.
Description-md5: c82bf798164a900ff54f4776cadac009

Package: elixir
Source: elixir-lang
Version: 1.7.4-0.1
Installed-Size: 5818
Maintainer: Evgeny Golyshev <eugulixes@gmail.com>
Architecture: all
Depends: erlang-base (>= 1:19) | erlang-base-hipe (>= 1:19)
Size: 3406720
SHA256: a75c7ac4413ce871e52f38c8ecd236c7b886cd474f1cd7012eb86a5b97d69160
SHA1: 92a8ec1e97d6b0c5ab397d52b2149298e02df69d
MD5sum: 845d5e5b0eaaebe7f6aa08a6ebf15683
Description: functional meta-programming aware language
 Elixir is a functional meta-programming aware language intended primarily for
 developing distributed, fault-tolerant and scalable systems. Elixir source
 code is compiled to bytecode for the Erlang Virtual Machine (EVM), and can use
 Erlang libraries transparently.
Description-md5: 572fe6b3095250d25aa22e376bc0e13e
Homepage: http://elixir-lang.org/
Section: interpreters
Priority: optional
Filename: pool/main/e/elixir-lang/elixir_1.7.4-0.1_all.deb

Just so you know... instructions don't really work.

My Raspbeery PI 4 version of OS:

pi@raspberrypi:~ $ cat /etc/rpi-issue
Raspberry Pi reference 2021-01-11
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 21090519d85bdaa1615d5d5057d37b09368ea5d2, stage5
pi@raspberrypi:~ $
josevalim commented 3 years ago

Thanks @tomazbracic for the report. Those instructions are maintained by the community and they may indeed go outdated. I recommend you to ask in the ElixirForum, maybe someone can help you, and hopefully contribute back.

tomazbracic commented 3 years ago

Thanks @josevalim

Will do, just wanted to comment on this.. if someone needs to know.

hlxinfeng commented 3 years ago

hello, am just started learn elixir and try install it in Raspi 4 model B, and get the same error/warnings

i get the solutions from this:

  1. Install Erlang: https://elinux.org/Erlang sudo apt-get update sudo apt-get install wget sudo apt-get install libssl-dev sudo apt-get install ncurses-dev wget http://www.erlang.org/download/otp_src_23.2.tar.gz tar -xzvf otp_src_23.2.tar.gz cd otp_src_23.2/ ./configure make sudo make install cd .. rm otp_src_23.2.tar.gz sudo rm -R otp_src_23.2/

  2. Install Elixir from source: wget https://github.com/elixir-lang/elixir/archive/v1.11.4.tar.gz extract and make install

  3. And setting elixir PATH: https://elixir-lang.org/install.html#setting-path-environment-variable export PATH="$PATH:/path/to/elixir/bin"

===== after this, erlang and elixir working fine, but when trying install phoenix, mix local.hex and mix deps.get, not working. trying to make it work until morning still can not work. just shutiing down my raspi.

just wake up, power up raspi, trying mix local.hex and mis deps.get, and it work. and now am working on my first hello world.

:)