You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We can't build on RHEL 7 because of contamination with libs that are not installed on other distros, such as Ubuntu.
However, Amazon Linux 1 (2018.03) has the same glibc version as RHEL7: 2.17. More so, lately you can install gcc 7.x on Amazon 1, same version we use on Amazon Linux 2.
Starting diff for building on an AMI 2018.03 container:
diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml
index 22fc7be..27491cb 100644
--- a/.github/workflows/docker.yaml
+++ b/.github/workflows/docker.yaml
@@ -25,8 +25,8 @@ jobs:
strategy:
fail-fast: false
matrix:
- # Alpine 3.12 has musl 1.1.24, Amazon 2 has glibc 2.26.
- container: [ 'alpine:3.12', 'amazonlinux:2' ]
+ # Alpine 3.12 has musl 1.1.24, Amazon 1 has glibc 2.17.
+ container: [ 'alpine:3.12', 'amazonlinux:1' ]
timeout-minutes: 60
steps:
@@ -44,7 +44,7 @@ jobs:
if: startsWith(matrix.container, 'amazonlinux')
run: |
yum -y upgrade
- yum -y install git-core gcc make m4 patch tar unzip perl perl-Test-Simple perl-IPC-Cmd xz gcc-c++ dejagnu
+ yum -y install git-core gcc72 make m4 patch tar unzip perl perl-Test-Simple perl-IPC-Cmd xz gcc72-c++ dejagnu diffutils
- name: Ubuntu setup
if: startsWith(matrix.container, 'ubuntu')
@@ -86,7 +86,7 @@ jobs:
# If one of the above steps fails, fire up tmate for remote debugging.
# Not all platforms are supported by tmate.
- # Currently not supported: Alpine, Amazon 2, CentOS 5 (no glibc or too old).
+ # Currently not supported: Alpine, Amazon 1, CentOS 5 (no glibc or too old).
- name: Tmate debug on failure
if: ${{ !cancelled() && runner.debug }}
uses: chevah/action-tmate@v3
diff --git a/pkg_checks.sh b/pkg_checks.sh
index 80d2168..4d122d5 100644
--- a/pkg_checks.sh
+++ b/pkg_checks.sh
@@ -62,7 +62,7 @@ case "$OS" in
CHECK_CMD=(dpkg --status)
PACKAGES="$DEB_PKGS"
elif [ -x /usr/bin/rpm ]; then
- # Assumes Amazon Linux 2.
+ # Assumes Amazon Linux 1/2.
CHECK_CMD=(rpm --query)
PACKAGES="$RPM_PKGS"
else
diff --git a/pythia.sh b/pythia.sh
index efe880c..332d2a0 100755
--- a/pythia.sh
+++ b/pythia.sh
@@ -642,11 +642,11 @@ check_glibc_version(){
local supported_glibc2_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 also build on Amazon 2 with glibc 2.26 lately.
+ # For x64, we build on Amazon 1 with glibc 2.17.
+ # For arm64, we build on Amazon 2 with glibc 2.26.
# If we get back to building against different libc versions per arch,
# beware we haven't normalized arch names yet.
- supported_glibc2_version=26
+ supported_glibc2_version=17
echo "No specific runtime for the current distribution / version / arch."
echo "Minimum glibc version for this arch: 2.$supported_glibc2_version."
diff --git a/src/chevah-python-tests/test_python_binary_dist.py b/src/chevah-python-tests/test_python_binary_dist.py
index f72e82e..6733717 100644
--- a/src/chevah-python-tests/test_python_binary_dist.py
+++ b/src/chevah-python-tests/test_python_binary_dist.py
@@ -34,7 +34,7 @@ def get_allowed_deps():
elif 'linux' in CHEVAH_OS:
# Deps without paths for generic glibc Linux builds.
# Only glibc 2.x libs are allowed.
- # Tested on Amazon 2 & Ubuntu 16.04/18.04 with glibc 2.26/2.23/2.27.
+ # Tested on Amazon 1/2 & Ubuntu 16.04/18.04 w/ glibc 2.17/26/23/27.
allowed_deps=[
'libc.so.6',
'libcrypt.so.1',
diff --git a/src/libffi/chevahbs b/src/libffi/chevahbs
index cfd9e5b..12b9ffb 100755
--- a/src/libffi/chevahbs
+++ b/src/libffi/chevahbs
@@ -32,10 +32,13 @@ chevahbs_compile() {
# This requires DejaGnu to actually do the tests.
chevahbs_try() {
- # Tests fail on Amazon 2: https://github.com/libffi/libffi/issues/785.
+ # Tests fail on Amazon 1/2: https://github.com/libffi/libffi/issues/785.
if [ "$OS" = "linux" ]; then
if [ -f /etc/os-release ]; then
- if grep -q ^'PRETTY_NAME="Amazon Linux 2"'$ /etc/os-release; then
+ if grep -q "Amazon Linux AMI 2018.03" /etc/os-release; then
+ (>&2 echo -e "\tSkipping libffi tests on Amazon Linux 1.")
+ return
+ elif grep -q ^'PRETTY_NAME="Amazon Linux 2"'$ /etc/os-release; then
(>&2 echo -e "\tSkipping libffi tests on Amazon Linux 2.")
return
fi
The text was updated successfully, but these errors were encountered:
We can't build on RHEL 7 because of contamination with libs that are not installed on other distros, such as Ubuntu.
However, Amazon Linux 1 (2018.03) has the same
glibc
version as RHEL7: 2.17. More so, lately you can install gcc 7.x on Amazon 1, same version we use on Amazon Linux 2.Starting diff for building on an AMI 2018.03 container:
The text was updated successfully, but these errors were encountered: