Re: signal/slot communication problems

From: Bertrand Bellenot <bertrand.bellenot_at_cern.ch>
Date: Tue, 3 Nov 2009 12:56:59 +0100


Hi Xinchun,

You have to call ROOT::Cintex::Cintex::Enable();  e.g. for me, adding this line:
gROOT->ProcessLine("ROOT::Cintex::Cintex::Enable();"); at the end of you RootEnv constructor:
RootEnv::RootEnv(int /*argc*/, char** argv) {

   [...]
   gROOT->ProcessLine("ROOT::Cintex::Cintex::Enable();"); }
Solved the problem...

Cheers, Bertrand.

Xinchun Tian wrote:
> Dear Bertrand,
>
> To simplify the debug process, you may use my installation scripts to install: cmake, gccxml, xerces-c and root and fmwk with two commands:
> shell> svn export file:///afs/fnal.gov/files/home/room3/tianxc/repos/svn/nova/installation/trunk/novainst/novainst
> shell> ./novainst trunk all
> shell> cd nova-trunk
> shell> source setup.sh
> shell> cd fmwk/EventDisplayBase/cmt
> shell> source setup.sh
> shell> test_evdb.exe
>
> The installation may take about 50 mins.
>
> Thanks,
> Xinchun
>
> ----- Original Message -----
> From: Xinchun Tian <tianxc_at_fnal.gov>
> Date: Monday, November 2, 2009 12:35 pm
> Subject: Re: [ROOT] signal/slot communication problems
> To: Axel Naumann <Axel.Naumann_at_cern.ch>
> Cc: Xinchun Tian <tianxc_at_fnal.gov>,Bertrand Bellenot <Bertrand.Bellenot_at_cern.ch>,roottalk_at_root.cern.ch
>
>
>> Dear Alex,
>>
>> >On Tue, Nov 3, 2009 at 1:20 AM, Axel Naumann <Axel.Naumann_at_cern.ch> wrote:
>>
>> > another "before we look at your example"-question is: do you build
>> a dictionary for the slot class? And if so, is > that a genreflex
>> dictionary or a rootcint one? That would help us understand where the
>> issue could come from.
>>
>> I used genreflex to generate the dictionary, and I should have built
>> the dictionary for the slot class.
>> The following is part of requirements file which will generate the dictionary:
>>
>> apply_pattern install_more_includes more="EventDisplayBase"
>> apply_pattern linker_library library=EventDisplayBase
>> apply_pattern ld_library_path
>>
>> apply_pattern reflex_dictionary dictionary=EventDisplayBase \
>>
>> selectionfile=${EventDisplayBase_root}/dict/dict.xml \
>> headerfiles=${EventDisplayBase_root}/dict/dict.h
>> macro EventDisplayBaseDict_use_linkopts $(use_linkopts)
>>
>> You can untar the tarball to check the
>> fmwk/EventDisplayBase/dict/dict.{h,xml} for the dictionary classes.
>>
>> Thanks,
>> Xinchun
>>
>> Cheers, Axel.
>>
>> Bertrand Bellenot wrote on 11/02/2009 06:13 PM:
>>
>> Hi,
>>
>> I don't have LCGCMT nor Xerces-C, but I'll try to take a look
>> as soon as
>> possible, and I'll let you know.
>> In the meanwhile, you can check that the slots really exist by
>> looking
>> in the code (they should be public methods)
>>
>> Cheers, Bertrand.
>> -----Original Message-----
>> From: owner-roottalk_at_root.cern.ch [mailto:owner-roottalk_at_root.cern.ch]
>> On Behalf Of Xinchun Tian
>> Sent: Monday, November 02, 2009 6:03 PM
>> To: roottalk_at_root.cern.ch
>> Cc: tianxc_at_fnal.gov
>> Subject: [ROOT] signal/slot communication problems
>>
>> Dear ROOTers,
>>
>> I am in the process of converting SRT managed FMWK project
>> (http://enrico1.physics.indiana.edu/fmwk/wiki/index.php?n=FMWK.FMWK?from
>> =Main.HomePage) to a CMT project. I used LCGCMT as the glue
>> package and
>> the policy is basically from GaudiPolicy with slightly
>> modification. The
>> conversion is almost done, but get problems on
>> EventDisplayBase package
>> which is using signal/slot communication mechanism.
>>
>> If you happen to using LCGCMT, and have ROOT/Xerces-C
>> installed, it is
>> quite straightforward to build EventDisplayBase and reproduce
>> the error.
>> The tarball is attached.
>> shell> cd fmwk/EventDisplayBase/cmt
>> shell> cmt config
>> shell> source setup.sh
>> shell> cmt br cmt config
>> shell> cmt br make
>> shell> test_evdb.exe
>> include path:
>> -I/Users/tianxc/nova/nova-trunk/../external/ROOT/5.22.00c/i386-darwin-gc
>> c40-dbg/root/include
>> include path:
>> -I/Users/tianxc/nova/nova-trunk/../external/ROOT/5.22.00c/i386-darwin-gc
>> c40-dbg/root/include
>> Error in <TQObject::CheckConnectArgs>: slot HandleMenu(int)
>> does not
>> exist Error in <TQObject::CheckConnectArgs>: slot
>> HandleMenu(int) does
>> not exist Error in <TQObject::CheckConnectArgs>: slot HandleMenu(int)
>> does not exist Error in <TQObject::CheckConnectArgs>: slot
>> EditConfig(int) does not exist Error in <TQObject::CheckConnectArgs>:
>> slot HandleMenu(int) does not exist Error in
>> <TQObject::CheckConnectArgs>: slot HandleMenu(int) does not
>> exist Error
>> in <TQObject::CheckConnectArgs>: slot PrevEvt() does not exist
>> Error in
>> <TQObject::CheckConnectArgs>: slot NextEvt() does not exist
>> Error in
>> <TQObject::CheckConnectArgs>: slot ReloadEvt() does not exist
>> Error in
>> <TQObject::CheckConnectArgs>: slot FileList() does not exist
>> Error in
>> <TQObject::CheckConnectArgs>: slot Print() does not exist
>> Error in
>> <TQObject::CheckConnectArgs>: slot GoTo() does not exist Error
>> in
>> <TQObject::CheckConnectArgs>: slot GoTo() does not exist Error
>> in
>> <TQObject::CheckConnectArgs>: slot GoTo() does not exist Error
>> in
>> <TQObject::CheckConnectArgs>: for signal/slot consistency
>> checking need
>> to specify class name as argument to RQ_OBJECT macro Error in
>> <TQObject::CheckConnectArgs>: for signal/slot consistency
>> checking need
>> to specify class name as argument to RQ_OBJECT macro Error in
>> <TQObject::CheckConnectArgs>: slot CloseWindow() does not exist
>> test_evdb.exe [0]
>>
>> The SRT version of EventDisplayBase works well. The ROOT
>> version is
>> 5.22.00c, the systems are Mac OS 10.5.8 and Sci. Linux Fermi 4.4.
>>
>> Any help? Thanks in advance.
>>
>> Regards,
>> Xinchun
>>
Received on Tue Nov 03 2009 - 12:57:03 CET

This archive was generated by hypermail 2.2.0 : Tue Nov 03 2009 - 23:50:02 CET