Hi, <br><br>I was recently asked to port my code developed a year ago using petsc-dev-sieve.<br>I just checked, the code works without problem on a Linux cluster with gcc-4.3.2 built against petsc-3.1.0.<br><br>However, I got the following error built on the BlueGene. I used the following steps:<br>
<ul><li>./configure —with-clanguage=C++ —with-sieve=1 —with-opt-sieve=1
—download-chaco=1 —download-boost=1 —with-shared=0 —with-debugging=no
—with-mpi-shared=0 —download-f-blas-lapack=1 —with-batch</li><li>cqsub -q debug -n 2 -t 00:10:00 conftest. Make sure the job is
finished by "cqstat".</li><li>./reconfigure.py</li></ul>It works fine. The output is<br><pre><code>Compilers:<br> C Compiler: mpicc -Wall -Wwrite-strings -Wno-strict-aliasing -O <br> C++ Compiler: mpicxx -Wall -Wwrite-strings -Wno-strict-aliasing -O <br>
Fortran Compiler: mpif77 -Wall -Wno-unused-variable -O <br>Linkers:<br> Static linker: /usr/bin/ar cr<br>MPI:<br> Includes: -I/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/bglsys/include<br>BLAS/LAPACK: -Wl,-rpath,/home/guntaka/src/petsc-3.1-p0/linux-gnu-cxx-opt/lib -L/home/guntaka/src/petsc-3.1-p0/linux-gnu-cxx-opt/lib -lflapack -Wl,-rpath,/home/guntaka/src/petsc-3.1-p0/linux-gnu-cxx-opt/lib -L/home/guntaka/src/petsc-3.1-p0/linux-gnu-cxx-opt/lib -lfblas<br>
Chaco:<br> Library: -Wl,-rpath,/home/guntaka/src/petsc-3.1-p0/linux-gnu-cxx-opt/lib -L/home/guntaka/src/petsc-3.1-p0/linux-gnu-cxx-opt/lib -lchaco<br>Sieve:<br> Includes: -I/home/guntaka/src/petsc-3.1-p0/include/sieve<br>
Boost:<br> Includes: -I/home/guntaka/src/petsc-3.1-p0/externalpackages/Boost/ -I/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/bglsys/include<br>PETSc:<br> PETSC_ARCH: linux-gnu-cxx-opt<br> PETSC_DIR: /home/guntaka/src/petsc-3.1-p0<br>
Clanguage: Cxx<br> Scalar type: real<br> Precision: double<br> shared libraries: disabled<br> dynamic libraries: disabled<br> Memory alignment: 16<br>xxx=========================================================================xxx<br>
Configure stage complete. Now build PETSc libraries with:<br> make PETSC_DIR=/home/guntaka/src/petsc-3.1-p0 PETSC_ARCH=linux-gnu-cxx-opt all<br><br><br>xxx=========================================================================xxx</code><br>
</pre><br>Then I moved ahead to build it<br><pre><code>make PETSC_DIR=/home/guntaka/src/petsc-3.1-p0 PETSC_ARCH=linux-gnu-cxx-opt all<br>But I got the following error in compiling sieve:<br></code><code>/home/guntaka/src/petsc-3.1-p0/include/sieve/ALE_args.hh: In member function `ALE::ArgValue ALE::ArgDB::operator[](const string&) const':<br>
/home/guntaka/src/petsc-3.1-p0/include/sieve/ALE_args.hh:132: error: call of overloaded `ArgValue(ALE::ArgValue)' is ambiguous<br>/home/guntaka/src/petsc-3.1-p0/include/sieve/ALE_args.hh:64: note: candidates are: ALE::ArgValue::ArgValue(const ALE::ArgValue&)<br>
/home/guntaka/src/petsc-3.1-p0/include/sieve/ALE_args.hh:67: note: ALE::ArgValue::ArgValue(const boost::program_options::variable_value&)<br><br>I am using the mpicxx which is using g++ 3.4.3:<br><br></code><code>guntaka@fr0103en:~/src/petsc-3.1-p0> mpicxx -show<br>
/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/blrts-gnu/bin/powerpc-bgl-blrts-gnu-g++ -I/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/bglsys/include -L/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/bglsys/lib -lcxxmpich.rts -lmpich.rts -L/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/bglsys/lib -lmsglayer.rts -ldevices.rts -lrts.rts -ldevices.rts -lrts.rts<br>
<br>guntaka@fr0103en:~/src/petsc-3.1-p0> /bgl/BlueLight/V1R3M4_300_2008-080728/ppc/blrts-gnu/bin/powerpc-bgl-blrts-gnu-g++ --version<br><br>I remember there was some issues with older versions of GCC. Not sure this is the same problem.<br>
Has anyone have any experience on this?<br><br>Thank you very much.<br><br>Shi<br>powerpc-bgl-blrts-gnu-g++ (GCC) 3.4.3<br></code><br><code>/home/guntaka/src/petsc-3.1-p0/include/sieve/ALE_args.hh:132: error: initializing temporary from result of `ALE::ArgValue::ArgValue(const boost::program_options::variable_value&)'</code><br>
<br></pre><br><br><br clear="all"><br>-- <br>Shi Jin, Ph.D.<br><br>