Missing Ubuntu library RAPIDS build from source /usr/bin/ld: cannot find -lxtl: No such file or directory

65 views Asked by At

I'm trying to build RAPIDSAI from source unspported for Python3.12. I'm set out to attempt to support it myself. I'm currently seeing the error. Even if I make it past the first message by installing libarrow-dev the 2nd message appears:

 /usr/bin/ld: cannot find -lxtl: No such file or directory
 ...
 CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Arrow/FindBrotliAlt.cmake:153 (add_library):
 add_library cannot create imported target "Brotli::brotlicommon" 
 because another target with the same name already exists.

So my main question is what is the -lxtl library and how do I install it on Ubuntu Lunar. Here is the dockerfile I'm trying to build. Beware this dockerfile takes about 5-10 minutes on my 12-core machine

ARG UBUNTU_VERSION=23.04
ARG PYTHON_VERSION

FROM ubuntu:$UBUNTU_VERSION AS base
ARG PYTHON_VERSION=3.12.1
RUN echo "deb-src http://archive.ubuntu.com/ubuntu/ lunar main" >> /etc/apt/sources.list
RUN apt-get update --fix-missing -yq
RUN apt-get update -yq
RUN apt-get upgrade -yq
RUN apt-get install -yq curl wget lsb-release software-properties-common gpg
RUN apt-get build-dep python3 -yq
RUN apt-get install git -y
RUN bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"
RUN apt-get update -y
RUN apt-get install libmysqlclient-dev -y
RUN DEBIAN_FRONTEND=noninteractive apt-get install -yq --no-install-recommends python3-certifi libsqlite3-dev libclang-rt-17-dev libc6 expat clang-17 llvm-17 xz-utils build-essential tk-dev gdb lcov pkg-config libbz2-dev libffi-dev liblzma-dev lzma lzma-dev uuid-dev libssl-dev zlib1g-dev libncurses5-dev libreadline6-dev libgdbm-dev libgdbm-compat-dev


FROM base AS build-python
ARG PYTHON_VERSION
ARG PYTHON_SRC_NAME=Python-${PYTHON_VERSION}
ARG BUILD_JOBS
ENV LLVM_PROFDATA=/usr/bin/llvm-profdata-17
ENV LLVM_AR=/usr/bin/llvm-ar-17
ENV CC='/usr/bin/clang-17 -Ofast'
ENV CXX='/usr/bin/clang-17++ -Ofast'

RUN curl -sL https://python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tar.xz -o - | tar -xvJ
WORKDIR /${PYTHON_SRC_NAME}
RUN ./configure --with-ensurepip=upgrade --with-lto=full --with-computed-gotos --disable-test-modules --enable-loadable-sqlite-extensions --enable-optimizations --without-doc-strings --with-system-ffi --without-decimal-contextvar --with-system-expat --without-pymalloc
RUN make -j $BUILD_JOBS
RUN make install

RUN apt-get install python3-certifi python3-venv -y


FROM build-python as build-science
ARG PYTHON_VERSION
ARG PYTHON_SRC_NAME=Python-${PYTHON_VERSION}
WORKDIR /
RUN chmod a+rx /${PYTHON_SRC_NAME}/python
RUN mkdir src
RUN /${PYTHON_SRC_NAME}/python -m venv .venv --upgrade-deps


RUN apt-get install -y cmake libopenblas-dev gfortran gcc g++ gfortran mlocate intel-mkl libxsimd-dev
RUN /.venv/bin/python -m pip install -U pip setuptools wheel

FROM build-science as build-scipy
RUN git clone --depth 1 --branch v1.11.4 https://github.com/scipy/scipy.git
WORKDIR /scipy
RUN git submodule update --init

WORKDIR /

RUN .venv/bin/python -m pip install -U pip setuptools wheel click doit pydevtool rich-click meson-python cython pythran pybind11 ninja2 build pkgconfig

WORKDIR /scipy
RUN ln -s /.venv/bin/cython /usr/local/bin/cython
RUN ln -s /.venv/bin/pythran /usr/local/bin/pythran
RUN ln -s /.venv/bin/meson /usr/local/bin/meson
RUN ln -s /.venv/bin/pybind11-config /usr/local/bin/pybind11-config
RUN apt-get install ninja-build -y
ENV CC=/usr/bin/clang-17
ENV CXX=/usr/bin/clang++-17
RUN ../.venv/bin/meson setup build --prefix=$(pwd)/build-install
RUN /.venv/bin/python ./dev.py


RUN /.venv/bin/pip install . --config-settings "setup-args=-Dlapack=mkl-sdl-ilp64" --config-settings "setup-args=-Dblas=mkl-sdl-ilp64"
FROM build-scipy as build-dask
WORKDIR /
RUN git clone --depth 1 --branch 2023.12.0 https://github.com/dask/dask.git
WORKDIR /dask
RUN git submodule update --init
ENV CC=/usr/bin/gcc
ENV CXX=/usr/bin/g++
RUN /.venv/bin/python -m pip install -U bokeh cachey cityhash cytoolz graphviz ipycytoscape lz4 matplotlib psutil pandas s3fs
RUN /.venv/bin/python -m pip install .
WORKDIR /
RUN wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
RUN echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null
RUN apt-get update
RUN apt-get install -y build-essential libssl-dev libz-dev libpython3-dev cmake
RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb
RUN dpkg -i cuda-keyring_1.0-1_all.deb
RUN apt-get update
RUN apt-get install -y cuda
ENV CUDACXX=/usr/local/cuda-12.3/bin/nvcc
RUN git clone --depth 1 --branch v23.12.01 https://github.com/rapidsai/cudf.git
ENV CUDF_HOME=/cudf
WORKDIR /cudf
RUN ./build.sh

WORKDIR /
FROM build-dask as final
RUN echo $(date) > last_updated

0

There are 0 answers