Undefined reference to `ROOTDict::GenerateInitInstance(

Hi, I have a stand alone executable generator generated after the following 3 commands
make clean , make dict , make
This was working fine with ROOT version 5.34.10
but with ROOT 5.34.24 it is spitting a lot of the following errors: :^o

Main.o: In function __static_initialization_and_destruction_0': /home/admin/100250MHzrootg6y22/nscope_DNAP_TIFR/Main.cpp:161: undefined reference toROOTDict::GenerateInitInstance(Main const*)’
AS.o: In function __static_initialization_and_destruction_0': /home/admin/100250MHzrootg6y22/nscope_DNAP_TIFR/AS.cpp:4: undefined reference toROOTDict::GenerateInitInstance(AnalogSignal const*)’
Bline.o: In function __static_initialization_and_destruction_0': /home/admin/100250MHzrootg6y22/nscope_DNAP_TIFR/Bline.cpp:3: undefined reference toROOTDict::GenerateInitInstance(Baseline const*)’
CFDTrig.o: In function __static_initialization_and_destruction_0': /home/admin/100250MHzrootg6y22/nscope_DNAP_TIFR/CFDTrig.cpp:8: undefined reference toROOTDict::GenerateInitInstance(CFDTrigger const*)’
nscopeLinkDef.h (1.09 KB)

And the error is indicated on the line where the ClassImp(…class name) is as follows:
Main.cpp line 161 follows:

AS.cpp line 4 follows:

#-o :^o


The dictionary did not get regenerated after you updated ROOT. Please make sure that you delete the output of the “make dict” step (the dictionary).

Cheers, Axel.

Hi Axel, I am sure the dictionary is getting deleted as I run the comand
$make clean
and I have attached the ‘Makefile’ for your inspection.
The normal sequence of compiling is as follows :

  1. make clean 2. make dict 3. make 4. ./nscope
    I am still stuck up. I appreciate your help. Thanks.

Makefile.txt (1.37 KB)

Has this been solved? I am having a very similar issue.
Thank you!


It’s caused by either the dictionary not being regenerated, or by rootcint/rootcling/genreflex being not the one you compile with (-I - that’s a capital i) and link with (-L).

Cheers, Axel.