RE: [ROOT] ACLIC desperation

From: Radovan Chytracek (Radovan.Chytracek@cern.ch)
Date: Thu Oct 04 2001 - 15:18:39 MEST


Hi,

  it's obvious. You don't include the required headers for
Track and Lastra classes. Since ACLIC uses g++ to build the
shared library it must be known where to find the class definitions.

Hope this helps

Radovan

 --

  Radovan Chytracek                  CERN Division IT/API, Geant4
  e-mail: Radovan.Chytracek@cern.ch  WWW: http://cern.ch/chytrace
  phone:  +41 22 76 78871


> -----Original Message-----
> From: owner-roottalk@pcroot.cern.ch
> [mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of Tommaso Chiarusi
> Sent: Thursday, 04 October 2001 15:07
> To: Root Newsgroup
> Subject: [ROOT] ACLIC desperation
>
>
> Hi Rene,
>
> hello to the Rooters,
>
> In the attachment there is the macro "desperation.C".
>
> IF I USE CINT IT WORKS,  and I get:
>
> root [1] .x desperation.C
> Track Crarge:  15.2289
> --------------------------------------
>
> but using ACLIC I get:
>
> root [2] .x desperation.C++
> script has already been loaded in interpreted mode
> Unloading /disk2/chiarusi/zonalavoro_root/./desperation.C and compiling it
> Creating shared library /disk2/chiarusi/zonalavoro_root/./desperation_C.so
> /disk2/chiarusi/zonalavoro_root/desperation.C: In function `void
> desperation()':
> In file included from /disk2/chiarusi/zonalavoro_root/fileyFxee1.h:28,
>                  from /disk2/chiarusi/zonalavoro_root/./fileyFxee1.C:5:
> /disk2/chiarusi/zonalavoro_root/desperation.C:25: `Track'
> undeclared (first use this function)
> /disk2/chiarusi/zonalavoro_root/desperation.C:25: (Each
> undeclared identifier is reported only once
> /disk2/chiarusi/zonalavoro_root/desperation.C:25: for each
> function it appears in.)
> /disk2/chiarusi/zonalavoro_root/desperation.C:25: parse error before `('
> /disk2/chiarusi/zonalavoro_root/desperation.C:26: `Lastra' undeclared
> (first use this function)
> /disk2/chiarusi/zonalavoro_root/desperation.C:26: `cr' undeclared
> (first use this function)
> /disk2/chiarusi/zonalavoro_root/desperation.C:27: confused by
> earlier errors, bailing out
> cpp: output pipe has been closed
> g++: /disk2/chiarusi/zonalavoro_root/./fileyFxee1.o: No such file
> or directory
> Error: No symbol desperation() in current scope  FILE: LINE:0
> Possible candidates are...
> filename       line:size busy function type and name
> *** Interpreter error recovered ***
>
>
>
> Well... I tried every thing I had in mind:
> including more include files (but I'm not sure some other include_file
> to be lacking!!!!!!);
>
> commenting the gSystem->Load calls and
> loading by hands
> (with
> .L mylib/libLastra.so
> 	and
> .L mylib/libTrack.so)
> and then ACLICing (even I don't think it is the  correct philosophie)
> ...
>
> All this garbage only due to those "holy" compiled libraries
> libLastra.so and libTrack.so!
>
> I need'em  to create TTree full of their objects...
>
> Please... answer my doubts, but take it easy...
> I realize I've already  abused of your attention!
> Sorry.
>
> Best regards.
> Tommaso
>
> On Thu, 4 Oct 2001, Rene Brun wrote:
>
> > Hi Tomasso,
> >
> > In your C++ file, remove teh statement:
> >   #if !defined(__CINT__) || defined (__MAKECINT__)
> >
> >
> > Rene Brun
> >
> > Tommaso Chiarusi wrote:
> > >
> > > Hi,
> > > well,
> > > I changed macro, so to be sure I use the same classes (Lastra
> > > and Track, together with TTree, TFile, TEllipse) but in a
> > > different (perhaps less complex) contest.
> > > My new macro is called:
> > >
> > > faitree_obj_dev.C
> > >
> > > this is the commands I gave:
> > >
> > > root [0] .L mylib/libLastra.so
> > > root [1] .L mylib/libTrack.so
> > > root [2] .L faitree_obj_dev.C++
> > >
> > > this has been issued:
> > > Creating shared library
> > > /disk2/chiarusi/zonalavoro_root/./faitree_obj_dev_C.so
> > > /disk2/chiarusi/zonalavoro_root/faitree_obj_dev.C: In function `void
> > > azione(class ifstream *, class Lastra *, double, double,
> const char *)':
> > > In file included from /disk2/chiarusi/zonalavoro_root/fileWsQETs.h:28,
> > >                  from
> /disk2/chiarusi/zonalavoro_root/./fileWsQETs.C:5:
> > > /disk2/chiarusi/zonalavoro_root/faitree_obj_dev.C:58: `Track'
> undeclared  (first use this function)
> > >
> ^^^^^^^^^^^^^^^^^^^^
> > > /disk2/chiarusi/zonalavoro_root/faitree_obj_dev.C:58: (Each
> undeclared identifier is reported only once
> > > /disk2/chiarusi/zonalavoro_root/faitree_obj_dev.C:58: for
> each function it appears in.)
> > > /disk2/chiarusi/zonalavoro_root/faitree_obj_dev.C:58: `trr'
> undeclared (first use this function)
> > > /disk2/chiarusi/zonalavoro_root/faitree_obj_dev.C:58: parse
> error before `('
> > > /disk2/chiarusi/zonalavoro_root/faitree_obj_dev.C:59:
> confused by earlier errors, bailing out
> > > cpp: output pipe has been closed
> > > g++: /disk2/chiarusi/zonalavoro_root/./fileWsQETs.o: No such
> file or directory
> > >
> > > Note that the TTree, TFile and TEllipse classes have been
> include in the
> > > code via the following:
> > >
> > > #if !defined(__CINT__) || defined (__MAKECINT__)
> > > #include "TTree.h"
> > > #include "TFile.h"
> > > #include "TEllipse.h"
> > > #include "TLine.h"
> > > #endif
> > >
> > > I thank you all
> > > Regards,
> > > Tommaso
> >
>



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:02 MET