libRIO.dll not found but libRIO.so exists

I am trying to run root with a virtual reconstruction package but it displays a ‘file not found’ error. I have checked the /root/lib directory and find libRIO.so, which is expected, but ROOT still asks for the libRIO.dll file. Similarly, libEdr.so and libEDA.so exist but still throw an error. I have checked my paths and they lead to the lib folder correctly. I have tried rebuilding ROOT within the container but the same issue appears.

I am running ROOT 5.34.38 in a Docker container with Ubuntu 20.04 and Windows 10 Home 19041 as the host platform. Builddir is the root directory in which I built with cmake.

ROOT Version: 5.34.38
Platform: Ubuntu 20.04
Compiler: gcc-4.8 g+±4.8

ROOT 5.34/38 (v5-34-38@v5-34-38, Mar 12 2018, 15:49:39 on linuxx8664gcc)

CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
Error in <TUnixSystem::DynamicPathName>: libRIO.dll does not exist in /workdir/builddir/lib:/workdir/builddir/lib:/::.:/workdir/builddir/lib::/workdir/builddir/cint/cint/stl
Error in <TUnixSystem::DynamicPathName>: libEdr[.so | .dll | .dylib | .sl | .dl | .a] does not exist in /workdir/builddir/lib:/workdir/builddir/lib:/::.:/workdir/builddir/lib::/workdir/builddir/cint/cint/stl
Error in <TUnixSystem::DynamicPathName>: libEDA[.so | .dll | .dylib | .sl | .dl | .a] does not exist in /workdir/builddir/lib:/workdir/builddir/lib:/::.:/workdir/builddir/lib::/workdir/builddir/cint/cint/stl
root [0]

Hello, and welcome to the ROOT forum!

Am I assuming correctly that ROOT is started here as part of another package? If you can run just root -l without errors, the problem might rather be with the reconstruction package than with ROOT.

Please note that ROOT 5.34 is very old. If possible, consider upgrading to ROOT 6.

Perhaps @Axel has more suggestions?

Cheers,
Jakob

And make sure that you set up ROOT before: source wherever-ROOT-is-installed/bin/thisroot.sh

By set-up, do you mean set the paths and environment variables before running thisroot.sh? I ran thisroot.sh immediately after building ROOT and before installing the reconstruction package.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.

Sorry for dropping this!

When you start a new terminal, and before starting root, you need to run wherever-ROOT-is-installed/bin/thisroot.sh. Does that fix it?

Cheers, Axel.