Problem 809

Summary: Link error after application of patch p01
Product: Geant4 Reporter: V.R.Bom
Component: processes/hadronicAssignee: Gabriele Cosmo <Gabriele.Cosmo>
Status: RESOLVED INVALID    
Severity: major CC: Gunter.Folger
Priority: P1    
Version: 7.1   
Hardware: PC   
OS: Linux   

Description V.R.Bom 2005-11-02 04:46:21 CET
The patch modifies the calling interface for file:
geant4.7.1/source/processes/hadronic/management/src/G4HadronicProcess.cc
by ading a 'type' parameter.
This parameter is not supported by functions like:
G4HadronCaptureProcess::G4HadronCaptureProcess
which call G4HadronicProcess with only a process parameter. Uding the plists,
linking now gives errors like:

./usr/local/cern/GEANT4/lib/geant4/Linux-g++/libG4hadronic_proc.a(G4HadronCaptureProcess.o)(.text+0x1d):
In function `G4HadronCaptureProcess::G4HadronCaptureProcess(G4String const&)':
: undefined reference to `G4HadronicProcess::G4HadronicProcess(G4String const&)'
/usr/local/cern/GEANT4/lib/geant4/Linux-g++/libG4hadronic_proc.a(G4HadronCaptureProcess.o)(.text+0xdd):
In function `G4HadronCaptureProcess::G4HadronCaptureProcess(G4String const&)':
: undefined reference to `G4HadronicProcess::G4HadronicProcess(G4String const&)'
/usr/local/cern/GEANT4/lib/geant4/Linux-g++/libG4hadronic_proc.a(G4HadronElasticProcess.o)(.text+0x1d):
In function `G4HadronElasticProcess::G4HadronElasticProcess(G4String const&)':
: undefined reference to `G4HadronicProcess::G4HadronicProcess(G4String const&)'
/usr/local/cern/GEANT4/lib/geant4/Linux-g++/libG4hadronic_proc.a(G4HadronElasticProcess.o)(.text+0xdd):
In function `G4HadronElasticProcess::G4HadronElasticProcess(G4String const&)':
: undefined reference to `G4HadronicProcess::G4HadronicProcess(G4String const&)'
/usr/local/cern/GEANT4/lib/geant4/Linux-g++/libG4hadronic_proc.a(G4HadronFissionProcess.o)(.text+0x1d):
In function `G4HadronFissionProcess::G4HadronFissionProcess(G4String const&)':
: undefined reference to `G4HadronicProcess::G4HadronicProcess(G4String const&)'
/usr/local/cern/GEANT4/lib/geant4/Linux-g++/libG4hadronic_proc.a(G4HadronFissionProcess.o)(.text+0xdd):
more undefined references to`G4HadronicProcess::G4HadronicProcess(G4String
const&)' follow
Comment 1 V.R.Bom 2005-11-02 04:51:59 CET
The patch has been loaded over the existing 4.7.1 distribution.
Comment 2 V.R.Bom 2005-11-02 06:24:59 CET
The patch has been loaded over the existing 4.7.1 distribution.
When using the updated/patched total distribution the problem does not occur.
Maybe some files are missing in the patch file.
Comment 3 Gabriele Cosmo 2005-11-07 01:57:59 CET
No calling interfaces changes are introduced inside patches.
The change you're referring to is a real fix, filling the generic ID for
hadronic processes, as reported in bug report #744.
I verified that the patch applied to 7.1 works fine (using the physics lists
distributed with the Geant4 source code) and could not reproduce the linking
problem reported here.
Let me point out that you need to -recompile- the Geant4 libraries (and
physics lists) from scratch once applied the patch to the source code.