-
Notifications
You must be signed in to change notification settings - Fork 22
Fix: expand ~ in CCACHE_CONFIGPATH to actual home directory #741
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
b95702041
wants to merge
25
commits into
Cytnx-dev:release_to_pypi
Choose a base branch
from
b95702041:release_to_pypi
base: release_to_pypi
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
25 commits
Select commit
Hold shift + click to select a range
9960c82
Fix: expand ~ in CCACHE_CONFIGPATH to actual home directory
b95702041 04934a9
Fix: add cblas.h symlink for Linux builds
b95702041 c01e17a
Fix: add openblas_config.h symlink for Linux builds
b95702041 b177936
Fix: ensure all OpenBLAS headers are accessible
b95702041 e317a6a
Fix: install core dev tools for gcc-toolset compatibility
b95702041 f2b3cf3
Fix: add CFLAGS and CXXFLAGS for gcc-toolset include paths
b95702041 c46b562
Fix: add CFLAGS and CXXFLAGS for Linux gcc-toolset
b95702041 86de99e
fix: remove CFLAGS and CXXFLAGS to fix math.h not found error
b95702041 02126f6
fix: add setuptools for distutils compatibility with Python 3.12+
b95702041 3041121
fix: use dnf instead of yum for manylinux_2_34
b95702041 ac4f5ea
fix: detect available package manager in manylinux
b95702041 b029f41
fix: restore before_all.sh to working version
b95702041 44ad9bc
Fix: restore all Linux build fixes for manylinux_2_28
b95702041 ca6690c
fix: change to manylinux_2_28
b95702041 4bbeea1
fix: disable Boost CMake config for manylinux_2_28
b95702041 7a56f85
fix: allow Boost MODULE mode for manylinux_2_28
b95702041 2ca5be9
fix: use full path for dnf in manylinux_2_28
b95702041 62eeb1f
debug: check available package managers in manylinux_2_28
b95702041 9c61140
fix: install ccache via pipx in manylinux
b95702041 2f972cf
fix: install ccache from binary release
b95702041 01a7f3c
fix: install boost and dependencies via dnf/yum
b95702041 5a9d1e9
fix: add fallback dummy ccache if binary fails
b95702041 ae4720d
fix: add musllinux (apk) support
b95702041 07d192a
fix: add conditional compilation for execinfo.h to support musl libc
b95702041 f9f436b
refactor: use package manager for ccache, move Boost cmake flag to ci…
b95702041 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,18 +1,24 @@ | ||
| set -xe | ||
|
|
||
| yum search lapack | ||
| yum --showduplicates list "lapack*" | ||
| # yum install -y arpack-devel boost-devel ccache lapack-devel libomp-devel openblas-devel | ||
| yum install -y arpack-devel boost-devel ccache libomp-devel openblas-devel | ||
| # On Red Hat/CentOS systems (which manylinux images are based on), the lapack-devel | ||
| # package typically provides the Fortran bindings and miss the C-interface header, so | ||
| # use lapacke.h shipped with openblas instead. | ||
| ls /usr/include | ||
| ln -s /usr/include/openblas/lapacke.h /usr/include/lapacke.h | ||
| ln -s /usr/include/openblas/lapack.h /usr/include/lapack.h | ||
| ln -s /usr/include/openblas/lapacke_mangling.h /usr/include/lapacke_mangling.h | ||
| # Install required packages based on distro | ||
| if command -v apk &> /dev/null; then | ||
| # musllinux (Alpine) | ||
| apk add --no-cache boost-dev openblas-dev arpack-dev ccache | ||
| elif command -v dnf &> /dev/null; then | ||
| # manylinux_2_28+ (AlmaLinux/RHEL) | ||
| dnf install -y boost-devel openblas-devel arpack-devel ccache | ||
| elif command -v yum &> /dev/null; then | ||
| # manylinux2014 (CentOS) | ||
| yum install -y boost-devel openblas-devel arpack-devel ccache | ||
| else | ||
| echo "WARNING: No package manager found" | ||
| fi | ||
|
|
||
| ls /usr/include/openblas | ||
| # boost1.78-devel | ||
| # ls /usr/include/boost | head | ||
| # ls /usr/lib64/libboost_*.so | ||
| # Create symlinks for OpenBLAS headers if available | ||
| if [ -d /usr/include/openblas ]; then | ||
| ln -sf /usr/include/openblas/lapacke.h /usr/include/lapacke.h | ||
| ln -sf /usr/include/openblas/lapack.h /usr/include/lapack.h | ||
| ln -sf /usr/include/openblas/lapacke_mangling.h /usr/include/lapacke_mangling.h | ||
| ln -sf /usr/include/openblas/cblas.h /usr/include/cblas.h | ||
| ln -sf /usr/include/openblas/openblas_config.h /usr/include/openblas_config.h | ||
| fi |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why setuptools is needed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
distutils was deprecated in Python 3.10 and removed in Python 3.12.
Since the build uses Python 3.12, build 8 failed with:
ModuleNotFoundError: No module named 'distutils'
Adding setuptools resolves this because it provides a distutils compatibility layer.
Reference: https://github.com/b95702041/Cytnx/actions/runs/21543068253
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you try to figure out which package provide the outdated
FindPythonLibsNew.cmake? pybind11 has fixed the issue aboutdistutilsfew years ago: pybind/pybind11#3677