Skip to content

Commit

Permalink
Fix increased memory footprint of Vector3
Browse files Browse the repository at this point in the history
  • Loading branch information
TobiasWinchen committed Jan 15, 2020
1 parent 4248398 commit 12e581d
Showing 1 changed file with 9 additions and 21 deletions.
30 changes: 9 additions & 21 deletions include/crpropa/Vector3.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,15 @@ namespace crpropa {
template<typename T>
class Vector3 {
public:
// While data is stored in this array, it is also accessible via x,y,z variables
// x,y,z cannot be used in constructors or assignment operators to avoid
// uninitialized rvalue assignment!
T data[3];

T& x = data[0];
T& y = data[1];
T& z = data[2];
union {
struct
{
T x;
T y;
T z;
};
T data[3];
};

Vector3() : data{0., 0., 0.} {
}
Expand All @@ -52,19 +53,6 @@ class Vector3 {
data[2] = v.z;
}

//Vector3(Vector3 &&v) noexcept {
// data[0] = v.data[0];
// data[1] = v.data[1];
// data[2] = v.data[2];
//}

//template<typename U>
//Vector3(Vector3<U> &&v) noexcept {
// data[0] = v.data[0];
// data[1] = v.data[1];
// data[2] = v.data[2];
//}

~Vector3()
{
}
Expand Down

9 comments on commit 12e581d

@SergueiVorobiov
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Tobias,

I'd like to signal you an error below related to your recent modification of Vector3.h.
Could you please resolve the issue? Many thanks!

Best regards,
Serguei

$ make
[ 3%] Built target healpix_base
[ 11%] Built target HepPID
[ 14%] Built target kiss
[ 15%] Built target sophia
[ 32%] Built target dint
[ 36%] Built target eleca
[ 84%] Built target crpropa
[ 85%] Generating crpropa_wrap.cxx
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Vector3.h:39: Warning 312: Nested union not currently supported (ignored).
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Vector3.h:41: Error: Syntax error in input(3).
make[2]: *** [crpropa_wrap.cxx] Error 1
make[1]: *** [CMakeFiles/crpropa-swig.dir/all] Error 2
make: *** [all] Error 2

@TobiasWinchen
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, could you please file an issue reporting also the deatails of your setup (Operating system, compiler version, swig version and python version) you are using? Thanks.

@SergueiVorobiov
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Tobias,
these are the details you've asked for:
$ uname -a
Linux cca009 3.10.0-1062.9.1.el7.x86_64 #1 SMP Fri Dec 6 15:49:49 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
$ g++ --version
g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)
Copyright (C) 2015 Free Software Foundation, Inc.
$ swig -version
SWIG Version 2.0.10
Compiled with g++ [x86_64-redhat-linux-gnu]
Configured options: +pcre
$ python
Python 2.7.5 (default, Aug 7 2019, 00:51:29)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux2
Thanks,
Serguei

@TobiasWinchen
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi - please try updating the swig version. I guess that at least swig3 is needed now. Swig 2 was released in 2013, swig3 in 2014.

@SergueiVorobiov
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Tobias, I'll try to update swig. However, only recently, on December 9, 2019, I've cloned the CRPropa3 from repository
and compiled it successfully with the same swig 2 version. Also, all the tests passed well, please see the output below.

[vorobiov@cca004 build]$ make
Scanning dependencies of target eleca
[ 1%] Building CXX object libs/EleCa/CMakeFiles/eleca.dir/src/Common.cpp.o
[ 2%] Building CXX object libs/EleCa/CMakeFiles/eleca.dir/src/EnergyLoss.cpp.o
[ 2%] Building CXX object libs/EleCa/CMakeFiles/eleca.dir/src/Particle.cpp.o
[ 3%] Building CXX object libs/EleCa/CMakeFiles/eleca.dir/src/Process.cpp.o
[ 4%] Building CXX object libs/EleCa/CMakeFiles/eleca.dir/src/Propagation.cpp.o
Linking CXX static library libeleca.a
[ 4%] Built target eleca
Scanning dependencies of target healpix_base
[ 5%] Building CXX object libs/healpix_base/CMakeFiles/healpix_base.dir/error_handling.cc.o
[ 6%] Building CXX object libs/healpix_base/CMakeFiles/healpix_base.dir/geom_utils.cc.o
[ 7%] Building CXX object libs/healpix_base/CMakeFiles/healpix_base.dir/healpix_base.cc.o
[ 7%] Building CXX object libs/healpix_base/CMakeFiles/healpix_base.dir/healpix_tables.cc.o
[ 8%] Building CXX object libs/healpix_base/CMakeFiles/healpix_base.dir/pointing.cc.o
Linking CXX static library libhealpix_base.a
[ 8%] Built target healpix_base
Scanning dependencies of target HepPID
[ 8%] Building CXX object libs/HepPID/CMakeFiles/HepPID.dir/src/ParticleIDMethods.cc.o
[ 9%] Building CXX object libs/HepPID/CMakeFiles/HepPID.dir/src/ParticleName.cc.o
[ 10%] Building CXX object libs/HepPID/CMakeFiles/HepPID.dir/src/Version.cc.o
[ 10%] Building CXX object libs/HepPID/CMakeFiles/HepPID.dir/src/translateEvtGen.cc.o
[ 11%] Building CXX object libs/HepPID/CMakeFiles/HepPID.dir/src/translateGeanttoPDT.cc.o
[ 12%] Building CXX object libs/HepPID/CMakeFiles/HepPID.dir/src/translateHerwig.cc.o
[ 13%] Building CXX object libs/HepPID/CMakeFiles/HepPID.dir/src/translateIsajet.cc.o
[ 13%] Building CXX object libs/HepPID/CMakeFiles/HepPID.dir/src/translatePDG.cc.o
[ 14%] Building CXX object libs/HepPID/CMakeFiles/HepPID.dir/src/translatePDTtoGeant.cc.o
[ 15%] Building CXX object libs/HepPID/CMakeFiles/HepPID.dir/src/translatePythia.cc.o
[ 16%] Building CXX object libs/HepPID/CMakeFiles/HepPID.dir/src/translateQQ.cc.o
Linking CXX static library libHepPID.a
[ 16%] Built target HepPID
Scanning dependencies of target kiss
[ 17%] Building CXX object libs/kiss/CMakeFiles/kiss.dir/src/logger.cpp.o
[ 18%] Building CXX object libs/kiss/CMakeFiles/kiss.dir/src/path.cpp.o
[ 18%] Building CXX object libs/kiss/CMakeFiles/kiss.dir/src/string.cpp.o
[ 19%] Building CXX object libs/kiss/CMakeFiles/kiss.dir/src/uuid.cpp.o
Linking CXX static library libkiss.a
[ 19%] Built target kiss
Scanning dependencies of target dint
[ 19%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/advance.cpp.o
[ 20%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/background.cpp.o
[ 21%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/binfread.cpp.o
[ 22%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/check.cpp.o
[ 22%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/cvector.cpp.o
[ 23%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/decay.cpp.o
[ 24%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/deriv.cpp.o
[ 24%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/error.cpp.o
[ 25%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/final.cpp.o
[ 26%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/fold.cpp.o
[ 27%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/frag.cpp.o
[ 27%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/gauleg.cpp.o
[ 28%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/inject.cpp.o
[ 29%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/io_util.cpp.o
[ 30%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/load.cpp.o
[ 30%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/math_util.cpp.o
[ 31%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/prepare.cpp.o
[ 32%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/prop_second.cpp.o
[ 33%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/rate.cpp.o
[ 33%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/spectrum.cpp.o
[ 34%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/sync.cpp.o
[ 35%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/vector.cpp.o
[ 36%] Building CXX object libs/dint/CMakeFiles/dint.dir/src/DintEMCascade.cpp.o
Linking CXX static library libdint.a
[ 36%] Built target dint
Scanning dependencies of target sophia
[ 37%] Building Fortran object libs/sophia/CMakeFiles/sophia.dir/sophia_interface.f.o
Linking Fortran static library libsophia.a
[ 37%] Built target sophia
Scanning dependencies of target crpropa
[ 37%] Building CXX object CMakeFiles/crpropa.dir/src/base64.cpp.o
[ 38%] Building CXX object CMakeFiles/crpropa.dir/src/Candidate.cpp.o
[ 39%] Building CXX object CMakeFiles/crpropa.dir/src/Clock.cpp.o
[ 40%] Building CXX object CMakeFiles/crpropa.dir/src/Common.cpp.o
[ 40%] Building CXX object CMakeFiles/crpropa.dir/src/Cosmology.cpp.o
[ 41%] Building CXX object CMakeFiles/crpropa.dir/src/EmissionMap.cpp.o
[ 42%] Building CXX object CMakeFiles/crpropa.dir/src/Geometry.cpp.o
[ 42%] Building CXX object CMakeFiles/crpropa.dir/src/GridTools.cpp.o
[ 43%] Building CXX object CMakeFiles/crpropa.dir/src/GridTurbulence.cpp.o
[ 44%] Building CXX object CMakeFiles/crpropa.dir/src/Module.cpp.o
[ 45%] Building CXX object CMakeFiles/crpropa.dir/src/ModuleList.cpp.o
[ 45%] Building CXX object CMakeFiles/crpropa.dir/src/ParticleID.cpp.o
[ 46%] Building CXX object CMakeFiles/crpropa.dir/src/ParticleMass.cpp.o
[ 47%] Building CXX object CMakeFiles/crpropa.dir/src/ParticleState.cpp.o
[ 48%] Building CXX object CMakeFiles/crpropa.dir/src/PhotonBackground.cpp.o
[ 48%] Building CXX object CMakeFiles/crpropa.dir/src/PhotonPropagation.cpp.o
[ 49%] Building CXX object CMakeFiles/crpropa.dir/src/ProgressBar.cpp.o
[ 50%] Building CXX object CMakeFiles/crpropa.dir/src/Random.cpp.o
[ 51%] Building CXX object CMakeFiles/crpropa.dir/src/Source.cpp.o
[ 51%] Building CXX object CMakeFiles/crpropa.dir/src/Variant.cpp.o
[ 52%] Building CXX object CMakeFiles/crpropa.dir/src/module/Boundary.cpp.o
[ 53%] Building CXX object CMakeFiles/crpropa.dir/src/module/BreakCondition.cpp.o
[ 54%] Building CXX object CMakeFiles/crpropa.dir/src/module/DiffusionSDE.cpp.o
[ 54%] Building CXX object CMakeFiles/crpropa.dir/src/module/EMCascade.cpp.o
[ 55%] Building CXX object CMakeFiles/crpropa.dir/src/module/EMDoublePairProduction.cpp.o
[ 56%] Building CXX object CMakeFiles/crpropa.dir/src/module/EMInverseComptonScattering.cpp.o
[ 56%] Building CXX object CMakeFiles/crpropa.dir/src/module/EMPairProduction.cpp.o
[ 57%] Building CXX object CMakeFiles/crpropa.dir/src/module/EMTripletPairProduction.cpp.o
[ 58%] Building CXX object CMakeFiles/crpropa.dir/src/module/ElasticScattering.cpp.o
[ 59%] Building CXX object CMakeFiles/crpropa.dir/src/module/ElectronPairProduction.cpp.o
[ 59%] Building CXX object CMakeFiles/crpropa.dir/src/module/HDF5Output.cpp.o
[ 60%] Building CXX object CMakeFiles/crpropa.dir/src/module/NuclearDecay.cpp.o
[ 61%] Building CXX object CMakeFiles/crpropa.dir/src/module/Observer.cpp.o
[ 62%] Building CXX object CMakeFiles/crpropa.dir/src/module/Output.cpp.o
[ 62%] Building CXX object CMakeFiles/crpropa.dir/src/module/OutputShell.cpp.o
[ 63%] Building CXX object CMakeFiles/crpropa.dir/src/module/ParticleCollector.cpp.o
[ 64%] Building CXX object CMakeFiles/crpropa.dir/src/module/PhotoDisintegration.cpp.o
[ 65%] Building CXX object CMakeFiles/crpropa.dir/src/module/PhotoPionProduction.cpp.o
[ 65%] Building CXX object CMakeFiles/crpropa.dir/src/module/PhotonEleCa.cpp.o
[ 66%] Building CXX object CMakeFiles/crpropa.dir/src/module/PhotonOutput1D.cpp.o
[ 67%] Building CXX object CMakeFiles/crpropa.dir/src/module/PropagationCK.cpp.o
[ 67%] Building CXX object CMakeFiles/crpropa.dir/src/module/PropagationBP.cpp.o
[ 68%] Building CXX object CMakeFiles/crpropa.dir/src/module/Redshift.cpp.o
[ 69%] Building CXX object CMakeFiles/crpropa.dir/src/module/RestrictToRegion.cpp.o
[ 70%] Building CXX object CMakeFiles/crpropa.dir/src/module/SimplePropagation.cpp.o
[ 70%] Building CXX object CMakeFiles/crpropa.dir/src/module/SynchrotronRadiation.cpp.o
[ 71%] Building CXX object CMakeFiles/crpropa.dir/src/module/TextOutput.cpp.o
[ 72%] Building CXX object CMakeFiles/crpropa.dir/src/module/AdiabaticCooling.cpp.o
[ 73%] Building CXX object CMakeFiles/crpropa.dir/src/module/Tools.cpp.o
[ 73%] Building CXX object CMakeFiles/crpropa.dir/src/magneticField/JF12Field.cpp.o
[ 74%] Building CXX object CMakeFiles/crpropa.dir/src/magneticField/JF12FieldSolenoidal.cpp.o
[ 75%] Building CXX object CMakeFiles/crpropa.dir/src/magneticField/MagneticField.cpp.o
[ 76%] Building CXX object CMakeFiles/crpropa.dir/src/magneticField/MagneticFieldGrid.cpp.o
[ 76%] Building CXX object CMakeFiles/crpropa.dir/src/magneticField/PT11Field.cpp.o
[ 77%] Building CXX object CMakeFiles/crpropa.dir/src/magneticField/ArchimedeanSpiralField.cpp.o
[ 78%] Building CXX object CMakeFiles/crpropa.dir/src/advectionField/AdvectionField.cpp.o
[ 79%] Building CXX object CMakeFiles/crpropa.dir/src/massDistribution/Nakanishi.cpp.o
[ 79%] Building CXX object CMakeFiles/crpropa.dir/src/massDistribution/Massdistribution.cpp.o
[ 80%] Building CXX object CMakeFiles/crpropa.dir/src/massDistribution/Ferriere.cpp.o
[ 81%] Building CXX object CMakeFiles/crpropa.dir/src/massDistribution/Cordes.cpp.o
[ 81%] Building CXX object CMakeFiles/crpropa.dir/src/massDistribution/ConstantDensity.cpp.o
[ 82%] Building CXX object CMakeFiles/crpropa.dir/src/Version.cpp.o
[ 83%] Building CXX object CMakeFiles/crpropa.dir/src/magneticLens/MagneticLens.cpp.o
[ 84%] Building CXX object CMakeFiles/crpropa.dir/src/magneticLens/ModelMatrix.cpp.o
[ 84%] Building CXX object CMakeFiles/crpropa.dir/src/magneticLens/Pixelization.cpp.o
[ 85%] Building CXX object CMakeFiles/crpropa.dir/src/magneticLens/ParticleMapsContainer.cpp.o
Linking CXX shared library libcrpropa.so
[ 85%] Built target crpropa
[ 86%] Generating crpropa_wrap.cxx
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Referenced.h:180: Warning 361: operator! ignored
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Variant.h:98: Warning 325: Nested class not currently supported (bad_conversion ignored)
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/module/PropagationCK.h:50: Warning 325: Nested class not currently supported (Y ignored)
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/module/PropagationBP.h:52: Warning 325: Nested class not currently supported (Y ignored)
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/ModuleList.h:29: Warning 389: operator[] ignored (consider using %extend)
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/module/ParticleCollector.h:42: Warning 389: operator[] ignored (consider using %extend)
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Referenced.h:176: Warning 508: Declaration of 'get' shadows declaration accessible via operator->(),
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Grid.h:146: Warning 508: previous declaration of 'get'.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Referenced.h:176: Warning 508: Declaration of 'get' shadows declaration accessible via operator->(),
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Grid.h:151: Warning 508: previous declaration of 'get'.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Referenced.h:176: Warning 508: Declaration of 'get' shadows declaration accessible via operator->(),
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Grid.h:146: Warning 508: previous declaration of 'get'.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Referenced.h:176: Warning 508: Declaration of 'get' shadows declaration accessible via operator->(),
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Grid.h:151: Warning 508: previous declaration of 'get'.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/advectionField/AdvectionField.h:156: Warning 314: 'lambda' is a python keyword, renaming to '_lambda'
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/advectionField/AdvectionField.h:156: Warning 314: 'lambda' is a python keyword, renaming to '_lambda'
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Referenced.h:166: Warning 503: Can't wrap 'operator crpropa::Density*' unless renamed to a valid identifier.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/GridTurbulence.h:54: Warning 314: 'lambda' is a python keyword, renaming to '_lambda'
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/GridTurbulence.h:54: Warning 314: 'lambda' is a python keyword, renaming to '_lambda'
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Referenced.h:166: Warning 503: Can't wrap 'operator crpropa::Grid< crpropa::Vector3< float > >' unless renamed to a valid identifier.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Referenced.h:166: Warning 503: Can't wrap 'operator crpropa::Grid< float >
' unless renamed to a valid identifier.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Referenced.h:166: Warning 503: Can't wrap 'operator crpropa::EmissionMap*' unless renamed to a valid identifier.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Referenced.h:166: Warning 503: Can't wrap 'operator crpropa::CylindricalProjectionMap*' unless renamed to a valid identifier.
Scanning dependencies of target crpropa-swig
[ 87%] Building CXX object CMakeFiles/crpropa-swig.dir/crpropa_wrap.cxx.o
Linking CXX shared module _crpropa.so
[ 87%] Built target crpropa-swig
Scanning dependencies of target gtest
[ 88%] Building CXX object libs/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
Linking CXX static library libgtest.a
[ 88%] Built target gtest
Scanning dependencies of target gtest_main
[ 88%] Building CXX object libs/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o
Linking CXX static library libgtest_main.a
[ 88%] Built target gtest_main
Scanning dependencies of target testAdiabaticCooling
[ 88%] Building CXX object CMakeFiles/testAdiabaticCooling.dir/test/testAdiabaticCooling.cpp.o
Linking CXX executable testAdiabaticCooling
[ 88%] Built target testAdiabaticCooling
Scanning dependencies of target testAdvectionField
[ 89%] Building CXX object CMakeFiles/testAdvectionField.dir/test/testAdvectionField.cpp.o
Linking CXX executable testAdvectionField
[ 89%] Built target testAdvectionField
Scanning dependencies of target testBreakCondition
[ 90%] Building CXX object CMakeFiles/testBreakCondition.dir/test/testBreakCondition.cpp.o
Linking CXX executable testBreakCondition
[ 90%] Built target testBreakCondition
Scanning dependencies of target testCore
[ 91%] Building CXX object CMakeFiles/testCore.dir/test/testCore.cpp.o
Linking CXX executable testCore
[ 91%] Built target testCore
Scanning dependencies of target testDINT
[ 91%] Building CXX object CMakeFiles/testDINT.dir/test/testDINT.cpp.o
Linking CXX executable testDINT
[ 91%] Built target testDINT
Scanning dependencies of target testDensity
[ 92%] Building CXX object CMakeFiles/testDensity.dir/test/testDensity.cpp.o
Linking CXX executable testDensity
[ 92%] Built target testDensity
Scanning dependencies of target testFunctionalGroups
[ 93%] Building CXX object CMakeFiles/testFunctionalGroups.dir/testFunctionalGroups.cpp.o
Linking CXX executable testFunctionalGroups
[ 93%] Built target testFunctionalGroups
Scanning dependencies of target testGalacticMagneticLens
[ 94%] Building CXX object CMakeFiles/testGalacticMagneticLens.dir/test/testMagneticLens.cpp.o
Linking CXX executable testGalacticMagneticLens
[ 94%] Built target testGalacticMagneticLens
Scanning dependencies of target testInteraction
[ 94%] Building CXX object CMakeFiles/testInteraction.dir/test/testInteraction.cpp.o
Linking CXX executable testInteraction
[ 94%] Built target testInteraction
Scanning dependencies of target testMagneticField
[ 95%] Building CXX object CMakeFiles/testMagneticField.dir/test/testMagneticField.cpp.o
Linking CXX executable testMagneticField
[ 95%] Built target testMagneticField
Scanning dependencies of target testModuleList
[ 96%] Building CXX object CMakeFiles/testModuleList.dir/test/testModuleList.cpp.o
Linking CXX executable testModuleList
[ 96%] Built target testModuleList
Scanning dependencies of target testOutput
[ 97%] Building CXX object CMakeFiles/testOutput.dir/test/testOutput.cpp.o
Linking CXX executable testOutput
[ 97%] Built target testOutput
Scanning dependencies of target testPropagation
[ 97%] Building CXX object CMakeFiles/testPropagation.dir/test/testPropagation.cpp.o
Linking CXX executable testPropagation
[ 97%] Built target testPropagation
Scanning dependencies of target testSource
[ 98%] Building CXX object CMakeFiles/testSource.dir/test/testSource.cpp.o
Linking CXX executable testSource
[ 98%] Built target testSource
Scanning dependencies of target testVector3
[ 99%] Building CXX object CMakeFiles/testVector3.dir/test/testVector3.cpp.o
Linking CXX executable testVector3
[ 99%] Built target testVector3
Scanning dependencies of target test_uuid
[100%] Building CXX object libs/kiss/CMakeFiles/test_uuid.dir/test/test_uuid.cpp.o
Linking CXX executable test_uuid
[100%] Built target test_uuid
[vorobiov@cca004 build]$

[vorobiov@cca004 build]$ make test
Running tests...
Test project /pbs/home/v/vorobiov/work/CRPropa3/build
Start 1: testCore
1/19 Test #1: testCore .......................... Passed 0.20 sec
Start 2: testVector3
2/19 Test #2: testVector3 ....................... Passed 0.01 sec
Start 3: testModuleList
3/19 Test #3: testModuleList .................... Passed 0.06 sec
Start 4: testMagneticField
4/19 Test #4: testMagneticField ................. Passed 0.38 sec
Start 5: testAdvectionField
5/19 Test #5: testAdvectionField ................ Passed 0.03 sec
Start 6: testDensity
6/19 Test #6: testDensity ....................... Passed 0.07 sec
Start 7: testDINT
7/19 Test #7: testDINT .......................... Passed 0.12 sec
Start 8: testPropagation
8/19 Test #8: testPropagation ................... Passed 0.04 sec
Start 9: testBreakCondition
9/19 Test #9: testBreakCondition ................ Passed 0.04 sec
Start 10: testInteraction
10/19 Test #10: testInteraction ................... Passed 13.50 sec
Start 11: testSource
11/19 Test #11: testSource ........................ Passed 0.22 sec
Start 12: testOutput
12/19 Test #12: testOutput ........................ Passed 0.04 sec
Start 13: testFunctionalGroups
13/19 Test #13: testFunctionalGroups .............. Passed 0.05 sec
Start 14: testAdiabaticCooling
14/19 Test #14: testAdiabaticCooling .............. Passed 0.04 sec
Start 15: testGalacticMagneticLens
15/19 Test #15: testGalacticMagneticLens .......... Passed 1.12 sec
Start 16: testMagneticLensPythonInterface
16/19 Test #16: testMagneticLensPythonInterface ... Passed 28.38 sec
Start 17: testSimulationExecution
17/19 Test #17: testSimulationExecution ........... Passed 2.18 sec
Start 18: testDiffusionSDE
18/19 Test #18: testDiffusionSDE .................. Passed 5.05 sec
Start 19: testPythonExtension
19/19 Test #19: testPythonExtension ............... Passed 0.11 sec

100% tests passed, 0 tests failed out of 19

Total Test time (real) = 51.74 sec
[vorobiov@cca004 build]$

@TobiasWinchen
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Starting with versions after v3.1.5, i.e. Oct. 12 2019, we will use the C++11 standard. Swig2 does not support C++11. I assume that this is cause of the problem. As a short term hack you probably could just replace the Vector.h and the python/*.i files with versions from December, and thus essentially dropping the new Vector3 compatibility features for now. But in the future we will use C++11 features at more places.

@SergueiVorobiov
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi Tobias, many thanks for your suggestions! With SWIG Version 3.0.5, it works well now. I join the output below. Best regards, Serguei

[vorobiov@cca003 build]$ make
[ 4%] Built target healpix_base
[ 12%] Built target HepPID
[ 15%] Built target kiss
[ 16%] Built target sophia
[ 33%] Built target dint
[ 37%] Built target eleca
[ 85%] Built target crpropa
[ 86%] Generating crpropa_wrap.cxx
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Referenced.h:180: Warning 361: operator! ignored
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Variant.h:98: Warning 325: Nested class not currently supported (bad_conversion ignored)
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Variant.h:203: Warning 312: Nested union not currently supported (ignored).
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/module/PropagationCK.h:50: Warning 325: Nested class not currently supported (Y ignored)
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/module/PropagationBP.h:52: Warning 325: Nested class not currently supported (Y ignored)
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/module/Output.h:27: Warning 325: Nested struct not currently supported (Property ignored)
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/ModuleList.h:29: Warning 389: operator[] ignored (consider using %extend)
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/module/ParticleCollector.h:42: Warning 389: operator[] ignored (consider using %extend)
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Vector3.h:36: Warning 302: Identifier 'x' redefined by %extend (ignored),
/pbs/home/v/vorobiov/work/CRPropa3/python/2_headers.i:62: Warning 302: %extend definition of 'x'.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Vector3.h:37: Warning 302: Identifier 'y' redefined by %extend (ignored),
/pbs/home/v/vorobiov/work/CRPropa3/python/2_headers.i:63: Warning 302: %extend definition of 'y'.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Vector3.h:38: Warning 302: Identifier 'z' redefined by %extend (ignored),
/pbs/home/v/vorobiov/work/CRPropa3/python/2_headers.i:64: Warning 302: %extend definition of 'z'.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Vector3.h:36: Warning 302: Identifier 'x' redefined by %extend (ignored),
/pbs/home/v/vorobiov/work/CRPropa3/python/2_headers.i:65: Warning 302: %extend definition of 'x'.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Vector3.h:37: Warning 302: Identifier 'y' redefined by %extend (ignored),
/pbs/home/v/vorobiov/work/CRPropa3/python/2_headers.i:66: Warning 302: %extend definition of 'y'.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Vector3.h:38: Warning 302: Identifier 'z' redefined by %extend (ignored),
/pbs/home/v/vorobiov/work/CRPropa3/python/2_headers.i:67: Warning 302: %extend definition of 'z'.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Referenced.h:176: Warning 508: Declaration of 'get' shadows declaration accessible via operator->(),
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Grid.h:146: Warning 508: previous declaration of 'get'.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Referenced.h:176: Warning 508: Declaration of 'get' shadows declaration accessible via operator->(),
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Grid.h:151: Warning 508: previous declaration of 'get'.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Referenced.h:176: Warning 508: Declaration of 'get' shadows declaration accessible via operator->(),
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Grid.h:146: Warning 508: previous declaration of 'get'.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Referenced.h:176: Warning 508: Declaration of 'get' shadows declaration accessible via operator->(),
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Grid.h:151: Warning 508: previous declaration of 'get'.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Referenced.h:166: Warning 503: Can't wrap 'operator crpropa::Density*' unless renamed to a valid identifier.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Referenced.h:166: Warning 503: Can't wrap 'operator crpropa::Grid< crpropa::Vector3< float > >' unless renamed to a valid identifier.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Referenced.h:166: Warning 503: Can't wrap 'operator crpropa::Grid< float >
' unless renamed to a valid identifier.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Referenced.h:166: Warning 503: Can't wrap 'operator crpropa::EmissionMap*' unless renamed to a valid identifier.
/pbs/home/v/vorobiov/work/CRPropa3/include/crpropa/Referenced.h:166: Warning 503: Can't wrap 'operator crpropa::CylindricalProjectionMap*' unless renamed to a valid identifier.
/pbs/home/v/vorobiov/work/CRPropa3/python/3_repr.i:14: Warning 503: Can't wrap 'crpropa::Vector3' unless renamed to a valid identifier.
Scanning dependencies of target crpropa-swig
[ 87%] Building CXX object CMakeFiles/crpropa-swig.dir/crpropa_wrap.cxx.o
Linking CXX shared module _crpropa.so
[ 87%] Built target crpropa-swig
[ 88%] Building CXX object libs/gtest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
Linking CXX static library libgtest.a
[ 88%] Built target gtest
[ 88%] Building CXX object libs/gtest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o
Linking CXX static library libgtest_main.a
[ 88%] Built target gtest_main
Scanning dependencies of target testAdiabaticCooling
[ 88%] Building CXX object CMakeFiles/testAdiabaticCooling.dir/test/testAdiabaticCooling.cpp.o
Linking CXX executable testAdiabaticCooling
[ 88%] Built target testAdiabaticCooling
Scanning dependencies of target testAdvectionField
[ 89%] Building CXX object CMakeFiles/testAdvectionField.dir/test/testAdvectionField.cpp.o
Linking CXX executable testAdvectionField
[ 89%] Built target testAdvectionField
Scanning dependencies of target testBreakCondition
[ 90%] Building CXX object CMakeFiles/testBreakCondition.dir/test/testBreakCondition.cpp.o
Linking CXX executable testBreakCondition
[ 90%] Built target testBreakCondition
Scanning dependencies of target testCore
[ 91%] Building CXX object CMakeFiles/testCore.dir/test/testCore.cpp.o
Linking CXX executable testCore
[ 91%] Built target testCore
[ 91%] Building CXX object CMakeFiles/testDINT.dir/test/testDINT.cpp.o
Linking CXX executable testDINT
[ 91%] Built target testDINT
Scanning dependencies of target testDensity
[ 92%] Building CXX object CMakeFiles/testDensity.dir/test/testDensity.cpp.o
Linking CXX executable testDensity
[ 92%] Built target testDensity
Scanning dependencies of target testFunctionalGroups
[ 93%] Building CXX object CMakeFiles/testFunctionalGroups.dir/testFunctionalGroups.cpp.o
Linking CXX executable testFunctionalGroups
[ 93%] Built target testFunctionalGroups
Scanning dependencies of target testGalacticMagneticLens
[ 94%] Building CXX object CMakeFiles/testGalacticMagneticLens.dir/test/testMagneticLens.cpp.o
Linking CXX executable testGalacticMagneticLens
[ 94%] Built target testGalacticMagneticLens
Scanning dependencies of target testInteraction
[ 94%] Building CXX object CMakeFiles/testInteraction.dir/test/testInteraction.cpp.o
Linking CXX executable testInteraction
[ 94%] Built target testInteraction
Scanning dependencies of target testMagneticField
[ 95%] Building CXX object CMakeFiles/testMagneticField.dir/test/testMagneticField.cpp.o
Linking CXX executable testMagneticField
[ 95%] Built target testMagneticField
Scanning dependencies of target testModuleList
[ 96%] Building CXX object CMakeFiles/testModuleList.dir/test/testModuleList.cpp.o
Linking CXX executable testModuleList
[ 96%] Built target testModuleList
Scanning dependencies of target testOutput
[ 97%] Building CXX object CMakeFiles/testOutput.dir/test/testOutput.cpp.o
Linking CXX executable testOutput
[ 97%] Built target testOutput
Scanning dependencies of target testPropagation
[ 97%] Building CXX object CMakeFiles/testPropagation.dir/test/testPropagation.cpp.o
Linking CXX executable testPropagation
[ 97%] Built target testPropagation
Scanning dependencies of target testSource
[ 98%] Building CXX object CMakeFiles/testSource.dir/test/testSource.cpp.o
Linking CXX executable testSource
[ 98%] Built target testSource
Scanning dependencies of target testVector3
[ 99%] Building CXX object CMakeFiles/testVector3.dir/test/testVector3.cpp.o
Linking CXX executable testVector3
[ 99%] Built target testVector3
[100%] Building CXX object libs/kiss/CMakeFiles/test_uuid.dir/test/test_uuid.cpp.o
Linking CXX executable test_uuid
[100%] Built target test_uuid
[vorobiov@cca003 build]$

@adundovi
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then we should update CMake to require SWIG >= 3.0.

@TobiasWinchen
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, PR is alerady in preparation

Please sign in to comment.