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

Matthew Knepley knepley at gmail.com
Mon Apr 5 12:21:52 CDT 2010


On Mon, Apr 5, 2010 at 7:15 PM, Shi Jin <jinzishuai at gmail.com> wrote:

> 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 "".
>

I might understand, but it says that there is a circular reference to
nothing (""). I look at the code, and
have no idea what this means. And again, it compilers with many many many
other compilers. I use
it every day, the PyLith project does too. On Mac, Linux, PC, BG/P at ANL,
etc. I really want to find
out what is happening there, but I have a hard time seeing what I can do
about this. I think these are
bugs to be reported to the compiler maintainers.

  Matt


> "/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.
>
>


-- 
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/sieve-dev/attachments/20100405/2d82dd78/attachment-0001.htm>


More information about the sieve-dev mailing list