Message: Re: A01 linking problem Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question Re: A01 linking problem 

Forum: Installation and Configuration
Re: None A01 linking problem (Jingjie Zhou)
Re: None Re: A01 linking problem (Joseph Perl)
Date: 01 Aug, 2010
From: Jingjie Zhou <Jingjie Zhou>

Thanks Joseph. I followed your suggestion and tried to build Geant4 again.

My system is Ubuntu 10.04 on a virtual machine by VirtualBox.

gcc version 4.4.3 and CLHEP 2.1.0.0 have been installed.

I removed my old GEANT4 installation and unset all environment variables.

Now geant4.9.3.p01.tar.gz is unpacked into ~/GEANT4/geant4.9.3.p01

All the data files are unpacked into ~/GEANT4/geant4.9.3.p01/data

Then I did a fresh ./Configure -build

The build procedure is pasted as below:

~~~~~~~~~GEANT4 Build Procedure~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

jzhou@jzhou-laptop:~/GEANT4/geant4.9.3.p01$ ./Configure -build

                --- Geant4 Toolkit Build  ---

Would you like to see the instructions? [n]

Definition of G4SYSTEM variable is Linux-g++. That stands for:

1) OS : Linux

2) Compiler : g++

To modify default settings, select number above (e.g. 2)

[Press [Enter] for default settings]

There exists a config.sh file. Shall I use it to set the defaults? [y]

Fetching default answers from your old config.sh file...

I can set things up so that your shell scripts and binaries are more portable, at what may be a noticable cost in performance. In particular, if you ask to be portable, the following happens:

     1) Shell scripts will rely on the PATH variable rather than using
	the paths derived above.

     2) ~username interpretations will be done at run time rather than
	by Configure.

Do you expect to run these scripts and binaries on multiple machines? [n]

*OPTIONS FOR GEANT4 INSTALLATION PATHS*

What is the path to the Geant4 source tree?

[/home/jzhou/GEANT4/geant4.9.3.p01]

Where should Geant4 be installed? [/home/jzhou/GEANT4/geant4.9.3.p01]

Do you want to install all Geant4 headers in one directory? [n]

*GEANT4 LIBRARY BUILD OPTIONS*

Do you want to build shared libraries? [y]

Do you want to build static libraries too? [n]

Do you want to build global libraries? [y]

Do you want to build granular libraries as well? [n]

Do you want to build libraries with debugging information? [n]

*CHECKS AND OPTIONS FOR GEANT4 PHYSICS DATA FILES*

Specify the path where the Geant4 data libraries are installed:

[/home/jzhou/GEANT4/geant4.9.3.p01/data]

checking for PhotonEvaporation2.0... yes

checking for RadioactiveDecay3.2... yes

checking for G4EMLOW6.9... yes

checking for G4NDL3.13... yes

checking for G4ABLA3.0... yes

checking for RealSurface1.0... yes

*CHECKS FOR CORRECT MAKE IMPLEMENTATION*

Checking for make... /usr/bin/make

Checking for gmake... no

Checking if make is GNU make... yes

*CHECKS FOR REQUIRED EXTERNAL PACKAGE CLHEP*

checking for a CLHEP installation... /home/jzhou/CLHEP

Is this the CLHEP installation you want to use? [/home/jzhou/CLHEP]

You can customize paths and library name of you CLHEP installation:

1) CLHEP_INCLUDE_DIR: /home/jzhou/CLHEP/include

2) CLHEP_LIB_DIR: /home/jzhou/CLHEP/lib

3) CLHEP_LIB: CLHEP

To modify default settings, select number above (e.g. 2)

[Press [Enter] for default settings]

*OPTIONS FOR GEANT4 USER INTERFACE MODULES*

Enable building of User Interface (UI) modules? [y]

Enable building of the XAW (X11 Athena Widget set) UI module? [n]

Enable building of the X11-Motif (Xm) UI module? [n]

Enable building of the Qt UI module? [n]

*OPTIONS FOR GEANT4 VISUALIZATION DRIVERS*

Enable building of visualization drivers? [y]

Enable building of the X11 OpenGL visualization driver? [y]

Enable building of the X11-Motif OpenGL visualization driver? [n]

