Main function defined in libHistFactory.so

Hi,

I just stumbled over the fact that my code, which doesn’t have an int main() function linked successfully to an executable. This feature disappeared when removing -lHistFactory from the link options, and closer inspection reveals that there is a main function defined in libHistFactory.so

nm -C /afs/cern.ch/sw/lcg/app/releases/ROOT/6.06.08/x86_64-slc6-gcc49-opt/root/lib/libHistFactory.so | \grep main 00000000000e9720 T main

After superficial grep’ping around, I suspect this is coming from https://github.com/root-mirror/root/blob/master/roofit/histfactory/src/hist2workspace.cxx#L64

means, that my falsely successfully linked executable is just another incarnation of hist2workspace.
Would it make sense to exclude hist2workspace.cxx from the creation of the shared libraries?

Thanks,
Paul

Hi Paul,

nice finding - thanks for sharing. Action taken: github.com/root-mirror/root/com … 71690a3d9c

Cheers,
D