compilation error: codesByTopic/complexNumbers

I updated the Makefile to use our mpich2 install (1.08) and get the following compilation error:

python …/…/…/scons/scons.py -j 2 -f …/…/…/SConstruct palabosRoot=…/…/… projectFiles=“complexCylinder2D.cpp” optimize=true debug=false profile=false MPIparallel=true SMPparallel=false usePOSIX=true serialCXX=g++ parallelCXX=/opt/mpich2-gcc/current/bin/mpicxx compileFlags="-Wall -Wnon-virtual-dtor" linkFlags="" optimFlags="-O3" debugFlags="-g" profileFlags="-pg" libraryPaths="" includePaths="" libraries=""
scons: Reading SConscript files …
scons: done reading SConscript files.
scons: Building targets …
/opt/mpich2-gcc/current/bin/mpicxx -o complexCylinder2D.o -c -Wall -Wnon-virtual-dtor -O3 -DPLB_MPI_PARALLEL -DPLB_USE_POSIX -I/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src -I/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/externalLibraries complexCylinder2D.cpp
/opt/mpich2-gcc/current/bin/mpicxx -o /export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src/io/serializerIO.o -c -Wall -Wnon-virtual-dtor -O3 -DPLB_MPI_PARALLEL -DPLB_USE_POSIX -I/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src -I/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/externalLibraries /export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src/io/serializerIO.cpp
/opt/mpich2-gcc/current/bin/mpicxx -o /export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src/io/parallelIO.o -c -Wall -Wnon-virtual-dtor -O3 -DPLB_MPI_PARALLEL -DPLB_USE_POSIX -I/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src -I/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/externalLibraries /export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src/io/parallelIO.cpp
/opt/mpich2-gcc/current/bin/mpicxx -o /export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src/io/vtkDataOutput.o -c -Wall -Wnon-virtual-dtor -O3 -DPLB_MPI_PARALLEL -DPLB_USE_POSIX -I/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src -I/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/externalLibraries /export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src/io/vtkDataOutput.cpp
/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src/multiGrid/gridConversion2D.hh: In function ‘plb::Box2D plb::scaleBox(plb::Box2D, plb::plint)’:
/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src/multiGrid/gridConversion2D.hh:538: warning: passing ‘double’ for argument 1 to ‘plb::Box2D plb::Box2D::multiply(plb::plint) const’
/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src/multiGrid/gridConversion2D.hh:544: warning: passing ‘double’ for argument 1 to ‘plb::Box2D plb::Box2D::divideAndFitSmaller(plb::plint) const’
/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src/multiGrid/gridConversion2D.hh: In function ‘plb::MultiBlockManagement2D plb::scaleMultiBlockManagement(const plb::MultiBlockManagement2D&, plb::plint)’:
/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src/multiGrid/gridConversion2D.hh:558: warning: converting to ‘plb::plint’ from ‘double’
complexDataAnalysisWrapper2D.hh: In function ‘void plb::realPart(plb::MultiScalarField2D&, plb::MultiScalarField2D&, plb::Box2D) [with T = plb::Complex, U = double]’:
complexDataAnalysisWrapper2D.hh:120: instantiated from ‘std::auto_ptr<plb::MultiScalarField2D > plb::realPart(plb::MultiScalarField2D&, plb::Box2D) [with T = plb::Complex, U = double]’
complexCylinder2D.cpp:191: instantiated from here
complexDataAnalysisWrapper2D.hh:114: error: cannot allocate an object of abstract type ‘plb::FromComplexToRealScalarFieldFunctional2D<plb::Complex, double>’
typeConverterFunctional2D.h:40: note: because the following virtual functions are pure within ‘plb::FromComplexToRealScalarFieldFunctional2D<plb::Complex, double>’:
/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src/atomicBlock/dataProcessingFunctional2D.h:66: note: virtual void plb::BoxProcessingFunctional2D::getTypeOfModification(std::vector<plb::modif::ModifT, std::allocatorplb::modif::ModifT >&) const
/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src/core/plbComplex.hh: In function ‘plb::Complex plb::operator-(T, const plb::Complex&) [with T = int, U = double]’:
/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src/latticeBoltzmann/offEquilibriumTemplates.h:101: instantiated from ‘static T plb::offEquilibriumTemplatesImpl<T, Descriptor>::fromPiToFneq(plb::plint, const plb::Array<T, plb::SymmetricTensorImpl<T,Descriptor::d>::n>&) [with T = plb::Complex, Descriptor = plb::descriptors::D2Q9DescriptorBase<plb::Complex >]’
/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src/latticeBoltzmann/offEquilibriumTemplates.h:64: instantiated from ‘static T plb::offEquilibriumTemplates<T, Descriptor>::fromPiToFneq(plb::plint, const plb::Array<T, plb::SymmetricTensor<T,Descriptor>::n>&) [with T = plb::Complex, Descriptor = plb::descriptors::D2Q9Descriptor]’
/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src/basicDynamics/isoThermalDynamics.hh:60: instantiated from ‘void plb::IsoThermalBulkDynamics<T, Descriptor>::regularize(plb::Cell<T, Descriptor>&, T, const plb::Array<T, #‘bound_template_template_parm’ not supported by pp_cxx_unqualified_id#::d>&, T, const plb::Array<T, plb::SymmetricTensor<T,Descriptor>::n>&, T) const [with T = plb::Complex, Descriptor = plb::descriptors::D2Q9Descriptor]’
complexCylinder2D.cpp:291: instantiated from here
/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src/core/plbComplex.hh:201: warning: passing ‘double’ for argument 1 to ‘plb::Complex::Complex(T, T) [with T = int]’
/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src/core/plbComplex.hh:201: warning: passing ‘double’ for argument 2 to ‘plb::Complex::Complex(T, T) [with T = int]’
/opt/mpich2-gcc/current/bin/mpicxx -o /export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src/io/mpiParallelIO.o -c -Wall -Wnon-virtual-dtor -O3 -DPLB_MPI_PARALLEL -DPLB_USE_POSIX -I/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src -I/export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/externalLibraries /export/scratch/a/gizmo/p/palabos/palabos-v1.0r1/src/io/mpiParallelIO.cpp
scons: *** [complexCylinder2D.o] Error 1
scons: building terminated because of errors.
make: *** [compile] Error 2

This is a known bug. It has been fixed. In the next palabos release, the complexCylinder code will compile…

Sorry for this,
D.