Failed to generate the dependency file for generated class

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 checked with other programs and the result is the same: ROOT fails to create dependency file. I have no ideas why.

Access rights are OK.

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.)

Yes, it exists and it was found when I added this pats directly to dynamic path. But it still cannot create dependency file for any program.

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”.