Dear all,
I’m trying to package a program that depends on a few Root libraries, into a Docker image (based on AlmaLinux:9).
$ ldd myprog
libTree.so => /opt/bin/../lib/libTree.so (0x00007fffff61b000)
libMathCore.so => /opt/bin/../lib/libMathCore.so (0x00007fffff3d0000)
libImt.so => /opt/bin/../lib/libImt.so (0x00007fffff3bc000)
libMultiProc.so => /opt/bin/../lib/libMultiProc.so (0x00007fffff3ad000)
libNet.so => /opt/bin/../lib/libNet.so (0x00007fffff2ce000)
libRIO.so => /opt/bin/../lib/libRIO.so (0x00007ffffeee9000)
libThread.so => /opt/bin/../lib/libThread.so (0x00007ffffee92000)
libCore.so => /opt/bin/../lib/libCore.so (0x00007ffffe9fb000)
libstdc++.so.6 => /opt/bin/../lib/libstdc++.so.6 (0x00007ffffe7d2000)
libm.so.6 => /opt/bin/../lib/libm.so.6 (0x00007ffffe6f7000)
libgcc_s.so.1 => /opt/bin/../lib/libgcc_s.so.1 (0x00007ffffe6dc000)
libc.so.6 => /opt/bin/../lib/libc.so.6 (0x00007ffffe4d3000)
/lib64/ld-linux-x86-64.so.2 (0x00007ffffffc8000)
libtbb.so.2 => /opt/bin/../lib/libtbb.so.2 (0x00007ffffe48d000)
libssl.so.3 => /opt/bin/../lib/libssl.so.3 (0x00007ffffe3e7000)
libcrypto.so.3 => /opt/bin/../lib/libcrypto.so.3 (0x00007ffffdfb4000)
libpcre2-8.so.0 => /opt/bin/../lib/libpcre2-8.so.0 (0x00007ffffdf18000)
libz.so.1 => /opt/bin/../lib/libz.so.1 (0x00007ffffdefe000)
liblzma.so.5 => /opt/bin/../lib/liblzma.so.5 (0x00007ffffded0000)
libxxhash.so.0 => /opt/bin/../lib/libxxhash.so.0 (0x00007ffffdebd000)
liblz4.so.1 => /opt/bin/../lib/liblz4.so.1 (0x00007ffffde99000)
libzstd.so.1 => /opt/bin/../lib/libzstd.so.1 (0x00007ffffddc2000)
I’d like my final image to be as “lean” as possible, so I’m trying to copy just the parts of Root that are absolutely necessary for my program to run. I’ve sorted out the libs, but now I’m fighting with the PCM files : which ones must I bring along ?
For instance, if I bring all pcm files the program is running fine, but when using a smaller selection I get messages like :
Error in <TClass::LoadClassInfo>: no interpreter information for class TLeafI is available even though it has a TClass initialization routine.
Thanks,
_ROOT Version: 6.32.04
Platform: AlmaLinux:9
_Compiler:_gcc11.4