Hi JM (and Maarten),

The prospect of ARM64 support is something I've been looking into for a while now. It's not just Pi, but Apple M1; and relatively cheap servers from Ampere:
https://www.anandtech.com/show/16315/the-ampere-altra-review
https://www.anandtech.com/show/16979/the-ampere-altra-max-review-pushing-it-to-128-cores-per-socket
...and VMs from Oracle, AWS, GCP, etc. So it'd be great to see what you've done so far so we can perhaps build on it, perhaps even with the ultimate goal of getting WMDE to pick it up as an architecture option for its releases. (We should open a ticket towards that goal, as a full release has quite a few dependencies.)

Not sure exactly how much you achieved so far, so some of this may be redundant, but here's some relevant components I collected for a draft reply to you earlier email:

WMF does not see supporting ARM64 packages as a big priority, because it would be a lot of work for an infrastructure they do not currently use:
https://phabricator.wikimedia.org/T274140
https://phabricator.wikimedia.org/T283073
Which I guess is quite reasonable.

However there is still a ticket working towards ARM64 support for development images:
https://phabricator.wikimedia.org/T272500

So far an ElasticSearch 6 image has been created which may be important, as I gather newer versions of Wikibase increasingly rely on CirrusSearch:
https://gitlab.wikimedia.org/kharlan/wmf-elasticsearch-arm64

See https://mediawiki.org/wiki/Help:Extension:WikibaseCirrusSearch and https://mediawiki.org/wiki/Extension:WikibaseCirrusSearch for details of relevant functionality.

If this changes to OpenSearch (ES 7.10.2+ API):
https://phabricator.wikimedia.org/T280482
...then https://www.docker.elastic.co/r/elasticsearch/elasticsearch-oss:7.10.2-arm64 or a similar build from OpenSearch may be helpful instead. This seems likely to happen for a future release of MediaWiki (1.38+?):
https://phabricator.wikimedia.org/T263142

I found an ARM64 build of Blazegraph 2.2.2 here:
https://hub.docker.com/r/robcast/researchspace-blazegraph
This might not be exactly what is required for WDQS, which has its own modifications, but perhaps it would be a step towards it?

If a base system is needed, this might be useful?
https://hub.docker.com/layers/mediawiki/library/mediawiki/stable-fpm-alpine/images/sha256-2f115866c9c2edd6738dc050a7fef9ef88f2388814c78d9de654bccb80d2086c?context=explore

If you want something beefier for native building, Oracle has free ARM64 VMs up to 1x 4-core/24GB if you can navigate their registration and instantiation process: https://www.oracle.com/uk/cloud/free/

--
Laurence 'GreenReaper' Parry


From: jm <zauron.subs@gmail.com>
Sent: Saturday, November 6, 2021 9:51:37 PM
To: Wikibase Community User Group <wikibaseug@lists.wikimedia.org>
Subject: [Wikibase] Wikibase ARM 64
 
Hi all,

I would like to run a Wikibase instance in my Raspberry Pi 4 for demo/sandbox purposes.
I'm trying to generate a Wikibase docker image for ARM 64 bits, using a Raspberry Pi 4 (ARMv8) but I get this error:

+ docker run --volume /tmp/tmp.dBLABg/Wikibase/composer.json:/tmp/composer.json --volume /tmp/tmp.dBLABg/Wikibase/vendor/:/tmp/vendor/ docker-registry.wikimedia.org/releng/composer-php73:latest install --no-dev --ignore-platform-reqs -vv -d /tmp/
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
standard_init_linux.go:228: exec user process caused: exec format error

Then I need a "docker-registry.wikimedia.org/releng/composer-php73" image for ARM, where could I find the source code to generate this image from scratch?

Best regards,
  JM