Re: gh2root problem

Rene Brun (Rene.Brun@cern.ch)
Fri, 08 May 1998 20:26:15 +0200


Piergiorgio,
What you do is correct.
Simply remove the reference to main.o in the makefile.
When gh2root generates the makefile, it assumes that people
may want to implement their own main program.
If it is not the case, remove the reference to main.

Rene Brun

Piergiorgio Cerello wrote:
>
> Dear rooters,
>
> I'm trying to use gh2root in order to convert the geometry file or our
> detector, generated with GEANT, into a ROOT file.
>
> I'm running under Alpha, v. 4.0.
> If I try to invoke gh2root directly, I get the following output:
>
> Opening FZ file:fida_geo.dat with LRECL= 1024
> reading fz file, lun= 3
>
> FZIDIA. LUN= 3 BAD CONSTRUCTION
> IQUEST(1/2/3)= -4 0 1
> IQUEST(11-) = -4 201 0
> i= 0 quest(1)=-4 nuhead=100 head1= 0 head2= 0 head3=
> i= 0 quest(1)= 5 nuhead=100 head1= 0 head2= 0 head3=
> file:fndRun.h has been generated
> file:fndMaker.cxx has been generated
> jset= 0
> GEANT file: fida_geo.dat converted to ROOT classes: fndxxx
>
> Therefore, I tried to generate the C++ code by calling the subroutine
> CONVERT
> directly from the MonteCarlo, and it worked: I got the C++ code, and the
> following output from the MonteCarlo:
>
> Creating view banks... please wait!
>
> Created full apparatus view banks... be patient!
>
> Created detectors view banks... be patient!
>
> Created interaction/target view banks!
>
> View banks succesfully created!
>
> Writing data structures to file... please wait!
> *** GFOUT *** Data structure DRAW version 1 successfully written
> out
> *** GFOUT *** Data structure MATE version 1 successfully written
> out
> *** GFOUT *** Data structure PART version 1 successfully written
> out
> *** GFOUT *** Data structure ROTM version 1 successfully written
> out
> *** GFOUT *** Data structure RUNG version 1 successfully written
> out
> *** GFOUT *** Data structure SETS version 1 successfully written
> out
> *** GFOUT *** Data structure TMED version 1 successfully written
> out
> *** GFOUT *** Data structure VOLU version 1 successfully written
> out
> *** GFOUT *** Data structure SCAN not found
> Convert GEANT geometry to ROOT
> beginning GEANT to ROOT conversion
> file:FndRun.h has been generated file:FndMaker.cxx has been generated
> jset= 4890430 found nsets= 4
> nv= 1 nh= 7 nd= 0 nv= 1 nh=
> 7 nd= 0
> file: FndTOFS.h and cxx have been generated nv= 1 nh=
> 12 nd= 3
> **FOUND 2 same dets file: FndMSTR.h and cxx have been
> generated
> nv= 1 nh= 12 nd= 6 **FOUND 2
> same dets
> file: FndDCHA.h and cxx have been generated nv= 1 nh=
> 12 nd= 1
> **FOUND 6 same dets file: FndSTRW.h and cxx have been
> generated
> file:FndRun.cxx has been generated file:FndMaker.h has been generated
> files: GParticle.h and cxx have been generated file: LinkDef.h has been
> generated
> macro: run.C has been generated macro: fake.C has been generated
> macro: browse.C has been generated macro: analyze.C has been generated
> file: Makefile.aix has been generated
> file: Makefile.alpha has been generated
> file: Makefile.hpux has been generated
> file: Makefile.hpuxacc has been generated
> file: Makefile.linux has been generated
> file: Makefile.sgi has been generated
> file: Makefile.solaris has been generated
> file: Makefile.win has been generated
> file: Make-depend has been generated
> file: Make-macros has been generated
>
> Then, if I try to generate the shared library, I get the following
> messages:
>
> - gmake depend
>
> makedepend -fMake-depend -- -I/users/cerello/fnd/root/include
> -I/usr/include -- FndRun.cxx FndMaker.cxx GParticle.cxx FndTOFS.cxx
> FndMSTR.cxx FndDCHA.cxx FndSTRW.cxx \
> main.cxx
> makedepend: warning: cannot open "main.cxx"
>
> - gmake
>
> gcc -O -I/users/cerello/fnd/root/include -I/usr/include -c FndRun.cxx
> gcc -O -I/users/cerello/fnd/root/include -I/usr/include -c FndMaker.cxx
> gcc -O -I/users/cerello/fnd/root/include -I/usr/include -c GParticle.cxx
> gcc -O -I/users/cerello/fnd/root/include -I/usr/include -c FndTOFS.cxx
> gcc -O -I/users/cerello/fnd/root/include -I/usr/include -c FndMSTR.cxx
> gcc -O -I/users/cerello/fnd/root/include -I/usr/include -c FndDCHA.cxx
> gcc -O -I/users/cerello/fnd/root/include -I/usr/include -c FndSTRW.cxx
> gcc -I/users/cerello/fnd/root/include -I/usr/include -c ghCint.cxx
> rm -f libghlib.so
> ld -L/usr/lib/cmplrs/cxx -rpath /usr/lib/cmplrs/cxx -expect_unresolved -g0
> -O1 -shared /usr/lib/cmplrs/cc/crt0.o /usr/lib/cmplrs/cxx/_main.o -o
> libghlib.so FndRun.o FndMaker.o GParticle.o FndTOFS.o FndMSTR.o FndDCHA.o
> FndSTRW.o ghCint.o -lcxxstd -lcxx -lexc -lots -lc
> ld:
> Can't open: /usr/lib/cmplrs/cxx/_main.o (No such file or directory)
> gmake: *** [libghlib.so] Error 1
>
> Could anybody help me to understand what's wrong?
>
> Thanks in advance,
>
> Piergiorgio