Hi Jeremy,

yes, we do if we try to build on Ubuntu with BUILD_ROOTDICT=1
Thanks for forwarding that on.


On Apr 2, 2013, at 7:08 PM, McCormick, Jeremy I. wrote:

Hi, Yuri.
So I understand this is still a problem you’re having with your LCIO build on Ubuntu?
Running Ubuntu 12.04 LTS 64 bit, the instructions break.
            I.e. when he does make install he gets an error with the following disgnostics:
            56%] Building CXX object
            In file included from
            /home/chill/Research/lcio/trunk/src/cpp/include/UTIL/LCIterator.h: In
            constructor ‘UTIL::LCIterator<T>::LCIterator(EVENT::LCEvent*, const
            error: ‘lcio’ has not been declared
            /home/chill/Research/lcio/trunk/src/cpp/include/UTIL/LCIterator.h: In
            constructor ‘UTIL::LCIterator<T>::LCIterator(EVENT::LCCollection*)’:
            error: ‘lcio’ has not been declared
            make[2]: *** [lcio/CMakeFiles/lcioDict.dir/__/rootdict/UTIL.cxx.o] Error 1
            make[1]: *** [lcio/CMakeFiles/lcioDict.dir/all] Error 2
            make: *** [all] Error 2
            We just went together through the instructions from scratch, and the error persists.
            Did you see anything like that before?
I have CC’d Frank Gaede who maintains the LCIO C++ code.  Perhaps he has some idea about what is happening here.  To me, this seems like a simple namespace issue, because ‘lcio’ is a namespace that is referenced from that code.  So perhaps this namespace has a ‘using’ statement that is for some reason not seen on Ubuntu.  (I don’t know.  Just a guess.)
I think we should also learn the following to get a better idea of the problem:
-What version of CMake?  (Think you said 2.8.6 but wanted to double check.)
-What version of GCC/g++?
-What exact command sequence you use to reproduce this error?
All that said, I believe that for your purposes, the LCIO ROOT dictionaries are NOT needed at all.  So did you try turning this off and then building?  Does that complete okay?  (I just wanted to check if we got that far.)
In other words, you have two ways forward for analysis that should work without needing the ROOT dictionaries for LCIO:
-Use Omar’s converter code to generate and persist the native ROOT classes from LCIO files and then load the ROOT files back using a typical “pure” ROOT .C script.
-Use the LCIO C++ API from within a .C script to directly plot values from LCIO files into ROOT histograms and the like (see examples).
Does this all make sense?
Still, it would be good to solve the compilation issue, even if at the moment we don’t need ROOT dict support. 

Prof. Yuri Gershtein
(732)445-5500 x1794
W316 Serin Building
Department of Physics and Astronomy
136 Frelinghuysen Rd
Rutgers University
Piscataway, NJ 08854

Use REPLY-ALL to reply to list

To unsubscribe from the HPS-SOFTWARE list, click the following link: