Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could NOT find Vdt error when using 6.32.02 docker image #16038

Closed
1 task done
DraTeots opened this issue Jul 16, 2024 · 9 comments · Fixed by root-project/web#1011
Closed
1 task done

Could NOT find Vdt error when using 6.32.02 docker image #16038

DraTeots opened this issue Jul 16, 2024 · 9 comments · Fixed by root-project/web#1011
Assignees
Labels

Comments

@DraTeots
Copy link

DraTeots commented Jul 16, 2024

Check duplicate issues.

  • Checked for duplicates

Description

When trying to build any image based on rootproject/root:6.32.02-ubuntu24.04 docker file and build any cmake application which references root, it fails with

9.604 CMake Error at /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
9.604   Could NOT find Vdt (missing: VDT_INCLUDE_DIR VDT_LIBRARY)
9.604 Call Stack (most recent call first):
9.604   /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
9.604   /opt/root/cmake/modules/FindVdt.cmake:63 (find_package_handle_standard_args)
9.604   /usr/share/cmake-3.28/Modules/CMakeFindDependencyMacro.cmake:76 (find_package)
9.604   /opt/root/cmake/ROOTConfig.cmake:167 (find_dependency)
9.604   CMakeLists.txt:363 (find_package)

I tried 3 different packages ACTS, PODIO, JANA2 - all failed with the same error during the configuration.

Reproducer

Reproducer, where ACTS is taken as an example

FROM rootproject/root:6.32.02-ubuntu24.04

# Number of build threads
ARG BUILD_THREADS=8

ARG DEBIAN_FRONTEND=noninteractive

RUN root-config --cflags

