| Summary: | enum G4ApplicationState makes conflict with other libraries | ||
|---|---|---|---|
| Product: | Geant4 | Reporter: | Mario.Schubert |
| Component: | intercoms | Assignee: | Makoto.Asai |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | Mario.Schubert |
| Priority: | P2 | ||
| Version: | 4.1 | ||
| Hardware: | Other | ||
| OS: | Linux | ||
Thank you for reporting this problem. Change of the enumeration name is to be scheduled. Problem is understood and fix is found. But fix must be done for huge number of classes over all distribution code and thus fix should be applied at the dedicated public release phase in December. All modifications are committed to Geant4 5.0 release. |
Hello, I am trying to combine GEANT4.4.1 with mpich++, but the following problem arises: /scratch/rbs/schubert/local/include/mpi2c++/functions_inln.h: In function `void PMPI::Init ()': /scratch/rbs/schubert/local/include/mpi2c++/functions_inln.h:113: `void PMPI::Init ()' redeclared as different kind of symbol /scratch/rbs/schubert/install/geant4.4.1/source/global/management/include/G4ApplicationState.hh:83: previous declaration of `G4ApplicationState Init' This is because C++ does not allow the following declaration: typedef enum {test} t_test; void test(int n) {} Even with namespaces or test inside a class this fails. Therefore my suggestion is to rename G4ApplicationState entries to: enum G4ApplicationState {G4_PreInit, G4_Init, G4_Idle, G4_GeomClosed, G4_EventProc, G4_Quit, G4_Abort}; Ciao, Mario Schubert --------------------------------------------- Beschleunigerlabor der LMU und TU München Dipl. Phys. Mario Schubert EMail: mario.schubert@physik.uni-muenchen.de Phone: (+49 89)289 14283 FAX: (+49 89)289 14280 Am Coulombwall 6, D-85748 Garching, Germany