Closed psjbeisler closed 2 years ago
Raspberry Pi Raspbian repo has 21.01 for armv6.
Debian itself has 21.01 in stable and 21.12 in stable backports for arm64.
All the "other" distros? Ask them to update.
Is there a reason ARM builds are no longer provided? Last official builds were 19.08
For the binary installers published in https://www.process-one.net/en/ejabberd/downloads/
I can imagine two reasons:
Even the Docker images are only amd64 builds...
Right. The Docker images at https://hub.docker.com/r/ejabberd/ecs are a one-man effort, it only targeted amd64 since the beginning, and I guess he found not enought motivation to investigate how to support other architectures.
BTW, check https://hub.docker.com/r/ballerburg9005/docker-ejabberd-ecs-official-arm
There seems to be no way to run a recent version of Ejabberd on ARM 32/64 without building it manually.
More or less.
If you find any problem compiling, please report it in an issue, and let's try to fix it. Or if it requires specific instructions, let's document them in the README and documentation site.
I was able to compile and start ejabberd in a Samsung Galaxy with aarch64 with no special instructions, just install Termux from F-Droid or from their website (not the old version from Google Play), and then:
pkg upgrade
pkg install elixir clang libyaml autoconf automake
git clone https://github.com/processone/ejabberd
cd ejabberd
./autogen.sh
./configure --with-rebar=mix
make
make dev
_build/dev/rel/ejabberd/bin/ejabberdctl live
While I did miss Debian, the end point is to not depend on package maintainers or 3rd parties to redistribute.
So, is the root cause;
What needs done to provide them going forward?
Right, those two, and you forgot another: low download numbers back when ARM were available, which implies people with those architectures prefer to compile from sources, or there are few interested/need. Higher demand would put motivation into investing time and resources in investigating how to achieve ARM binary packages in some automated way, test, etc, and actually implement it, and do it for every release.
The real questions here are:
(An aarch64 docker image at the very least would help.)
Would help... what exactly? Would help you? In what way? Would help to spread XMPP usage? ejabberd usage?
There seems to be no way to run a recent version of Ejabberd on ARM 32/64 without building it manually.
Right. And? Are you having technical trouble compiling ejabberd from source code? Or is it a logistic trouble? Or laziness? Or is it some moral trouble?
the end point is to not depend on package maintainers or 3rd parties to redistribute.
That's your end point. Why do you want to avoid 3rd party packagers? When you want to use a program, do you only use binary packages from the original authors? What do you do when they don't provide it themselves? Don't you trust the Debian packagers?
Its not about trusting packagers, its about official support and timing of releases. Shouldn't jabber usage be easier to install and more inclusive (Snikket got funding to do exactly this) to promote adoption, this is purposely exclusive at this point when the question is "how to move forward". Its unrealistic (and self harmful) to think;
RaspberryPi is Debian (mostly) so that's covered already.
Snikket has ARM docker images.
So use an out of band build or different software entirely instead of acknowledging the need for ARM builds in general... I can automate the build of the docker-ejabberd repo at this point... its just a shame it cant/wont be up-streamed
I can automate the build of the docker-ejabberd repo at this point
Using ballerburg9005's solution, or you developed an alternative?
a direct unmodified 1:1 build. i don't need the captcha (ballerburg9005 added). plus, once the base image is built, it can always be rebuilt or extend back in from there
a direct unmodified 1:1 build.
That's interesting!
What needs done to provide them going forward?
If you can provide a complete, detailed, and precise guide to produce such docker image in a desktop computer, or server, or in github actions, I could try it, and try to get it adopted in the docker repository. And hopefully other people will test it.
BTW, Holger now publishes x64 and arm64 binary builds at https://ejabberd.messaging.one/
a direct unmodified 1:1 build.
That catched my attention, and now I was experimenting with buildx, following the documentation at https://docs.docker.com/buildx/working-with-buildx/
But I found big troubles at the very beginning: just doing the very first step: build the ejabberd/mix
image complained about bash
and ca-certificates
:
So I removed bash
from the install step, then it advances further, but crashes when running "mix local.hex":
Is there a reason ARM builds are no longer provided? Last official builds were 19.08 and all the distro repos I find have stopped supporting their own package builds since 20.07 or so. Even the Docker images are only amd64 builds... (An aarch64 docker image at the very least would help.)
There seems to be no way to run a recent version of Ejabberd on ARM 32/64 without building it manually.