RUN apt-get update &&\
    apt-get install -y python3-pip python3-dev sudo git cmake gdb ninja-build apt-utils bash ccache clang valgrind &&\
    apt-get install -y dialog apt-utils&&\
    apt-get install -y tzdata &&\
    apt-get install -y libmsgsl-dev libftgl-dev libxml2-dev libldap2-dev libgsl0-dev libfftw3-dev libmysqlclient-dev libavahi-compat-libdnssd-dev libssl-dev python3-dev libcfitsio-dev xlibmesa-glu-dev libkrb5-dev gfortran graphviz-dev libpcre3-dev libglew-dev libxmu-dev libexpat-dev python3-jinja2 libtbb-dev libxerces-c-dev cmake libboost-filesystem-dev dpkg-dev libspdlog-dev libxext-dev qtbase5-dev libqt5opengl5-dev libx11-dev libboost-test-dev libocct-draw-dev libeigen3-dev libocct-data-exchange-dev python3-dev libocct-foundation-dev libfmt-dev libxft-dev libboost-program-options-dev libboost-dev binutils libxpm-dev curl libxerces-c3-dev occt-misc python3-yaml &&\
    rm -rf /var/lib/apt/lists/*

ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8

RUN mkdir -p /container/app/acts/src/v35.2.0 &&\
    git clone --depth 1 -b v35.2.0 https://github.com/acts-project/acts /container/app/acts/src/v35.2.0 &&\
    mkdir -p /container/app/acts/build/v35.2.0 &&\
    cmake -Wno-dev -DCMAKE_INSTALL_PREFIX=/container/app/acts/acts-v35.2.0 -DCMAKE_CXX_STANDARD=20 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DACTS_BUILD_PLUGIN_TGEO=ON -DACTS_BUILD_PLUGIN_DD4HEP=OFF -DACTS_BUILD_PLUGIN_JSON=ON -DACTS_BUILD_PLUGIN_ACTSVG=OFF  /container/app/acts/src/v35.2.0&& cmake --build . -- -j 4&& cmake --build . --target install
RUN echo "done"

ROOT version

#7 [4/6] RUN root -b -q
#7 0.544    ------------------------------------------------------------------
#7 0.544   | Welcome to ROOT 6.32.02                        https://root.cern |
#7 0.544   | (c) 1995-2024, The ROOT Team; conception: R. Brun, F. Rademakers |
#7 0.544   | Built for linuxx8664gcc on Jun 18 2024, 04:46:14                 |
#7 0.544   | From tags/v6-32-02@v6-32-02                                      |
#7 0.544   | With c++ (Ubuntu 13.2.0-23ubuntu4) 13.2.0                        |
#7 0.544   | Try '.help'/'.?', '.demo', '.license', '.credits', '.quit'/'.q'  |
#7 0.544    ------------------------------------------------------------------

Installation method

Docker image rootproject/root:6.32.02-ubuntu24.04

Operating system

Linux

Additional context

Update: everything works on rootproject/root:6.28.00-ubuntu22.04

@DraTeots DraTeots added the bug label Jul 16, 2024
@DraTeots
Copy link
Author

Just checked, everything works on rootproject/root:6.28.00-ubuntu22.04

@DraTeots
Copy link
Author

conda-forge installation seems also affected

https://anaconda.org/conda-forge/root

The reproducer

git clone https://github.com/JeffersonLab/jana2-conda-recipe
cd jana2-conda-recipe
conda build .

@ferdymercury
Copy link
Contributor

ferdymercury commented Jul 16, 2024

Seeing the same issue with a binary download and Ubun22. A workaround is to edit by hand the cmake file and comment those lines.

@krasznaa or @linev might know what the problem could be

@meiyasan
Copy link

meiyasan commented Jul 21, 2024

Hi, I fixed the VDT issue in my local Docker image by installing apt-get install libvdt-dev. It should maybe be added in the default list of packages installed while building root-ubuntu24.04 Docker image, IMO.
root-project/root-docker#90

@ferdymercury
Copy link
Contributor

ferdymercury commented Jul 22, 2024

Thanks for testing! One question:
In your image, does root/lib/libvdt.so exist and are the headers stored in include/vdt, as well as cmake/modules/FindVdt.cmake ?
If yes, then installing libvdt-dev is just a "hacky workaround", and the problem is in RootConfig.cmake logic not finding it, which should be fixed in the next patch release.
If not, then your solution is the way to go and it should be added also to the ROOT website.

@dpiparo dpiparo self-assigned this Jul 22, 2024
@meiyasan
Copy link

root@f855f86c6d89:~# ls $ROOTSYS/lib/*vdt*
ls: cannot access '/opt/root/lib/*vdt*': No such file or directory
root@f855f86c6d89:~# ls $ROOTSYS/include/
Display all 1483 possibilities? (y or n)
root@f855f86c6d89:~# ls $ROOTSYS/include/*vdt*
ls: cannot access '/opt/root/include/*vdt*': No such file or directory

@ferdymercury
Copy link
Contributor

ferdymercury commented Jul 24, 2024

Thanks for checking.

I see that:

workflows/root-ci-config/buildconfig/global.txt:builtin_vdt=OFF
workflows/root-ci-config/buildconfig/ubuntu20.txt:builtin_vdt=ON
workflows/root-ci-config/buildconfig/ubuntu22.txt:builtin_vdt=ON

So ubuntu24 is built with system-wide vdt rather than with the builtin, compared to ubuntu 22 and ubuntu 20.

Two alternative solutions:

  • turn builtin_vdt=ON also for ubuntu24 in workflows/root-ci-config/buildconfig/ubuntu24.txt
  • what you said with apt-get install libvdt-dev

According to b364478

I think the second option is the most correct one, because https://github.com/root-project/root-docker/blob/vdtfix/ubuntu2310/packages has it correctly.

@ferdymercury
Copy link
Contributor

I've proposed root-project/web#1011 and root-project/root-docker#91

@DraTeots
Copy link
Author

DraTeots commented Jul 24, 2024

Conda root-feedstock link to this bug conda-forge/root-feedstock#261

I didn't find conda variant of libvdt so the solution 2 there seems not working for conda.

Update. Conda PR conda-forge/root-feedstock#262

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
No open projects
Status: Done
Development

Successfully merging a pull request may close this issue.

4 participants