[petsc-users] [petsc-maint #103068] problems compiling

Matthew Knepley knepley at gmail.com
Fri Jan 20 12:05:54 CST 2012


On Fri, Jan 20, 2012 at 11:21 AM, Anton Popov <popov at uni-mainz.de> wrote:

> Well, I simply gave up on Cray compilers, as well as on the other
> compilers installed on this machine (Intel, Portland, Pathscale). After
> many attempts only GNU compilers were functional with PETSc.


1) If you don't send in the error reports, we can't fix it.

2) Dominik, I have pushed a possible fix for this to petsc-dev. Can you try
running with that on this machine?

  Thanks,

     Matt


> On 1/20/12 6:12 PM, Dominik Szczerba wrote:
>
>> Hi Anton,
>>
>> Many thanks for your hints. I am on the same machine. The key
>> difference here is that I want to use the cray environment to compare
>> performance with gnu. And I have no issues with gnu and my experience
>> is very similar to yours.
>>
>> Many thanks and best regards,
>> Dominik
>>
>> On Fri, Jan 20, 2012 at 6:08 PM, Anton Popov<popov at uni-mainz.de>  wrote:
>>
>>> Hi Dominik,
>>>
>>> It really depends on which Cray machine you are installing. If you like I
>>> can describe my recent installation experience on Cray XE6 "Rosa" in
>>> Zurich
>>> (it uses Linux).
>>> First make sure which compiler you are using. For me, GNU compilers did
>>> the
>>> job well. I also prefer using ACML BLAS/LAPACK Library, because XE6 uses
>>> AMD
>>> processors.
>>>
>>> So just go to your .bashrc and add something like:
>>>
>>> module load PrgEnv-gnu
>>> module load acml
>>>
>>> # PETSC 3.X
>>> export PETSC_DIR="$HOME/LIB/petsc-3.**X-pY"
>>> export PETSC_ARCH="PETSC_CRAY_XE6_**GNU_OPT"
>>> export PATH=$PATH:$PETSC_DIR/bin/
>>>
>>> Don't forget to logout/login for changes to take effect. Also, you should
>>> only have one PrgEnv module in your .bashrc.
>>>
>>> Depending on the packages you need, you can modify the configuration
>>> command
>>> below:
>>>
>>> ./config/configure.py \
>>> --with-batch=1 \
>>> --known-mpi-shared=0 \
>>> --known-memcmp-ok \
>>> --with-blas-lapack-lib="$ACML_**DIR/gfortran64/lib/libacml.a" \
>>> --COPTFLAGS="-O3" \
>>> --FOPTFLAGS="-O3" \
>>> --CXXOPTFLAGS="-O3" \
>>> --with-x=0 \
>>> --with-debugging=0 \
>>> --with-clib-autodetect=0 \
>>> --with-cxxlib-autodetect=0 \
>>> --with-fortranlib-autodetect=0 \
>>> --with-shared=0 \
>>> --with-dynamic=0 \
>>> --with-mpi-compilers=1 \
>>> --with-cc=cc \
>>> --with-cxx=CC \
>>> --with-fc=ftn \
>>> --download-blacs=1 \
>>> --download-scalapack=1 \
>>> --download-mumps=1 \
>>> --download-superlu_dist=1 \
>>> --download-parmetis=1 \
>>> --download-ml=1
>>>
>>> If you don't need ACML, just make PETSc download and install BLAS/LAPACK
>>> for
>>> you.
>>>
>>> What is important here is to always keep the following:
>>> --with-batch=1 \
>>> --known-mpi-shared=0 \
>>> --with-clib-autodetect=0 \
>>> --with-cxxlib-autodetect=0 \
>>> --with-fortranlib-autodetect=0 \
>>>
>>> NOTE: on CRAY machine you have to submit "conftest" executable on single
>>> processor via batch system (Rosa uses slurm) and run "reconfigure.py" to
>>> finalize configuration.
>>>
>>> After you proceed with this, you have to MANUALLY DELETE the following
>>> keys
>>> in $PETSC_DIR/$PETSC_ARCH/**include/petscconf.h
>>>
>>> PETSC_HAVE_SYS_PROCFS_H
>>> PETSC_HAVE_DLFCN_H
>>> PETSC_HAVE_SYS_SOCKET_H
>>> PETSC_HAVE_SYS_UTSNAME_H
>>> PETSC_HAVE_PWD_H
>>> PETSC_HAVE_GETWD
>>> PETSC_HAVE_UNAME
>>> PETSC_HAVE_GETHOSTNAME
>>> PETSC_HAVE_GETDOMAINNAME
>>> PETSC_HAVE_NETINET_IN_H
>>> PETSC_HAVE_NETDB_H
>>> PETSC_USE_SOCKET_VIEWER
>>> PETSC_HAVE_GETPWUID
>>>
>>> Otherwise nothing will run, and you'll get segfaults in the very
>>> beginning.
>>> The reason behind it is that Cray version of Linux only supports reduced
>>> set
>>> of system calls.
>>>
>>> NOW you can do "make all"
>>>
>>> Hope it'll be helpful,
>>>
>>> Anton
>>>
>>> ------------------------
>>>
>>>
>>> On 1/20/12 4:45 PM, Matthew Knepley wrote:
>>>
>>> On Fri, Jan 20, 2012 at 9:43 AM, Dominik Szczerba<dominik at itis.ethz.ch>
>>> wrote:
>>>
>>>> I am building on a Cray system with crayftn fortran compiler. I
>>>> specify --with-fc=crayftn and --FFLAGS=-em. Despite the latter, I am
>>>> still getting the below cited error. Interestingly, the mod file IS
>>>> THERE:
>>>>
>>>>  find /tmp/petsc-0Bnd1w -iname \*.mod
>>>>>
>>>> /tmp/petsc-0Bnd1w/config.**compilers/CONFIGTEST.mod
>>>>
>>>> How do I go on from here?
>>>>
>>>
>>> The problem is not that is doesn't create a module file, but that it will
>>> not put it
>>> where we ask it to. Please send entire configure.log (don't Cc users).
>>>
>>>    Matt
>>>
>>>  Thanks
>>>> Dominik
>>>>
>>>>
>>>>
>>>>
>>>> ==============================**==============================**
>>>> ====================
>>>> TEST checkFortranModuleInclude from
>>>>
>>>> config.compilers(/users/dsz/**pack/petsc-3.2-p5/config/**
>>>> BuildSystem/config/compilers.**py:1155)
>>>> TESTING: checkFortranModuleInclude from
>>>> config.compilers(config/**BuildSystem/config/compilers.**py:1155)
>>>>  Figures out what flag is used to specify the include path for Fortran
>>>> modules
>>>>        Pushing language FC
>>>> sh: crayftn -c -o /tmp/petsc-0Bnd1w/config.**compilers/conftest.o
>>>> -I/tmp/petsc-0Bnd1w/config.**compilers
>>>> -I/tmp/petsc-0Bnd1w/config.**setCompilers -em -O3
>>>> /tmp/petsc-0Bnd1w/config.**compilers/conftest.F
>>>> Executing: crayftn -c -o /tmp/petsc-0Bnd1w/config.**
>>>> compilers/conftest.o
>>>> -I/tmp/petsc-0Bnd1w/config.**compilers
>>>> -I/tmp/petsc-0Bnd1w/config.**setCompilers -em -O3
>>>> /tmp/petsc-0Bnd1w/config.**compilers/conftest.F
>>>> sh:
>>>> Successful compile:
>>>> Source:
>>>>      module configtest
>>>>      integer testint
>>>>      parameter (testint = 42)
>>>>      end module configtest
>>>>
>>>> ****************************************************************
>>>> *******************
>>>>         UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log
>>>> for details):
>>>>
>>>> ------------------------------**------------------------------**
>>>> -------------------
>>>> Fortran module was not created during the compile.
>>>> configtest.mod/CONFIGTEST.mod not found
>>>>
>>>> ****************************************************************
>>>> *******************
>>>>  File "/users/dsz/pack/petsc-3.2-p5/**config/configure.py", line 283,
>>>> in petsc_configure
>>>>    framework.configure(out = sys.stdout)
>>>>  File
>>>> "/users/dsz/pack/petsc-3.2-p5/**config/BuildSystem/config/**
>>>> framework.py",
>>>> line 925, in configure
>>>>    child.configure()
>>>>  File
>>>> "/users/dsz/pack/petsc-3.2-p5/**config/BuildSystem/config/**
>>>> compilers.py",
>>>> line 1338, in configure
>>>>    self.executeTest(self.**checkFortranModuleInclude)
>>>>  File "/users/dsz/pack/petsc-3.2-p5/**config/BuildSystem/config/**
>>>> base.py",
>>>> line 115, in executeTest
>>>>    ret = apply(test, args,kargs)
>>>>  File
>>>> "/users/dsz/pack/petsc-3.2-p5/**config/BuildSystem/config/**
>>>> compilers.py",
>>>> line 1187, in checkFortranModuleInclude
>>>>    raise RuntimeError('Fortran module was not created during the
>>>> compile. configtest.mod/CONFIGTEST.mod not found')
>>>>
>>>>
>>>
>>> --
>>> 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
>>>
>>>
>>>
>


-- 
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/petsc-users/attachments/20120120/82ba3b8e/attachment.htm>


More information about the petsc-users mailing list