> moreover setuptools 59.6.0 is the last one to work on python 3.6 so we will have to take into account different behaviors (depending on platform + python version) just skimming trough the list i see a lot of changes after 59.6.0 like: > > * [#2896](https://github.com/pypa/setuptools/issues/2896): Setuptools once again makes its local copy of distutils the default. To override, set SETUPTOOLS_USE_DISTUTILS=stdlib. @adriansev just to follow up on your good point, while this is correct (for installs from PyPI only — CMake builds from source are fine with any version of `setuptools`) this isn't so bad in terms of (more temporary) fixes. If you simply just do ``` SETUPTOOLS_USE_DISTUTILS=stdlib python3 -m pip install --verbose 'xrootd==5.4.2' ``` then this will work right out of the box on Ubuntu for `setuptools>60.0.0`. So not bad for a temporary workaround :+1: — thank you for pointing that out! Here's a Dockerfile showing that working without any `LD_LIBRARY_PATH` manipulation and (to really show that this would work for your current methods) even using `pip install --user` with no virtual environment. <details> <summary>Dockerfile for setuptools>60.0.0 on Ubuntu 20.04:</summary> ```Dockerfile ARG BASE_IMAGE=ubuntu:20.04 FROM ${BASE_IMAGE} as base SHELL [ "/bin/bash", "-c" ] ENV PATH=/usr/local/venv/bin:"${PATH}" RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ g++ \ git \ cmake \ uuid-dev \ dpkg-dev \ libssl-dev \ libx11-dev \ libxml2-dev \ libkrb5-dev \ libgsl0-dev \ pkg-config \ tree \ python3 \ python3-pip \ python3-venv \ python3-dev && \ apt-get autoclean -y && \ python3 -m pip --no-cache-dir install --upgrade pip setuptools wheel && \ python3 -m pip list WORKDIR / # Show --user even though I don't recommend it just to show it works RUN python3 -m pip --no-cache-dir install --user --upgrade pip 'setuptools>60.0.0' wheel && \ SETUPTOOLS_USE_DISTUTILS=stdlib python3 -m pip install --user --verbose 'xrootd==5.4.2' && \ python3 -m pip list RUN python3 -m pip list && \ python3 -m pip show xrootd && \ python3 -c 'import XRootD; print(XRootD)' && \ python3 -c 'import pyxrootd; print(pyxrootd)' && \ python3 -c 'from XRootD import client; print(client.FileSystem("root://someserver:1094"))' WORKDIR / CMD ["/bin/bash"] ``` </details> ``` docker build . -f Dockerfile -t xrootd/xrootd:issue-1668-setuptools-60-plus ``` ```console $ docker run --rm -ti xrootd/xrootd:issue-1668-setuptools-60-plus root@debb0c80d455:/# python3 -m pip show xrootd Name: xrootd Version: 5.4.2- Summary: Home-page: Author: Author-email: License: Location: /root/.local/lib/python3.8/site-packages Requires: Required-by: root@debb0c80d455:/# ls -lhtra /root/.local/lib/python3.8/site-packages total 20K drwxr-xr-x 3 root root 4.0K Apr 7 06:02 .. drwxr-xr-x 2 root root 4.0K Apr 7 06:03 xrootd-5.4.2_.dist-info drwxr-xr-x 6 root root 4.0K Apr 7 06:03 pyxrootd drwxr-xr-x 4 root root 4.0K Apr 7 06:03 XRootD drwx------ 5 root root 4.0K Apr 7 06:03 . root@debb0c80d455:/# ``` -- Reply to this email directly or view it on GitHub: https://github.com/xrootd/xrootd/issues/1668#issuecomment-1091116393 You are receiving this because you are subscribed to this thread. Message ID: <[log in to unmask]> ######################################################################## 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