Print

Print


@adriansev (It is late for me so I will respond to the specifics about package management later, but...) looking at your problem again I think I now understand two things:

  1. You are trying to install the Python bindings from sdist on PyPI.
  2. You are missing the Debian package pkg-config.

Am I correct on both of those things?

If so, then then take a look at the following building Dockerfile that is Debian based

Dockerfile:

N.B.: the addition of pkg-config compared to the CI job apt-get list!

ARG BASE_IMAGE=debian:bullseye
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 \
        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 /code/
ENV LD_LIBRARY_PATH="/usr/local/lib:${LD_LIBRARY_PATH}"
# Install XRootD v5.4.2 with no Python bindings so that libraries exist
RUN git clone --depth 1 https://github.com/xrootd/xrootd \
        --branch v5.4.2 \
        --single-branch && \
    cmake \
        -DCMAKE_INSTALL_PREFIX=/usr/local/ \
        -S xrootd \
        -B build && \
    cmake build -LH && \
    cmake \
        --build build \
        --clean-first \
        --parallel $(($(nproc) - 1)) && \
    cmake --build build --target install && \
    command -v xrootd && \
    command -v xrdcp && \
    xrdcp --version

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 wheel && \
    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"]

If you build it with

docker build -f Dockerfile -t xrootd/xrootd:issue-1668

then

$ docker run --rm -ti xrootd/xrootd:issue-1668 
root@e864a61b3442:/# python3 -m pip list
Package    Version
---------- -------
pip        22.0.4
setuptools 62.0.0
wheel      0.37.1
xrootd     5.4.2
root@e864a61b3442:/# python3 -c 'from XRootD import client; print(client.FileSystem("root://someserver:1094"))'
<XRootD.client.filesystem.FileSystem object at 0x7f8c7fa9af40>
root@e864a61b3442:/# 


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <xrootd/xrootd/issues/1668/1088450732@github.com>

[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/xrootd/xrootd/issues/1668#issuecomment-1088450732", "url": "https://github.com/xrootd/xrootd/issues/1668#issuecomment-1088450732", "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