sieve-dev error compiling PETSc-3.1 with Sieve on Blue Gene/L

Shi Jin jinzishuai at gmail.com
Mon Apr 5 12:15:30 CDT 2010


Thanks Matt.
I tried to build petsc-dev-sieve with the IBM compilers by
./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 —with-cc=mpxlc
—with-cxx=mpxlC —with-fc=mpxlf

It builds petsc-dev seemingly fine. But I got the error building the watson
example:
"/home/guntaka/src/petsc-dev-xlc/include/sieve/Mesh.hh", line 110.30:
1540-1110 (S) The referenced type "ALE::Bundle" contains a circular
reference back to "".
"/home/guntaka/src/petsc-dev-xlc/include/sieve/Sifter.hh", line 148.50:
1540-1281 (W) "offsetof" cannot be applied to "struct Rec<int>".  It is not
a POD (plain old data) type.
The Warning message shows many times but I think the real problem is in the
ALE::Bundle circular reference. I remember asking this kind of problems
before but wonder if there has been any progress in making it work now.

The  mpxlC is of version 9: /opt/ibmcmp/vacpp/bg/9.0/bin/bgxlC

Thanks.
Shi

On Sun, Apr 4, 2010 at 8:32 PM, Matthew Knepley <knepley at gmail.com> wrote:

