Problem 809 - Link error after application of patch p01
Summary: Link error after application of patch p01
Status: RESOLVED INVALID
Alias: None
Product: Geant4
Classification: Unclassified
Component: processes/hadronic (show other problems)
Version: 7.1
Hardware: PC Linux
: P1 major
Assignee: Gabriele Cosmo
URL:
Depends on:
Blocks:
 
Reported: 2005-11-02 04:46 CET by V.R.Bom
Modified: 2005-11-07 01:58 CET (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this problem.
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.