now my understanding is that the wheel is not build because number packages you can build against once you push a release to [PyPI] is very limited and not enough to build xrootd

As far as I know (which isn't much), this is luckily not correct. XRootD does not have a large number of build dependencies compared to some of the most difficult Python libraries to build wheels for (e.g. TensorFlow, PyTorch). Maybe in the future we can have some discussions about wheel building, but that's for another Issue. 👍 (Here I would probably see if you could get @henryiii (a true expert of the entire Python packaging world) to give some advice on wheel building, but I think cibuildwheel would be the way to go.)

in your docker image you don't tag it, don't you?
...
it fails without giving me any reason why

Please see the the example in #1604 (comment) for a tag with things working and installing successfully. For examples of things failing in 970d86d see the two examples that I gave above in #1604 (comment)

Example of failing with 970d86d:

Example of failing with 970d86d and git tag:

where I show it failing for untagged and tagged.

How about a zoom call to discuss this in more details, let me know if this would help

If we need to have a Zoom call, but I think it would be faster to go through the Dockerfile examples I've given.

As I've mentioned (but only in code comments, which isn't great), one of the problems that you have in your copy-and-paste commands examples is that running pip install from inside the xrootd Git repo directory will have problems as the xrootd.egg-info artifact from publish.sh pollutes PYTHONPATH which includes the local directory by default (this has been true since before PR #1585).

Here's a copy-and-paste set of commands that demonstrates and succeeds:

$ docker run -it --rm cern/cc7-base:latest /bin/bash
yum install --nogpg -y git python3-pip which cmake3 make gcc-c++ zlib-devel openssl-devel python3-devel libuuid-devel devtoolset-7-gcc-c++
git config --global user.email "[log in to unmask]"
git config --global user.name "whatever whatever"
git clone https://github.com/xrootd/xrootd  # Same things apply to 970d86d as to HEAD
cd xrootd
git tag -a v6.0.0 -m test
cp packaging/wheel/* .
./publish.sh
# 3 options now of how to have an install suceed:
# 1. Run with --upgrade flag to override the existence of what it thinks already lives on PYTHONPATH
# python3 -m pip install --verbose --upgrade dist/xrootd*.tar.gz
# 2. Run from anywhere not the xrootd directory (you're building from an sdist)
# cd  && python3 -m pip install --verbose /xrootd/dist/xrootd*.tar.gz
# This is what I've demonstrated in my previous examples
# 3. Rename or delete the `xrootd.egg-info` that `publish.sh` builds
# which we'll run here
mv xrootd.egg-info any_other_name
python3 -m pip install --verbose dist/xrootd*.tar.gz
python3 -m pip list

Does this make sense? If not we can try to setup a Zoom call for me to explain more.

I agree that the publish.sh workflow could get improved so that these sorts of rather not obvious things don't pop up. We can do that in another PR later, but let's make a separate GitHub Issue for it. 👍


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.Message ID: <xrootd/xrootd/issues/1604/1023492744@github.com>

[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/xrootd/xrootd/issues/1604#issuecomment-1023492744", "url": "https://github.com/xrootd/xrootd/issues/1604#issuecomment-1023492744", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1