-
Notifications
You must be signed in to change notification settings - Fork 13
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
Add $ORIGIN/_fastjet_core/lib to RPATH for PyPI wheels. #65
Conversation
Co-authored-by: Henry Schreiner <henry.fredrick.schreiner@cern.ch>
For this
upon PyPI upload: it seems that we're missing an auditwheel repair --plat manylinux2010_x86_64 fastjet-3.3.4.0rc7-cp38-cp38-linux_x86_64.whl
So the whole build process had to run in the |
Is it a problem that the cibuildwheel configuration is overriding the default manylinux images? Lines 14 to 15 in ea2b058
I'm going to try removing those lines. |
This is what happened to the repair command: 558bbf2. |
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.
I'd recommend checking for any duplication and for unhidden symbols - these wheels are 40MB each, which might be expected, but also might be due to something fixable.
I was thinking about doing something to fix the |
Co-authored-by: Henry Schreiner <henry.fredrick.schreiner@cern.ch>
Formatting (by hand). Edit: that was supposed to be the commit message, but I pressed "comment" instead of "commit." First time trying out github.dev. |
Co-authored-by: Henry Schreiner <henry.fredrick.schreiner@cern.ch>
I (or one of us) will remove those duplicates some other time. I'll merge this PR now. |
Summary of this PR:
-rpath=$ORIGIN/_fastjet_core/lib
, with sufficient quoting on the "$ORIGIN
". Different parts of the configure/make procedure evaluate it at different levels, so just protecting the$
is not enough: I had to define an environment variable so that$ORIGIN
would resolve to "$ORIGIN
".pypa/cibuildwheel@v2.0.1
, following @henryiii's suggestion../configure
, when it runs inside cibuildwheel, puts the SWIG-generated Python files in a different location. The only way I see to get it is to extract it directly from thepyinterface/Makefile
. (A banner asking users to setPYTHONPATH
tells us which variables hold the directory locations.)pip install --pre fastjet
!libxyz.so
,libxyz.so.0
, andlibxyz.so.0.0.0
. Presumably, they were originally symbolic links, but now they're duplicates. Removing the two excess copies would reduce the total wheel size by 1/3. (Uncompressed, the extra two copies add up to 52 MB out of 156 MB.) Perhaps the.0
and.0.0.0
versions can be dropped in MANIFEST.in?