Enable building of the FukuiRenderer/DAWN visualization driver? [n]

Enable building of the X11 OpenInventor visualization driver? [n]

Enable building of the X11 RayTracer visualization driver? [y]

Enable building of the VRML visualization driver? [n]

You have selected to build one or more drivers that require OpenGL.

Specify the correct path (OGLHOME) where OpenGL is installed on your system.

It was found in /usr. Press [Enter] to set this path or type the correct one.

You can set '-' (without quotation) to CANCEL the OpenGL flag at all:

[/usr]

*OPTIONS FOR GEANT4 OPTIONAL EXTENSION MODULES*

Enable the Geometry Description Markup Language (GDML) module? [n]

Enable build of the g3tog4 utility module? [n]

Enable internal zlib compression for HepRep visualization? [n]

End of configuration phase.

Creating configuration setup file...

WARNING: the generated configuration file can be edited if necessary!

You can introduce any change to the configuration file

/home/jzhou/GEANT4/geant4.9.3.p01/.config/bin/Linux-g++/config.sh before the final installation.

To do so, use a shell escape now (e.g. !vi /home/jzhou/GEANT4/geant4.9.3.p01/.config/bin/Linux-g++/config.sh).

Press [Enter] to start installation or use a shell escape to edit config.sh:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Then I got an error :

src/G4PhotoElectricAngularGeneratorSauterGavrila.cc: In member function ‘virtual G4ThreeVector G4PhotoElectricAngularGeneratorSauterGavrila::GetPhotoElectronDirection(const G4ThreeVector&, G4double, const G4ThreeVector&, G4int) const’:

src/G4PhotoElectricAngularGeneratorSauterGavrila.cc:82: error: conversion from ‘G4double’ to non-scalar type ‘G4ThreeVector’ requested

I got the same error when I built GEANT4 for the first time. If I changed G4PhotoElectricAngularGeneratorSauterGavrila.cc line 82 from:

G4ThreeVector G4PhotoElectricAngularGeneratorSauterGavrila::GetPhotoElectronDirection(const G4ThreeVector& direction, const G4double eKineticEnergy, const G4ThreeVector&, const G4int) const {

  // Compute Theta distribution of the emitted electron, with respect to the

 // incident Gamma.

  // The Sauter-Gavrila distribution for the K-shell is used. (adapted from G4PhotoElectricEffect)

  G4double costeta = 1.;

 G4double Phi     = twopi * G4UniformRand();

  G4double cosphi = std::cos(Phi);

  G4double sinphi = std::sin(Phi);

  G4double sinteta = 0;

  G4double gamma   = 1. + eKineticEnergy/electron_mass_c2;

  if (gamma > 5.) {

    G4ThreeVector direction (sinteta*cosphi, sinteta*sinphi, costeta);

    return costeta; //line 82
  }
...
}

to:

G4ThreeVector G4PhotoElectricAngularGeneratorSauterGavrila::GetPhotoElectronDirection(const G4ThreeVector& direction, const G4double eKineticEnergy, const G4ThreeVector&, const G4int) const {

  // Compute Theta distribution of the emitted electron, with respect to the

 // incident Gamma.

  // The Sauter-Gavrila distribution for the K-shell is used. (adapted from G4PhotoElectricEffect)

  G4double costeta = 1.;

 G4double Phi     = twopi * G4UniformRand();

  G4double cosphi = std::cos(Phi);

  G4double sinphi = std::sin(Phi);

  G4double sinteta = 0;

  G4double gamma   = 1. + eKineticEnergy/electron_mass_c2;

  if (gamma > 5.) {

    G4ThreeVector direction (sinteta*cosphi, sinteta*sinphi, costeta);

    return direction; //line 82
  }
...
}

Then GEANT4 could be built with no error. Then I got the A01 linking error as I mentioned before.

This time I just stopped here. I wonder how can I get rid of the error during ./Configure -build without changing the code?

Thanks.

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

1 None: Re: A01 linking problem   (Joseph Perl - 01 Aug, 2010)
(_ Ok: Re: A01 linking problem   (Jingjie Zhou - 03 Aug, 2010)
 Add Message Add Message
to: "Re: A01 linking problem"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews


[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]