Rspamd: [BUG] ARM support not documented - ARM effectively unsupported

Created on 7 Nov 2020  路  8Comments  路  Source: rspamd/rspamd

The documentation does not provide any means to install rspamd for ARM. The version in repos is unsupported (and doesn't work). As a result, rspamd is effectively not available for ARM.

bug

All 8 comments

What hardware & OS would you want to run rspamd on?

It will require a fair amount of effort to produce official builds & I'm doubtful that ARM is relevant enough in the server space today for it to be worth it.

However: you could build rspamd from source. If you use a Debian-based distribution the easiest way to do that is to lean on Debian packaging. The following worked for me on 32-bit Raspbian running on a Pi4 (Rspamd runs and was able to scan a message):

~~~

Clone git repo

git clone https://github.com/rspamd/rspamd.git && cd rspamd

We will build the version 2.6

export RSPAMD_VERSION=2.6
git reset --hard ${RSPAMD_VERSION}

Ensure we build package with correct version number

sed -i s/(.*)/(${RSPAMD_VERSION})/ debian/changelog

We will build without source tarball

sed -i s/quilt/native/ debian/source/format

We need some tools to build packages

sudo apt install devscripts

Install build dependencies

mk-build-deps
sudo bash -c "dpkg -i rspamd-build-deps_${RSPAMD_VERSION}_armhf.deb && apt install -f -y"

Build the package

debuild -us -uc

Install the package

sudo "dpkg -i ../rspamd_${RSPAMD_VERSION}_armhf.deb"
~~~

There is documentation about building (possibly using Debian packages) here but it probably needs updating.

If you prefer not to build you could see if my project on the OpenSUSE build service has what you need - if it proves useful enough as a straight copy of the upstream I may keep it going I suppose.

On 07/11/2020 13:29, Andrew Lewis wrote:

What hardware & OS would you want to run rspamd on?

It will require a fair amount of effort to produce official builds & I'm
doubtful that ARM is relevant enough in the server space today for it to
be worth it.

However: you could build rspamd from source. If you use a Debian-based
distribution the easiest way to do that is to lean on Debian packaging.
The following worked for me on Raspbian running on a Pi4 (Rspamd runs
and was able to scan a message):

|# Clone git repo git clone https://github.com/rspamd/rspamd.git && cd
rspamd # We will build the version 2.6 export RSPAMD_VERSION=2.6 git
reset --hard ${RSPAMD_VERSION} # Ensure we build package with correct
version number sed -i s/(.*)/(${RSPAMD_VERSION})/ debian/changelog #
We will build without source tarball sed -i s/quilt/native/
debian/source/format # We need some tools to build packages sudo apt
install devscripts # Install build dependencies mk-build-deps sudo bash
-c "dpkg -i rspamd-build-deps_2.6_armhf.deb && apt install -f -y" #
Build the package debuild -us -uc # Install the package sudo "dpkg -i
../rspamd_2.6_armhf.deb" |

Thanks for that, I want to run on Raspberry Pi. Rspamd is the only
critical mail server component that isn't readily available for ARM.

I can't make sense of the rspamd position on ARM. There is an ARM
version included in Ubuntu 20.10 but it doesn't work. The list of
supported Ubuntu versions implies that ARM is supported for the most
recent. If it's supported, it should be available.

I'm rather reluctant to build on the target machine - it isn't really a
good idea to have all the build software on a production server. But it
isn't straightforward to thoroughly remove it. The instructions in the
rspamd documentation for building a Debian package are obviously wrong
but I don't know how to put them right.

Versions of Rspamd shipped by Debian/Ubuntu are not supported. The Rspamd project only provides builds for LTS versions of Ubuntu - and the x86_64 architecture - the idea is to try cover the most popular server platforms and not try support everything directly, though it may work. Supporting alternative architectures in particular is impossible with the current build system.

If you run rspamd inside a Docker container you can use the alpine Linux arm version, it is possible to use alpine Linux as the os for a pi as well.

On 07/11/2020 22:38, Andrew Lewis wrote:

Versions of Rspamd shipped by Debian/Ubuntu are not supported. The
Rspamd project only provides builds for LTS versions of Ubuntu - and
the amd64 architecture - the idea is to try cover the most popular
server platforms and not try support everything directly, though it may
work. Supporting alternative architectures in particular is difficult
with the current build system.

If that is so, I do not understand why rspamd is included in Ubuntu,
both 20.04 and 20.10 (as well as Debian). And included in the version of
Ubuntu explicitly built for Raspberry Pi. I have to assume that this is
an ARM version, since it partially works. Where did it come from?

Nor do I understand why the rspamd documentation is different for Ubuntu
focal:

 Debian stretch (only x86_64) Hyperscan and LuaJIT are enabled.
 Debian buster (only x86_64) Hyperscan and LuaJIT are enabled.
 Debian sid (only x86_64) Hyperscan and LuaJIT are enabled.
 Ubuntu xenial (only x86_64) Hyperscan and LuaJIT are enabled.
 Ubuntu bionic (only x86_64) Hyperscan and LuaJIT are enabled.
 Ubuntu focal (since 2.5) Same as above.

Note that focal does not include "only x86_64".

ARM is more and more important.

On 07/11/2020 23:54, Duncan Bellamy wrote:

If you run rspamd inside a Docker container you can use the alpine Linux
arm version, it is possible to use alpine Linux as the os for a pi as well.

Thanks, but I don't know the first thing about Docker, and would be
reluctant to move away from Debian/Ubuntu/Raspbian. These, after all,
are mainstream distributions. My preference is Debian.

Ubuntu universe copies what's not otherwise already copied from Debian. Debian and similar projects can build/ship whatever software they're legally entitled to- which includes Rspamd, being free software.

However it is practically impossible for the Rspamd project to support all the older versions.

It is also difficult for us to maintain binaries for all existing OSs & architectures. Currently only x86_64 packages are built.

I suggest you use my repo on the OpenSUSE build service until there would be another option.

Not an issue, closing as inappropriate.

Was this page helpful?
0 / 5 - 0 ratings