> So the one thing that I guarantee runs now is unitTests (finally)
>
>   cd src/dm/mesh/examples/tests
>   make unitTests
>
> but watson should link as well. Think looks like a bad compiler bug. The
> linker should never SEGV. It should just return unresolved symbols. I am
> not really sure what to do other than report this problem to the sysadmin
> on that machine. I do not have it on the BG/L at BU. We can try and
> track it down by adding things to unitTests (if that builds).
>
>   Thanks,
>
>     Matt
>
> On Sun, Apr 4, 2010 at 5:12 PM, Shi Jin <jinzishuai at gmail.com> wrote:
>
>> I tried the wastson example. It has the same error as my code:
>> guntaka at fr0103en:~/src/petsc-dev/src/dm/mesh/examples/tutorials> make
>> watson
>> mpicxx -o watson.o -c -Wall -Wwrite-strings -Wno-strict-aliasing -O
>> -I/home/guntaka/src/petsc-dev/linux-gnu-cxx-opt/include
>> -I/home/guntaka/src/petsc-dev/include
>> -I/home/guntaka/src/petsc-dev/include/sieve
>> -I/home/guntaka/src/petsc-dev/externalpackages/Boost/
>> -I/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/bglsys/include -I/c++
>> -DDIMENSION=3 -DNUM_TERMS=10 -DNUM_COEFFICIENTS=10*10*3
>> -D__INSDIR__=src/dm/mesh/examples/tutorials/ watson.cxx
>> mpicxx -Wall -Wwrite-strings -Wno-strict-aliasing -O  -o watson watson.o
>> -Wl,-rpath,/home/guntaka/src/petsc-dev/linux-gnu-cxx-opt/lib
>> -L/home/guntaka/src/petsc-dev/linux-gnu-cxx-opt/lib -lpetsc
>> -Wl,-rpath,/home/guntaka/src/petsc-dev/linux-gnu-cxx-opt/lib
>> -L/home/guntaka/src/petsc-dev/linux-gnu-cxx-opt/lib -lchaco -lflapack
>> -lfblas -lm -L/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/bglsys/lib
>> -L/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/blrts-gnu/lib/gcc/powerpc-bgl-blrts-gnu/3.4.3
>> -L/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/blrts-gnu/powerpc-bgl-blrts-gnu/lib
>> -lmpich.rts -lmsglayer.rts -ldevices.rts -lrts.rts -lg2c -lm -lm
>> -lcxxmpich.rts -lstdc++ -lmpich.rts -lmsglayer.rts -ldevices.rts -lrts.rts
>>  collect2: ld terminated with signal 11 [Segmentation fault]
>> make: [watson] Error 1 (ignored)
>> /bin/rm -f -f watson.o
>>
>> Does this mean anything to you?
>> Thanks.
>> Shi
>>
>>
>> On Sun, Apr 4, 2010 at 3:54 PM, Shi Jin <jinzishuai at gmail.com> wrote:
>>
>>> Thanks a lot Matt.
>>> After switching to petsc-dev, I've successfully build petsc-dev-sieve
>>> with the same configuration options on the BlueGene/L.
>>> However, when I tried to build my code, I got the error at the final
>>> linking stage (all objects are compiled sucessfully):
>>> guntaka at fr0103en:~/src/fcpu> make
>>> mpicxx -Wall -Wwrite-strings -Wno-strict-aliasing -O  -o fcpu main.o
>>> Options.o USG.o Wall.o PlaneWall.o BC.o Quadrature.o Tetrahedron.o
>>> TetrahedronTaylorHood.o Cylinder.o Sphere.o CylinderWall.o CFD.o NSSolver.o
>>> ParticulateFlow.o BodyFitMeshPF.o CollisionBox.o GranularFlow.o
>>> -Wl,-rpath,/home/guntaka/src/petsc-dev/linux-gnu-cxx-opt/lib
>>> -L/home/guntaka/src/petsc-dev/linux-gnu-cxx-opt/lib -lpetsc
>>> -Wl,-rpath,/home/guntaka/src/petsc-dev/linux-gnu-cxx-opt/lib
>>> -L/home/guntaka/src/petsc-dev/linux-gnu-cxx-opt/lib -lchaco -lflapack
>>> -lfblas -lm -L/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/bglsys/lib
>>> -L/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/blrts-gnu/lib/gcc/powerpc-bgl-blrts-gnu/3.4.3
>>> -L/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/blrts-gnu/powerpc-bgl-blrts-gnu/lib
>>> -lmpich.rts -lmsglayer.rts -ldevices.rts -lrts.rts -lg2c -lm -lm
>>> -lcxxmpich.rts -lstdc++ -lmpich.rts -lmsglayer.rts -ldevices.rts -lrts.rts
>>> -Wl,-rpath,/home/guntaka/src/petsc-dev/linux-gnu-cxx-opt/lib
>>> -L/home/guntaka/src/petsc-dev/linux-gnu-cxx-opt/lib -lpetsc
>>> -Wl,-rpath,/home/guntaka/src/petsc-dev/linux-gnu-cxx-opt/lib
>>> -L/home/guntaka/src/petsc-dev/linux-gnu-cxx-opt/lib -lchaco -lflapack
>>> -lfblas -lm -L/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/bglsys/lib
>>> -L/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/blrts-gnu/lib/gcc/powerpc-bgl-blrts-gnu/3.4.3
>>> -L/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/blrts-gnu/powerpc-bgl-blrts-gnu/lib
>>> -lmpich.rts -lmsglayer.rts -ldevices.rts -lrts.rts -lg2c -lm -lm
>>> -lcxxmpich.rts -lstdc++ -lmpich.rts -lmsglayer.rts -ldevices.rts -lrts.rts
>>> collect2: ld terminated with signal 11 [Segmentation fault]
>>> make: *** [fcpu] Error 1
>>>
>>> The error message is not terribly helpful identifying the problem.
>>> Do you know what could be wrong here?
>>>
>>> Is there a known sieve test code I can try to build?
>>> I tried to build something inside
>>> petsc-dev/src/dm/mesh/examples/tutorials but haven't got anything to work
>>> yet.
>>>
>>> Thanks a lot.
>>> Shi
>>>
>>>
>>> On Sun, Apr 4, 2010 at 12:58 PM, Matthew Knepley <knepley at gmail.com>wrote:
>>>
>>>> Yes, this is a bug in the IBM compiler version I have had other places.
>>>> In the latest
>>>> petsc-dev, I just commented out the #include of ALE_args.hh in ALE.hh.
>>>> This fixes
>>>> it. Everyone hates compiler bugs.
>>>>
>>>>  Thanks,
>>>>
>>>>    Matt
>>>>
>>>> On Sun, Apr 4, 2010 at 1:52 PM, Shi Jin <jinzishuai at gmail.com> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I was recently asked to port my code developed a year ago using
>>>>> petsc-dev-sieve.
>>>>> I just checked, the code works without problem on a Linux cluster with
>>>>> gcc-4.3.2 built against petsc-3.1.0.
>>>>>
>>>>> However, I got the following error built on the BlueGene. I used the
>>>>> following steps:
>>>>>
>>>>>    - ./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
>>>>>    - cqsub -q debug -n 2 -t 00:10:00 conftest. Make sure the job is
>>>>>    finished by "cqstat".
>>>>>    - ./reconfigure.py
>>>>>
>>>>> It works fine. The output is
>>>>>
>>>>> Compilers:
>>>>>   C Compiler:         mpicc  -Wall -Wwrite-strings -Wno-strict-aliasing -O
>>>>>   C++ Compiler:       mpicxx  -Wall -Wwrite-strings -Wno-strict-aliasing -O
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>   Fortran Compiler:   mpif77  -Wall -Wno-unused-variable -O
>>>>> Linkers:
>>>>>   Static linker:   /usr/bin/ar cr
>>>>> MPI:
>>>>>   Includes: -I/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/bglsys/include
>>>>> 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
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Chaco:
>>>>>   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
>>>>> Sieve:
>>>>>   Includes: -I/home/guntaka/src/petsc-3.1-p0/include/sieve
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Boost:
>>>>>   Includes: -I/home/guntaka/src/petsc-3.1-p0/externalpackages/Boost/ -I/bgl/BlueLight/V1R3M4_300_2008-080728/ppc/bglsys/include
>>>>> PETSc:
>>>>>   PETSC_ARCH: linux-gnu-cxx-opt
>>>>>   PETSC_DIR: /home/guntaka/src/petsc-3.1-p0
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>   Clanguage: Cxx
>>>>>   Scalar type: real
>>>>>   Precision: double
>>>>>   shared libraries: disabled
>>>>>   dynamic libraries: disabled
>>>>>   Memory alignment: 16
>>>>> xxx=========================================================================xxx
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>    Configure stage complete. Now build PETSc libraries with:
>>>>>    make PETSC_DIR=/home/guntaka/src/petsc-3.1-p0 PETSC_ARCH=linux-gnu-cxx-opt all
>>>>>
>>>>>
>>>>> xxx=========================================================================xxx
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Then I moved ahead to build it
>>>>>
>>>>> make PETSC_DIR=/home/guntaka/src/petsc-3.1-p0 PETSC_ARCH=linux-gnu-cxx-opt all
>>>>> But I got the following error in compiling sieve:
>>>>> /home/guntaka/src/petsc-3.1-p0/include/sieve/ALE_args.hh: In member function `ALE::ArgValue ALE::ArgDB::operator[](const string&) const':
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> /home/guntaka/src/petsc-3.1-p0/include/sieve/ALE_args.hh:132: error: call of overloaded `ArgValue(ALE::ArgValue)' is ambiguous
>>>>> /home/guntaka/src/petsc-3.1-p0/include/sieve/ALE_args.hh:64: note: candidates are: ALE::ArgValue::ArgValue(const ALE::ArgValue&)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> /home/guntaka/src/petsc-3.1-p0/include/sieve/ALE_args.hh:67: note:                 ALE::ArgValue::ArgValue(const boost::program_options::variable_value&)
>>>>>
>>>>> I am using the mpicxx which is using g++ 3.4.3:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> guntaka at fr0103en:~/src/petsc-3.1-p0> mpicxx -show
>>>>>
>>>>> /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
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> guntaka at fr0103en:~/src/petsc-3.1-p0> /bgl/BlueLight/V1R3M4_300_2008-080728/ppc/blrts-gnu/bin/powerpc-bgl-blrts-gnu-g++ --version
>>>>>
>>>>> I remember there was some issues with older versions of GCC. Not sure this is the same problem.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Has anyone have any experience on this?
>>>>>
>>>>> Thank you very much.
>>>>>
>>>>> Shi
>>>>> powerpc-bgl-blrts-gnu-g++ (GCC) 3.4.3
>>>>>
>>>>> /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&)'
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Shi Jin, Ph.D.
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> What most experimenters take for granted before they begin their
>>>> experiments is infinitely more interesting than any results to which their
>>>> experiments lead.
>>>> -- Norbert Wiener
>>>>
>>>
>>>
>>>
>>> --
>>> Shi Jin, Ph.D.
>>>
>>>
>>
>>
>> --
>> Shi Jin, Ph.D.
>>
>>
>
>
> --
> What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which their
> experiments lead.
> -- Norbert Wiener
>



-- 
Shi Jin, Ph.D.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/sieve-dev/attachments/20100405/9e7901dd/attachment.htm>


More information about the sieve-dev mailing list