chevah / pythia

Chevah's Python 3 distribution
MIT License
4 stars 2 forks source link

Build Linux arm64 packages on Laja. #46

Open dumol opened 1 year ago

dumol commented 1 year ago

We used to do it on Pine64, it's currently done on an ARM64 Ubuntu 16.04 VM on my laptop or on a personal VM on mine on Cibu.

We could use Laja instead, which I have used today to manually generated ARM64 packages for a few past releases under an Amazon Linux 2 ARM64 Docker container. It's much faster to build on a Linux container running on macOS with Apple Silicon compared to building on a fully virtualized ARM64 VM on AMD64.

dumol commented 1 year ago

Starting diff:

diff --git a/pythia.sh b/pythia.sh
index 82c7a1f..19c89ad 100755
--- a/pythia.sh
+++ b/pythia.sh
@@ -640,20 +640,10 @@ check_glibc_version(){

     # Supported minimum minor glibc 2.X versions for various arches.
     # For x64, we build on Amazon 2 with glibc 2.26.
-    # For arm64, we used to build on Ubuntu 16.04 with glibc 2.23.
-    # Beware we haven't normalized arch names yet.
-    case "$ARCH" in
-        "amd64"|"x86_64"|"x64")
-            supported_glibc2_version=26
-            ;;
-        "aarch64"|"arm64")
-            supported_glibc2_version=23
-            ;;
-        *)
-            (>&2 echo "$ARCH is an unsupported arch for generic Linux!")
-            exit 17
-            ;;
-    esac
+    # For arm64, we also build on Amazon 2 with glibc 2.26 lately.
+    # If we get back to building against different libc versions per arch,
+    # beware we haven't normalized arch names yet.
+    supported_glibc2_version=26

     echo "No specific runtime for the current distribution / version / arch."
     echo "Minimum glibc version for this arch: 2.$supported_glibc2_version."
adiroiban commented 5 months ago

The Ubuntu VM on Laja look stable now... and in 3 weeks I expect that we will have the new mac mini hardware that will be dedicated to linux

adiroiban commented 3 months ago

We now have Imada as a linux ARM

Recently for GitHub Actions Linux ARM64 image, I am building that image on X64, using docker --platform linux/arm64 option.

This means, that in theory, we can use the GitHub Action VM to build ARM64 version

I think that this is the process used by other open source projected to build LInux ARM64 binaries via GitHub Actions