Skip to content

Issue #356 - Set Linux and Mac OS Builds to Python 3.12#367

Merged
yoavnir merged 11 commits into
dev-1.0.0from
dev-1.0.0-issue356
May 11, 2026
Merged

Issue #356 - Set Linux and Mac OS Builds to Python 3.12#367
yoavnir merged 11 commits into
dev-1.0.0from
dev-1.0.0-issue356

Conversation

@yoavnir
Copy link
Copy Markdown
Owner

@yoavnir yoavnir commented May 10, 2026

No description provided.

@yoavnir
Copy link
Copy Markdown
Owner Author

yoavnir commented May 10, 2026

May want to mention needing to do this on Mac OS:

xattr -dr com.apple.quarantine /path/to/specs-1.0.0.pkg

@yoavnir
Copy link
Copy Markdown
Owner Author

yoavnir commented May 10, 2026

Tested the package on Mac OS X. Works when Python 3.12 is installed.

@yoavnir
Copy link
Copy Markdown
Owner Author

yoavnir commented May 10, 2026

On Ubuntu 22, failed multiple ways:

  • Needed to install Python 3.12 via sudo apt install -y python3.12 python3.12-venv python3.12-dev
  • Missing glibc 2.38 and glibcxx 3.4.32

The Python issue can be fixed. The libc/libc++ issues cannot. Does this mean Ubuntu 22 is not supported? Will try tomorrow with Ubuntu 24.

Will try to move the build back to 22.04 (older libc/libc++) so that it works with anything from 22.04 onwards. ETA: This did help with installing the DEB package on Ubuntu 22.04. Will see tomorrow if it works easily on newer Ubuntu.

Will need to add a warning to the "using binaries" section.

@yoavnir
Copy link
Copy Markdown
Owner Author

yoavnir commented May 11, 2026

Tested with Ubuntu 24. Works fine. Here's the requirements:

GLIBC_2.34
GLIBCXX_3.4.30

Now will move to testing an RPM-based Linux - RHEL. Will also need to make sure that these use the same versions of libc/libc++.

@yoavnir
Copy link
Copy Markdown
Owner Author

yoavnir commented May 11, 2026

Installed RHEL 9. As expected, the Python version there is 3.9.10, so specs did not work out of the box:

$ specs print "1+1"
specs: error while loading shared libraries: libpython3.12.so.1.0: cannot open shared object file: No such file or directory

Also, the requirements for libc are the same -

$ strings /usr/local/bin/specs | grep -v @GLIB | grep -e GLIBC_ -e GLIBCXX_
GLIBC_2.3
GLIBC_2.29
GLIBC_2.2.5
GLIBC_2.32
GLIBC_2.4
GLIBC_2.14
GLIBC_2.3.4
GLIBC_2.34
GLIBCXX_3.4.20
GLIBCXX_3.4.18
GLIBCXX_3.4.29
GLIBCXX_3.4.11
GLIBCXX_3.4.14
GLIBCXX_3.4.9
GLIBCXX_3.4.30
GLIBCXX_3.4.15
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.19
GLIBCXX_3.4

However, the C++ requirement (3.4.30) is not met:

strings /lib64/libstdc++.so.6 | grep GLIBCXX_
GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_3.4.20
GLIBCXX_3.4.21
GLIBCXX_3.4.22
GLIBCXX_3.4.23
GLIBCXX_3.4.24
GLIBCXX_3.4.25
GLIBCXX_3.4.26
GLIBCXX_3.4.27
GLIBCXX_3.4.28
GLIBCXX_3.4.29
GLIBCXX_DEBUG_MESSAGE_LENGTH

Will try to update from 9.0 to something better.

@yoavnir
Copy link
Copy Markdown
Owner Author

yoavnir commented May 11, 2026

Works on SLES 15.7 after installing the correct Python - lib/libc++ versions match between DEB and RPM

@yoavnir yoavnir merged commit 095e376 into dev-1.0.0 May 11, 2026
4 checks passed
@yoavnir yoavnir deleted the dev-1.0.0-issue356 branch May 11, 2026 12:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant