Topic: Will aarch64 architecture be supported?

Hello. Just wondering if you have any plan to support aarch64 for all your PHP packages? AWS has a new class of EC2 instances based on that architecture that's cheaper and higher performance. CentOS has support for the architecture, but the Remi packages only support x86_64 from the looks of it.

Re: Will aarch64 architecture be supported?

Sorry, but I don't have any aarch64 builder for now.

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

Re: Will aarch64 architecture be supported?

You can try to use https://repo.drpixel.fr/
which provides rebuild of my packages for EL-7

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

Re: Will aarch64 architecture be supported?

Hello. I've seen, that there seems to be an aarch64 repo for RHEL / CentOS 7 (https://rpms.remirepo.net/enterprise/7/ … /repoview/) hosted here, but not for RHEL / CentOS 8. Is support for RHEL / CentOS 8 on aarch64 coming? RHEL 8 is out for two years now. RHEL 7 is already out of full support, meaning I'd rather drop support for that, than not supporting the current one.

Re: Will aarch64 architecture be supported?

Same answer than previously: "I don't have any aarch64 builder"

the aarch64 repo in el-7 only provides "noarch" packages, especially to be used by drpixel repository users (which only provides arch packages)

aarch64 build will also be a huge time consumer for me.

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

Re: Will aarch64 architecture be supported?

Unfortunately we are running into the problem of missing packages for our new dev machines and AWS instances as well - we could get some of them from the official DNF module on CentOS, the rest would need to be built manually. Now I don't know how often your builds are running and how long they take, but you could grab an m6g EC2 instance for 0.1462$/h + data & traffic, which isn't much. An alternative would be a (used) Mac Mini with Apple Silicon and a Linux VM running on it. Last but not least a Raspberry Pi 4, but then you will probably still build when the next release is out.

Assuming you don't want to spend money and time on this, is there a way to easily build your packages ourselves?

Re: Will aarch64 architecture be supported?

"Assuming you don't want to spend money and time on this, is there a way to easily build your packages ourselves?"

Hi,

That's what I did (although I'm not up to date ... I need to spend some time to recover the delta).
If you want to do it by yourself, you "only" have to take the SRPMS and rebuild them.
Be aware that some of them needs some modifications to be built with aarch64.

If willing, you can find my rebuild packages here : https://repo.drpixel.fr/enterprise

Last but not least, the build time is very high unless you have a true aarch64 server ^^

Best Regards,

Christophe

8 (edited by der_eismann 2021-06-09 10:45:12)

Re: Will aarch64 architecture be supported?

Thanks for chiming in! I guess it's a bit more complicated than that - rebuilding a single SRPM is easy, but when they start to depend on each other, you want to build it in a containerized environment and also create and host the whole repository (the *.xml files), then it will take me some more time ^^ The good thing is that we only need to do it for the 33 packages we actually use. Also I can't find any SRPMs, only the Git repo containing the spec files.

Re: Will aarch64 architecture be supported?

> Also I can't find any SRPMs

Link on that main page... https://rpms.remirepo.net/

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

Re: Will aarch64 architecture be supported?

Thanks, I was blind for this. Just tried 'dnf download --source' which didn't work.
I'm still struggling a bit with the mock setup and running it in a container, but I guess this just takes some more time.

11 (edited by drpayyne 2021-09-02 17:24:54)

Re: Will aarch64 architecture be supported?

Hi @der_eismann,

I'm actually trying to rebuild the PHP 7.4 packages for EL8 and I think I did it successfully, but not for all the dependent packages. Did you complete it by any chance? I don't know if I'm doing this the right way either.

The RPMs that I rebuilt are uploaded at https://packagecloud.io/drpayyne.

So I was trying to install these RPMs with some extensions and I ran into this error

#11 67.50  Problem 1: package php-sodium-7.4.23-1.el8.aarch64 requires php-common(aarch-64) = 7.4.23-1.el8, but none of the providers can be installed
#11 67.50   - conflicting requests
#11 67.50   - package php-common-7.4.23-1.el8.aarch64 is filtered out by modular filtering

Does anyone know what "package X is filtered out by modular filtering" means? I'm extremely close to getting a full build of this but this is stopping me now.

CC @Remi, @drpixel

Edit: I'm willing to build whatever package is required by myself. If someone can guide me the right way, that'd be great. Also, I didn't use mock to build the above repository. Maybe using mock would help? I've no clue how to use mock to rebuild just PHP 7.4 for EL8 though. Not able to find any good documentation. hmm

Re: Will aarch64 architecture be supported?

I don't see any issue here

* php-sodium requires php-common(aarch-64) = 7.4.23-1.el8
* php-common provides php-common(aarch-64) = 7.4.23-1.el8

> Does anyone know what "package X is filtered out by modular filtering" means? I'm extremely close to getting a full build of this but this is stopping me now.

CentOS 8 distribute most software as modules, including PHP.
So if you want to use the package manager (dnf) and provide your packages in a repository, you need to create a modular repository, which is NOT simple

