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