Hi,
I’ve created a template for class by TChain::MakeClass function, but when I trying to compile it (nothing was chenged). I receive an error message:
.L KxKy_base.C+
Info in <TUnixSystem::ACLiC>: creating shared library /u/br/shtol/root/lib//u/br/shtol/root/macro/KxKy_base_C.so
Warning in <ACLiC>: Failed to generate the dependency file for /u/br/shtol/root/lib//u/br/shtol/root/macro/KxKy_base_C.so
Error in <TUnixSystem::DynamicPathName>: libvectorDict[.so | .sl | .dl | .a | .dll] does not exist in /afs/slac.stanford.edu/package/cernroot/vol2/52600/lib:./shlib/Linux26SL5_i386_gcc412:./shlib/Linux26SL5_i386_gcc412/ldlink:/afs/slac.stanford.edu/g/babar/dist/releases/current/shlib/Linux26SL5_i386_gcc412:/afs/slac.stanford.edu/g/babar/dist/releases/current/shlib/Linux26SL5_i386_gcc412/ldlink:.:/u/br/shtol/root/lib:/afs/slac.stanford.edu/package/cernroot/vol2/52600/lib:/afs/slac.stanford.edu/package/cernroot/vol2/52600/cint/cint/stl
/u/br/shtol/root/macro/KxKy_base.h:205: warning: unused parameter 'entry'
What is libvectorDict? Why it is required?
Code is attached. KxKy_base.h (7.05 KB) KxKy_base.C (1.42 KB)
I have no problems with your source code with ROOT 5.28 and 5.30.
The “warning: unused parameter ‘entry’” is expected / perfectly fine.
The reported missing “libvectorDict” should already exist in “${ROOTSYS}/lib/”. Try:
ls -al ${ROOTSYS}/lib/libvectorDict*
(You should see “libvectorDict.so” and possibly “libvectorDict.rootmap”. If you do not see them, move to another ROOT distribution, for which “make cintdlls” was done when it was built.)
Then check:
echo ${ROOTSYS}
which should point to your ROOT binary distribution’s main subdirectory,
echo ${PATH}
which should explicitly have “${ROOTSYS}/bin” PREPENDED,
echo ${LD_LIBRARY_PATH}
which should explicitly have “${ROOTSYS}/lib” PREPENDED.
Another possibility is that your compiler version is different from the one that your ROOT distribution was compiled with. Try:
g++ -v
and compare both, the version (e.g. something like 4.1.2) and the target (i386 versus x86_64).
It is also possible that you have multiple (incompatible) ROOT distributions in your paths, e.g. one in “/u/br/shtol/root” and another one in “/afs/slac.stanford.edu/package/cernroot/vol2/52600”.