Rewrite ARM layers using remirepo's ARM builds?
mnapoli opened this issue · 9 comments
There is no support for ARM in RHEL 7: https://rpms.remirepo.net/enterprise/7/
However there are PHP 8.0 and 8.1 packages in RHEL 9: https://rpms.remirepo.net/enterprise/9/
Any idea if we could use those in Amazon Linux 2? (cc @deleugpn maybe)
Why: we'd get PHP 8.1 support, and latest versions of PHP (Amazon Linux Extras is behind in version numbers).
So far I only did a quick try:
docker run --rm -it --entrypoint=bash public.ecr.aws/lambda/provided:al2-arm64
Then in the container, I ran:
yum install -y \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
https://rpms.remirepo.net/enterprise/remi-release-9.rpm \
yum-utils \
epel-release \
curl
And got errors.
docker run --rm -it --entrypoint=bash public.ecr.aws/lambda/provided:al2-arm64
Unable to find image 'public.ecr.aws/lambda/provided:al2-arm64' locally
al2-arm64: Pulling from lambda/provided
84658198e9c6: Pull complete
961f25c6b855: Pull complete
0e83d3d530cc: Pull complete
bb1b869e5ceb: Pull complete
Digest: sha256:af2796ad18f557ef853d85f16207dfc00c0a936d7596bc5a5e8332de2c90fcb0
Status: Downloaded newer image for public.ecr.aws/lambda/provided:al2-arm64
bash-4.2# yum install -y \
> https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm \
> https://rpms.remirepo.net/enterprise/remi-release-9.rpm \
> yum-utils \
> epel-release \
> curl
Loaded plugins: ovl
epel-release-latest-9.noarch.rpm | 18 kB 00:00:00
Examining /var/tmp/yum-root-_mnhB9/epel-release-latest-9.noarch.rpm: epel-release-9-4.el9.noarch
Marking /var/tmp/yum-root-_mnhB9/epel-release-latest-9.noarch.rpm to be installed
remi-release-9.rpm | 25 kB 00:00:00
Examining /var/tmp/yum-root-_mnhB9/remi-release-9.rpm: remi-release-9.0-6.el9.remi.noarch
Marking /var/tmp/yum-root-_mnhB9/remi-release-9.rpm to be installed
amzn2-core | 3.7 kB 00:00:00
(1/3): amzn2-core/2/aarch64/group_gz | 2.5 kB 00:00:00
(2/3): amzn2-core/2/aarch64/updateinfo | 515 kB 00:00:00
(3/3): amzn2-core/2/aarch64/primary_db | 49 MB 00:00:02
No package epel-release available.
Package curl-7.79.1-4.amzn2.0.1.aarch64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:9-4.el9 will be installed
--> Processing Dependency: redhat-release >= 9 for package: epel-release-9-4.el9.noarch
---> Package remi-release.noarch 0:9.0-6.el9.remi will be installed
--> Processing Dependency: system-release(releasever) = 9 for package: remi-release-9.0-6.el9.remi.noarch
--> Processing Dependency: redhat-release >= 9.0 for package: remi-release-9.0-6.el9.remi.noarch
---> Package yum-utils.noarch 0:1.1.31-46.amzn2.0.1 will be installed
--> Processing Dependency: python-kitchen for package: yum-utils-1.1.31-46.amzn2.0.1.noarch
--> Processing Dependency: libxml2-python for package: yum-utils-1.1.31-46.amzn2.0.1.noarch
--> Running transaction check
---> Package epel-release.noarch 0:9-4.el9 will be installed
--> Processing Dependency: redhat-release >= 9 for package: epel-release-9-4.el9.noarch
---> Package libxml2-python.aarch64 0:2.9.1-6.amzn2.5.6 will be installed
---> Package python-kitchen.noarch 0:1.1.1-5.amzn2 will be installed
--> Processing Dependency: python-chardet for package: python-kitchen-1.1.1-5.amzn2.noarch
---> Package remi-release.noarch 0:9.0-6.el9.remi will be installed
--> Processing Dependency: system-release(releasever) = 9 for package: remi-release-9.0-6.el9.remi.noarch
--> Processing Dependency: redhat-release >= 9.0 for package: remi-release-9.0-6.el9.remi.noarch
--> Running transaction check
---> Package epel-release.noarch 0:9-4.el9 will be installed
--> Processing Dependency: redhat-release >= 9 for package: epel-release-9-4.el9.noarch
---> Package python-chardet.noarch 0:2.2.1-1.amzn2 will be installed
---> Package remi-release.noarch 0:9.0-6.el9.remi will be installed
--> Processing Dependency: system-release(releasever) = 9 for package: remi-release-9.0-6.el9.remi.noarch
--> Processing Dependency: redhat-release >= 9.0 for package: remi-release-9.0-6.el9.remi.noarch
--> Finished Dependency Resolution
Error: Package: remi-release-9.0-6.el9.remi.noarch (/remi-release-9)
Requires: redhat-release >= 9.0
Installed: 1:system-release-2-14.amzn2.aarch64 (@amzn2-core)
redhat-release = 7.5
Available: 1:system-release-2-5.amzn2.aarch64 (amzn2-core)
redhat-release = 7.5
Available: 1:system-release-2-7.amzn2.aarch64 (amzn2-core)
redhat-release = 7.5
Available: 1:system-release-2-10.amzn2.aarch64 (amzn2-core)
redhat-release = 7.5
Available: 1:system-release-2-11.amzn2.aarch64 (amzn2-core)
redhat-release = 7.5
Available: 1:system-release-2-12.amzn2.aarch64 (amzn2-core)
redhat-release = 7.5
Available: 1:system-release-2-13.amzn2.aarch64 (amzn2-core)
redhat-release = 7.5
Error: Package: remi-release-9.0-6.el9.remi.noarch (/remi-release-9)
Requires: system-release(releasever) = 9
Installed: 1:system-release-2-14.amzn2.aarch64 (@amzn2-core)
system-release(releasever) = 2
Available: 1:system-release-2-5.amzn2.aarch64 (amzn2-core)
system-release(releasever) = 2
Available: 1:system-release-2-7.amzn2.aarch64 (amzn2-core)
system-release(releasever) = 2
Available: 1:system-release-2-10.amzn2.aarch64 (amzn2-core)
system-release(releasever) = 2
Available: 1:system-release-2-11.amzn2.aarch64 (amzn2-core)
system-release(releasever) = 2
Available: 1:system-release-2-12.amzn2.aarch64 (amzn2-core)
system-release(releasever) = 2
Available: 1:system-release-2-13.amzn2.aarch64 (amzn2-core)
system-release(releasever) = 2
Error: Package: epel-release-9-4.el9.noarch (/epel-release-latest-9.noarch)
Requires: redhat-release >= 9
Installed: 1:system-release-2-14.amzn2.aarch64 (@amzn2-core)
redhat-release = 7.5
Available: 1:system-release-2-5.amzn2.aarch64 (amzn2-core)
redhat-release = 7.5
Available: 1:system-release-2-7.amzn2.aarch64 (amzn2-core)
redhat-release = 7.5
Available: 1:system-release-2-10.amzn2.aarch64 (amzn2-core)
redhat-release = 7.5
Available: 1:system-release-2-11.amzn2.aarch64 (amzn2-core)
redhat-release = 7.5
Available: 1:system-release-2-12.amzn2.aarch64 (amzn2-core)
redhat-release = 7.5
Available: 1:system-release-2-13.amzn2.aarch64 (amzn2-core)
redhat-release = 7.5
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
I wonder how soon amazon linux 2022 is coming to lambda. Maybe worth the wait.
Would be great, maybe reInvent 🤞 But also could be a long wait, this is AWS, everything is possible 😢
Only AWS would launch a 2022 image in 2024.
I'm also getting the same error as posted by Graham. Couldn't find any solution to this yet. I guess AL2 is indeed incompatible with REHL 9
Thanks, I've removed this target from Bref 2. Unless we find a magic solution it doesn't seem realistic for now. Our best bet is re:Invent 😂
AL2 took 2 extra years after EC2 release before it made it to Lambda, sooo, don't hold your breath. Hence my 2024 comment. ;)
Just taking some notes here of what I tried. @deleugpn shared https://repost.aws/questions/QUmixmJazqTF2PNF-zUdaEEw/enable-epel-in-aws-linux-2022 with me, so I tried:
docker run --rm -it --entrypoint=bash public.ecr.aws/lambda/provided:al2-arm64
yum install -y wget
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
rpm -ihv --nodeps --force ./epel-release-latest-9.noarch.rpm
warning: ./epel-release-latest-9.noarch.rpm: Header V4 RSA/SHA256 Signature, key ID 3228467c: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:epel-release-9-4.el9 ################################# [100%]
error: unpacking of archive failed: cpio: Bad magic
error: epel-release-9-4.el9.noarch: install failed
That seems to be expected, not sure if there's something to dig in deeper here.