Skip to content

[Python] Restructure Python libraries to not require system links#19465

Merged
guitargeek merged 1 commit intoroot-project:masterfrom
guitargeek:python_no_symlink
Jul 31, 2025
Merged

[Python] Restructure Python libraries to not require system links#19465
guitargeek merged 1 commit intoroot-project:masterfrom
guitargeek:python_no_symlink

Conversation

@guitargeek
Copy link
Contributor

@guitargeek guitargeek commented Jul 25, 2025

Restructure Python libraries to not require system links.

@guitargeek guitargeek self-assigned this Jul 25, 2025
@guitargeek guitargeek added improvement in:Python Interface clean build Ask CI to do non-incremental build on PR labels Jul 25, 2025
@github-actions
Copy link

github-actions bot commented Jul 25, 2025

Test Results

    21 files      21 suites   3d 8h 32m 9s ⏱️
 3 217 tests  3 214 ✅ 0 💤 3 ❌
65 840 runs  65 837 ✅ 0 💤 3 ❌

For more details on these failures, see this check.

Results for commit e4beb3c.

♻️ This comment has been updated with latest results.

@guitargeek guitargeek force-pushed the python_no_symlink branch 5 times, most recently from 50264a7 to 7759383 Compare July 29, 2025 15:04
@guitargeek guitargeek marked this pull request as ready for review July 29, 2025 15:05
@guitargeek guitargeek force-pushed the python_no_symlink branch 3 times, most recently from 893ef46 to cc5edf2 Compare July 29, 2025 19:36
Split the `libcppyy.so` shared library into two libraries: one library
with the C++ API that will be installed into `CMAKE_INSTALL_LIBRARYDIR`,
and a CPython extension that will be installed to
`CMAKE_INSTALL_PYTHONDIR`. Note that the C++ API is also used by other
ROOT libraries (TPython).

Like this, we don't have to use symlinks to ensure that the libraries
are found in both directories.
Copy link
Member

@vepadulano vepadulano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! And in #19456 I checked that this works with the Python wheel workflow as well 🎉

@guitargeek guitargeek merged commit 85e74b8 into root-project:master Jul 31, 2025
22 of 26 checks passed
@guitargeek guitargeek deleted the python_no_symlink branch July 31, 2025 07:38
@hahnjo
Copy link
Member

hahnjo commented Jul 31, 2025

btw "symlink" stands for "symbolic link", not "system" 😉

@guitargeek
Copy link
Contributor Author

Sorry! Fortunately I can't repeat this mistake because there are no SYMBOLIC links left in our CMake code base

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

clean build Ask CI to do non-incremental build on PR improvement in:Python Interface

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants