ROOT THtml skips TMinuit documentation

I built a local copy of the ROOT html documents using THtml. However, it doesn’t contain the documentation for all classes. In particular, TMinuit and TPad are missing.

Here is a minimal failing example:

$ cat builddocs.C { THtml html; html.MakeIndex(); html.MakeClass("TMinuit"); // Or TPad }

Here is my .rootrc:

~$ cat .rootrc Root.Html.SourceDir: $(ROOTSYS)/ Root.Html.OutputDir: $(HOME)/roothtmldoc

This works for most classes (eg. TH1D). However, it does not build the documentation for TMinuit:

$ root -l builddocs.C OBJ: TStyle Modern Modern Style : 0 at: 0xcae2b0 root [0] Processing builddocs.C... Info in <THtml::CreateListOfClasses>: Initializing - this might take a while... Info in <THtml::TFileSysRoot::Recurse>: scanning /opt/root-5.30.04/... Warning in <TClass::TClass>: no dictionary for class iterator<bidirectional_iterator_tag,TObject*,long,const TObject**,const TObject*&> is available Warning in <TClass::TClass>: no dictionary for class reverse_iterator<vector<TString>::iterator> is available Warning in <TClass::TClass>: no dictionary for class reverse_iterator<vector<double>::iterator> is available Warning in <TClass::TClass>: no dictionary for class reverse_iterator<vector<int>::iterator> is available Warning in <TClass::TClass>: no dictionary for class reverse_iterator<vector<string>::iterator> is available Warning in <TClass::TClass>: no dictionary for class pair<bool,bool> is available Info in <THtml::CreateListOfClasses>: Initializing - DONE. /home/mhmurray/roothtmldoc/ListOfTypes.html /home/mhmurray/roothtmldoc/CORE_Index.html /home/mhmurray/roothtmldoc/CORE_BASE_Index.html /home/mhmurray/roothtmldoc/CORE_CONT_Index.html /home/mhmurray/roothtmldoc/CORE_META_Index.html /home/mhmurray/roothtmldoc/CORE_METAUTILS_Index.html /home/mhmurray/roothtmldoc/CORE_RINT_Index.html /home/mhmurray/roothtmldoc/CORE_THREAD_Index.html /home/mhmurray/roothtmldoc/CORE_UNIX_Index.html /home/mhmurray/roothtmldoc/GRAF2D_Index.html /home/mhmurray/roothtmldoc/GRAF2D_GRAF_Index.html /home/mhmurray/roothtmldoc/HIST_Index.html /home/mhmurray/roothtmldoc/HIST_HIST_Index.html /home/mhmurray/roothtmldoc/HTML_Index.html /home/mhmurray/roothtmldoc/IO_Index.html /home/mhmurray/roothtmldoc/IO_IO_Index.html /home/mhmurray/roothtmldoc/MATH_Index.html /home/mhmurray/roothtmldoc/MATH_MATHCORE_Index.html /home/mhmurray/roothtmldoc/MATH_MATRIX_Index.html /home/mhmurray/roothtmldoc/LibraryDependencies.html Info in <THtml::HaveDot>: Checking for Graphviz (dot)... sh: dot: command not found /home/mhmurray/roothtmldoc/ClassIndex.html /home/mhmurray/roothtmldoc/index.html /home/mhmurray/roothtmldoc/ClassHierarchy.html Error in <THtml::MakeClass>: Unknown class 'TMinuit'! root [1] .q

My root version is 5.30/04:

ROOT 5.30/04 (tags/v5-30-04@41807, Nov 08 2011, 14:28:58 on linuxx8664gcc)

But I have the same problem on 5.32.00, SVN version 47771.

Am I doing something wrong? Obviously TMinuit has documentation writen:
http://root.cern.ch/root/html/TMinuit.html

I’ve solved at least some of the problem - now I can get docs for TTree. You must call SetInputDir("$(ROOTSYS):$(ROOTSYS)/include") after THtml::MakeIndex(), seemingly regardless of your .rootrc settings. TPad and TMinuit still don’t work, however.

$ cat builddocs.C { THtml html; html.MakeIndex(); html.SetInputDir("$(ROOTSYS):$(ROOTSYS)/include") html.MakeClass("TTree"); }

However, this still fails (segfault) after it gets to the tutorials.

[code] 506 roothtmldoc/TGTable.html
Error in TFile::TFile: file /opt/root-5.32.00-svn/tutorials/hsimple.root does not exist
Error in : No tree supplied
Error in TGTable::TGTable::GotoTableRange: x or y range = 0
Error in TTreeFormula::Compile: Bad numerical expression : “px”

*** Break *** segmentation violation

===========================================================
There was a crash.
This is the entire stack trace of all threads:

#0 0x00007f07276a243e in __libc_waitpid (pid=, stat_loc=0x7fff7d66e0c0, options=0) at …/sysdeps/unix/sysv/linux/waitpid.c:32
#1 0x00007f072762829e in do_system (line=0x59e6fd0 “/opt/root-5.32.00-svn/etc/gdb-backtrace.sh 18814 1>&2”) at …/sysdeps/posix/system.c:149
#2 0x00007f0728554227 in TUnixSystem::StackTrace() () from /opt/root-5.32.00-svn/lib/libCore.so
#3 0x00007f0728556aa3 in TUnixSystem::DispatchSignals(ESignals) () from /opt/root-5.32.00-svn/lib/libCore.so
#4
#5 0x00007f0721ce8a1e in TTreeTableInterface::SetSelection(char const*) () from /opt/root-5.32.00-svn/lib/libTreePlayer.so
#6 0x00007f0721d161d4 in G__G__TreePlayer_435_0_16(G__value*, char const*, G__param*, int) () from /opt/root-5.32.00-svn/lib/libTreePlayer.so
#7 0x00007f0726859a3b in Cint::G__ExceptionWrapper(int ()(G__value, char const*, G__param*, int), G__value*, char*, G__param*, int) () from /opt/root-5.32.00-svn/lib/libCint.so
#8 0x00007f07268fee11 in G__execute_call () from /opt/root-5.32.00-svn/lib/libCint.so
#9 0x00007f07268ff1fe in G__call_cppfunc () from /opt/root-5.32.00-svn/lib/libCint.so
#10 0x00007f07268dfb37 in G__interpret_func () from /opt/root-5.32.00-svn/lib/libCint.so
#11 0x00007f07268cc016 in G__getfunction () from /opt/root-5.32.00-svn/lib/libCint.so
#12 0x00007f07269b6790 in G__getstructmem(int, G__FastAllocString&, char*, int, char*, int*, G__var_array*, int) () from /opt/root-5.32.00-svn/lib/libCint.so
#13 0x00007f07269ad57a in G__getvariable () from /opt/root-5.32.00-svn/lib/libCint.so
#14 0x00007f07268a580b in G__getitem () from /opt/root-5.32.00-svn/lib/libCint.so
#15 0x00007f07268abef4 in G__getexpr () from /opt/root-5.32.00-svn/lib/libCint.so
#16 0x00007f072692f746 in G__exec_statement () from /opt/root-5.32.00-svn/lib/libCint.so
#17 0x00007f0726891e53 in G__exec_tempfile_core () from /opt/root-5.32.00-svn/lib/libCint.so
#18 0x00007f072689360b in G__exec_tempfile () from /opt/root-5.32.00-svn/lib/libCint.so
#19 0x00007f0726940953 in G__process_cmd () from /opt/root-5.32.00-svn/lib/libCint.so
#20 0x00007f072851e6ba in TCint::ProcessLine(char const*, TInterpreter::EErrorCode*) () from /opt/root-5.32.00-svn/lib/libCore.so
#21 0x00007f07285150b3 in TCint::ProcessLineSynch(char const*, TInterpreter::EErrorCode*) () from /opt/root-5.32.00-svn/lib/libCore.so
#22 0x00007f0728487284 in TApplication::ExecuteFile(char const*, int*, bool) () from /opt/root-5.32.00-svn/lib/libCore.so
#23 0x00007f0728485fbf in TApplication::ProcessLine(char const*, bool, int*) () from /opt/root-5.32.00-svn/lib/libCore.so
#24 0x00007f07284c6144 in TROOT::ProcessLine(char const*, int*) () from /opt/root-5.32.00-svn/lib/libCore.so
#25 0x00007f07284a86db in TMacro::Exec(char const*, int*) () from /opt/root-5.32.00-svn/lib/libCore.so
#26 0x00007f0723c87f81 in TDocMacroDirective::GetResult(TString&) () from /opt/root-5.32.00-svn/lib/libHtml.so
#27 0x00007f0723c9d0bc in TDocParser::HandleDirective(TString&, int&, TString&, int&) () from /opt/root-5.32.00-svn/lib/libHtml.so
#28 0x00007f0723c9ded8 in TDocParser::DecorateKeywords(TString&) () from /opt/root-5.32.00-svn/lib/libHtml.so
#29 0x00007f0723ca60d9 in TDocParser::LocateMethods(std::ostream&, char const*, bool, bool, bool, char const*, char const*) () from /opt/root-5.32.00-svn/lib/libHtml.so
#30 0x00007f0723ca7ac4 in TDocParser::LocateMethodsInSource(std::ostream&) () from /opt/root-5.32.00-svn/lib/libHtml.so
#31 0x00007f0723ca7c9a in TDocParser::Parse(std::ostream&) () from /opt/root-5.32.00-svn/lib/libHtml.so
#32 0x00007f0723c7c62e in TClassDocOutput::Class2Html(bool) () from /opt/root-5.32.00-svn/lib/libHtml.so
#33 0x00007f0723cb305b in THtml::MakeClass(void*, bool) () from /opt/root-5.32.00-svn/lib/libHtml.so
#34 0x00007f0723cb354c in THtml::MakeAll(bool, char const*, int) () from /opt/root-5.32.00-svn/lib/libHtml.so
#35 0x00007f0723cc1130 in G__G__Html_130_0_5(G__value*, char const*, G__param*, int) () from /opt/root-5.32.00-svn/lib/libHtml.so
#36 0x00007f0726859a3b in Cint::G__ExceptionWrapper(int ()(G__value, char const*, G__param*, int), G__value*, char*, G__param*, int) () from /opt/root-5.32.00-svn/lib/libCint.so
#37 0x00007f07268fee11 in G__execute_call () from /opt/root-5.32.00-svn/lib/libCint.so
#38 0x00007f07268ff1fe in G__call_cppfunc () from /opt/root-5.32.00-svn/lib/libCint.so
#39 0x00007f07268dfb37 in G__interpret_func () from /opt/root-5.32.00-svn/lib/libCint.so
#40 0x00007f07268cc016 in G__getfunction () from /opt/root-5.32.00-svn/lib/libCint.so
#41 0x00007f07269b6790 in G__getstructmem(int, G__FastAllocString&, char*, int, char*, int*, G__var_array*, int) () from /opt/root-5.32.00-svn/lib/libCint.so
#42 0x00007f07269aceae in G__getvariable () from /opt/root-5.32.00-svn/lib/libCint.so
#43 0x00007f07268a580b in G__getitem () from /opt/root-5.32.00-svn/lib/libCint.so
#44 0x00007f07268abef4 in G__getexpr () from /opt/root-5.32.00-svn/lib/libCint.so
#45 0x00007f072692f746 in G__exec_statement () from /opt/root-5.32.00-svn/lib/libCint.so
#46 0x00007f0726891e53 in G__exec_tempfile_core () from /opt/root-5.32.00-svn/lib/libCint.so
#47 0x00007f072689360b in G__exec_tempfile () from /opt/root-5.32.00-svn/lib/libCint.so
#48 0x00007f0726940953 in G__process_cmd () from /opt/root-5.32.00-svn/lib/libCint.so
#49 0x00007f072851e6ba in TCint::ProcessLine(char const*, TInterpreter::EErrorCode*) () from /opt/root-5.32.00-svn/lib/libCore.so
#50 0x00007f07285150b3 in TCint::ProcessLineSynch(char const*, TInterpreter::EErrorCode*) () from /opt/root-5.32.00-svn/lib/libCore.so
#51 0x00007f0728487284 in TApplication::ExecuteFile(char const*, int*, bool) () from /opt/root-5.32.00-svn/lib/libCore.so
#52 0x00007f0728485fbf in TApplication::ProcessLine(char const*, bool, int*) () from /opt/root-5.32.00-svn/lib/libCore.so
#53 0x00007f07280e77fa in TRint::Run(bool) () from /opt/root-5.32.00-svn/lib/libRint.so
#54 0x0000000000400f6c in main ()

The lines below might hint at the cause of the crash.
If they do not help you then please submit a bug report at
http://root.cern.ch/bugs. Please post the ENTIRE stack trace
from above as an attachment in addition to anything else
that might help us fixing this issue.

#5 0x00007f0721ce8a1e in TTreeTableInterface::SetSelection(char const*) () from /opt/root-5.32.00-svn/lib/libTreePlayer.so

[/code]