dictionary generation fails after ROOT v4.04 -> v5.12

From: Dr. John Krane <jkrane_at_netzero.com>
Date: Thu, 14 Dec 2006 09:04:19 -0600


Hi everyone,

If there has been any response to this, could you please re-send it to me directly? I have suffered a terrible email accident... I have no ability to view roottalk messages prior to now.

Original message below.

Hi,

I decided to update my version of root from 4.04.02g to 5.12.00f. Afterward, I tried to recompile some of my personal libraries and I get failure for my classes that use dictionary files. For instance, my Tree-writable date class fails with:

[jkrane_at_cpc-tmt8a treeobj]$ make
g++ -g3 -Wall -fPIC
-I/data/z_packages_and_software/rpm_by_hand/root/current/root/include
-pthread
-I/data/z_packages_and_software/rpm_by_hand/root/current/root/include -c
ObjDate.cpp
Generating dictionary ObjDateCint.cpp... g++ -g3 -Wall -fPIC
-I/data/z_packages_and_software/rpm_by_hand/root/current/root/include
-pthread
-I/data/z_packages_and_software/rpm_by_hand/root/current/root/include -c
ObjDateCint.cpp
ObjDateCint.cpp: In function `ROOT::TGenericClassInfo* ROOT::GenerateInitInstance(const ObjDate*)': ObjDateCint.cpp:53: error: no matching function for call to `ROOT::TGenericClassInfo::TGenericClassInfo(const char[8], Version_t, const char[10], int, const std::type_info&, const ROOT::TInitBehavior*, void (*)(), TClass*(*)(const void*), int, unsigned int)' /data/z_packages_and_software/rpm_by_hand/root/current/root/include/TGenericClassInfo.h:110:

note: candidates are: ROOT::TGenericClassInfo::TGenericClassInfo() /data/z_packages_and_software/rpm_by_hand/root/current/root/include/TGenericClassInfo.h:106:

note:                 ROOT::TGenericClassInfo::TGenericClassInfo(const
ROOT::TGenericClassInfo&)
/data/z_packages_and_software/rpm_by_hand/root/current/root/include/TGenericClassInfo.h:68:
note:                 ROOT::TGenericClassInfo::TGenericClassInfo(const
char*, Int_t, const char*, Int_t, const ROOT::TInitBehavior*, void (*)(), Int_t)
/data/z_packages_and_software/rpm_by_hand/root/current/root/include/TGenericClassInfo.h:63:
note:                 ROOT::TGenericClassInfo::TGenericClassInfo(const
char*, Int_t, const char*, Int_t, const std::type_info&, const ROOT::TInitBehavior*, void (*)(), TVirtualIsAProxy*, Int_t, Int_t) /data/z_packages_and_software/rpm_by_hand/root/current/root/include/TGenericClassInfo.h:57:
note:                 ROOT::TGenericClassInfo::TGenericClassInfo(const
char*, Int_t, const char*, Int_t, const std::type_info&, const ROOT::TInitBehavior*, void*, void (*)(), TVirtualIsAProxy*, Int_t, Int_t) /data/z_packages_and_software/rpm_by_hand/root/current/root/include/TGenericClassInfo.h:51:
note:                 ROOT::TGenericClassInfo::TGenericClassInfo(const
char*, const char*, Int_t, const std::type_info&, const ROOT::TInitBehavior*, void*, void (*)(), TVirtualIsAProxy*, Int_t, Int_t) ObjDateCint.cpp:55: error: invalid conversion from `void*(*)(Long_t)' to `void*(*)(Long_t, void*)'
ObjDateCint.cpp:55: error: initializing argument 1 of `void ROOT::TGenericClassInfo::SetNewArray(void*(*)(Long_t, void*))' make: *** [ObjDateCint.o] Error 1
[jkrane_at_cpc-tmt8a treeobj]$

Now, this failure did not occur under the old version of root. Has TGenericClassInfo changed between the two versions of root? If so, I don't understand how I could be getting the old version...but I see a symptom that indicates that I have an incomplete install. Please see the following screenshot of me launching ROOT. The "splash screen" still says v4.04 in the corner!

screenshot:
http://jkrane.home.comcast.net/temp_root_screenshot_emphasis.JPG

Any ideas on how I can make a more-complete install? I'm stumped. I did not specifiy a target directory for either install. My config.status for each installation looks like:

root_v4.04.02g
--with-mysql-incdir=/usr/include/mysql
--with-mysql-libdir=/usr/lib/mysql --enable-mysql

root_v5.12.00f
--with-mysql-incdir=/usr/include/mysql
--with-mysql-libdir=/usr/lib/mysql --enable-mysql --enable-odbc
--enable-minuit2 --enable-mathcore --enable-mathmore --enable-roofit

Received on Thu Dec 14 2006 - 16:04:59 MET

This archive was generated by hypermail 2.2.0 : Mon Jan 01 2007 - 16:32:02 MET