Official way

=> module build system
=> koji
=> mock
=> rpmbuild

Else you have to generate the modularity metadata yourself (some big yaml file) and add them to the repository metadata.

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

Re: Will aarch64 architecture be supported?

drpayyne wrote:

Hi @der_eismann,

I'm actually trying to rebuild the PHP 7.4 packages for EL8 and I think I did it successfully, but not for all the dependent packages. Did you complete it by any chance? I don't know if I'm doing this the right way either.

Unfortunately we noticed that EL8 doesn't run on Apple M1 machines in Parallels, so we are in the middle of a migration to Fedora for our local dev environments. We need to solve other problems before getting to PHP, but please keep me posted in case you are successful.

Re: Will aarch64 architecture be supported?

der_eismann wrote:

Unfortunately we noticed that EL8 doesn't run on Apple M1 machines in Parallels, so we are in the middle of a migration to Fedora for our local dev environments. We need to solve other problems before getting to PHP, but please keep me posted in case you are successful.

I'm actually running the `centos:8` docker image on my Apple M1 MacBook Pro to run and test all this. smile

Re: Will aarch64 architecture be supported?

drpayyne wrote:
der_eismann wrote:

Unfortunately we noticed that EL8 doesn't run on Apple M1 machines in Parallels, so we are in the middle of a migration to Fedora for our local dev environments. We need to solve other problems before getting to PHP, but please keep me posted in case you are successful.

I'm actually running the `centos:8` docker image on my Apple M1 MacBook Pro to run and test all this. smile

Yeah docker images are fine, but an EL8 virtual machine won't run with the default kernel.

Re: Will aarch64 architecture be supported?

So... I wasn't successful with the custom rebuild. So I decided to switch to using Fedora 34 as it has PHP 7.4 for aarch64. If anyone builds PHP for CentOS ARM, please let me know. It would be awesome.

17 (edited by ihors 2022-05-17 06:41:01)

Re: Will aarch64 architecture be supported?

Hi Remi,
Thank you so much for your efforts!
Any updates/estimates on this? Maybe we can build the images using the docker buildx feature?
Definitely it will be terribly slow, but that might be a solution until we'll have some aarch64 runner?

PS: are there any instructions on how to build these images ourselves?

Re: Will aarch64 architecture be supported?

> Any updates/estimates on this?

Sorry, but nothing planed

Was expected to see some rebuild by drpixel on https://repo.drpixel.fr/enterprise/
but not lot of things for now there

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

Re: Will aarch64 architecture be supported?

> Maybe we can build the images using the docker buildx feature?

I have a VM running RHEL-8 aarch64
but time is really a blocker for me (not enough spare time)

> PS: are there any instructions on how to build these images ourselves?

All needed file (mock configuration, spec files...) are available on git
https://git.remirepo.net/cgit

Of course, good packaging skill required.

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

Re: Will aarch64 architecture be supported?

I had the same problem, but I found in https://access.redhat.com/discussions/5050611 the following:
php 7.4 is available in RHEL 8.3 without any beta repository. For me I had to upgrade everything to 8.3 and then switch php stream to 7.4

dnf upgrade

dnf module reset php

dnf module install php:7.4

Re: Will aarch64 architecture be supported?

And PHP 8.0 is available in 8.6
(but, as other versions, with a minimal set of extensions)

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

Re: Will aarch64 architecture be supported?

drpixel wrote:

"Assuming you don't want to spend money and time on this, is there a way to easily build your packages ourselves?"

Hi,

That's what I did (although I'm not up to date ... I need to spend some time to recover the delta).
If you want to do it by yourself, you "only" have to take the SRPMS and rebuild them.
Be aware that some of them needs some modifications to be built with aarch64.

If willing, you can find my rebuild packages here : https://repo.drpixel.fr/enterprise

Last but not least, the build time is very high unless you have a true aarch64 server ^^

Best Regards,

Christophe


Your .rpm key is not update. Also PHP 8.1 it seems it's not full and I' unable to add a lot of packages and dependencies.

Re: Will aarch64 architecture be supported?

> Your .rpm key is not update. Also PHP 8.1 it seems it's not full and I' unable to add a lot of packages and dependencies.

Don't understand what you mean.

BTW aarch64 repo is now available for EL-9
https://github.com/remicollet/remirepo/issues/214

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

Re: Will aarch64 architecture be supported?

Remi wrote:

> Your .rpm key is not update. Also PHP 8.1 it seems it's not full and I' unable to add a lot of packages and dependencies.

Don't understand what you mean.

BTW aarch64 repo is now available for EL-9

Hey Remi!

My reply was related to Christopher - Dr.Pixel.
As I can't find any other contact information about him, I decided to reply to his thread.

I'm talking about this .rpm file (drpixel-release-7-1...>) in  the repo : https://repo.drpixel.fr/.

I know you won't support EL7 (CentOS7) because support will finish soon.

Thanks for you prompt reply!