PETSc disabled when configuring optional packages

995 views
Skip to first unread message

James Gilgannon

unread,
Feb 16, 2017, 7:45:06 AM2/16/17
to moose-users
Hello All,

I apologise in advance for any miscommunication on my side, I am still pretty fresh at this :) I searched for similar problems in the google group but either couldn't find the same problem or, more likely, didn't completely understand the instructions for how solve the issue. Here's the problem.....

I am attempting to install MOOSE on a cluster. 

I was working my way through the 'Getting Started' page of the MOOSE framework website. I successfully completed step 1(set up system environment for a single cluster user) and step 2 (clone MOOSE) . The issue comes in step 3:

Compile libMesh

cd ~/projects/moose
scripts/update_and_rebuild_libmesh.sh

I am able to compile all the core libraries but when I get to the 'Configure for optional packages' I encounter this error:

---------------------------------------------


----- Configuring for optional packages -----


---------------------------------------------


checking for boostlib >= 1.57.0... configure: We could not detect the boost libraries (version 1.57 or higher). If you have a staged boost library (still not installed) please specify $BOOST_ROOT in your environment and do not give a PATH to --with-boost option.  If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.


<<< External boost installation *not* found... will try to configure for libmesh's internal boost >>>


checking for boostlib >= 1.57.0... yes


<<< Using libmesh-provided boost in ./contrib >>>


checking for boost::movelib::unique_ptr support... yes


<<< Howard Hinnant's unique_ptr implementation explicitly disabled >>>


checking if safe_bool<T> allows boolean comparisons... yes


checking if safe_bool<T> prevents implicit conversions... yes


<<< Compiling libmesh with safe_bool<T> support >>>


checking /home/ubelix/geo/gilgannon/moose-compilers/petsc/petsc-3.6.4/gcc-opt/include/petscversion.h usability... no


checking /home/ubelix/geo/gilgannon/moose-compilers/petsc/petsc-3.6.4/gcc-opt/include/petscversion.h presence... no


checking for /home/ubelix/geo/gilgannon/moose-compilers/petsc/petsc-3.6.4/gcc-opt/include/petscversion.h... no


<<< PETSc disabled.  Will try configuring MPI now... >>>


note: MPI library path not given... trying prefix=/usr


mpicxx Compiler Supports MPI


configure: error: *** PETSc was not found, but --enable-petsc-required was specified.


 
At first I thought that maybe the issue lay in where the configure was checking for PETSc. For the scenario of this error it was using the path defined by the

 ~/.moose-profile

Which was: 

-bash-4.1$ echo $PETSC_DIR


/home/ubelix/geo/gilgannon/moose-compilers/petsc/petsc-3.6.4/gcc-opt


So I tried changing where I was pointing to, to the newly installed PETSc in my home directory:

-bash-4.1$ echo $PETSC_DIR


/home/ubelix/geo/gilgannon/petsc-3.6.4


which yielded this error when I ran step 3 again:

---------------------------------------------


----- Configuring for optional packages -----


---------------------------------------------


checking for boostlib >= 1.57.0... configure: We could not detect the boost libraries (version 1.57 or higher). If you have a staged boost library (still not installed) please specify $BOOST_ROOT in your environment and do not give a PATH to --with-boost option.  If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.


<<< External boost installation *not* found... will try to configure for libmesh's internal boost >>>


checking for boostlib >= 1.57.0... yes


<<< Using libmesh-provided boost in ./contrib >>>


checking for boost::movelib::unique_ptr support... yes


<<< Howard Hinnant's unique_ptr implementation explicitly disabled >>>


checking if safe_bool<T> allows boolean comparisons... yes


checking if safe_bool<T> prevents implicit conversions... yes


<<< Compiling libmesh with safe_bool<T> support >>>


checking /home/ubelix/geo/gilgannon/petsc-3.6.4/include/petscversion.h usability... yes


checking /home/ubelix/geo/gilgannon/petsc-3.6.4/include/petscversion.h presence... yes


checking for /home/ubelix/geo/gilgannon/petsc-3.6.4/include/petscversion.h... yes


<<< PETSc did not define MPIEXEC.  Will try configuring MPI now... >>>


note: MPI library path not given... trying prefix=/usr


mpicxx Compiler Supports MPI


<<< Found PETSc 3.6.4 installation in /home/ubelix/geo/gilgannon/petsc-3.6.4 ... >>>


/home/ubelix/geo/gilgannon/petsc-3.6.4/lib/petsc/conf/variables:117: /home/ubelix/geo/gilgannon/petsc-3.6.4/gcc/lib/petsc/conf/petscvariables: No such file or directory


make: *** No rule to make target `/home/ubelix/geo/gilgannon/petsc-3.6.4/gcc/lib/petsc/conf/petscvariables'.  Stop.


/home/ubelix/geo/gilgannon/petsc-3.6.4/lib/petsc/conf/variables:117: /home/ubelix/geo/gilgannon/petsc-3.6.4/gcc/lib/petsc/conf/petscvariables: No such file or directory


make: *** No rule to make target `/home/ubelix/geo/gilgannon/petsc-3.6.4/gcc/lib/petsc/conf/petscvariables'.  Stop.


/home/ubelix/geo/gilgannon/petsc-3.6.4/lib/petsc/conf/variables:117: /home/ubelix/geo/gilgannon/petsc-3.6.4/gcc/lib/petsc/conf/petscvariables: No such file or directory


make: *** No rule to make target `/home/ubelix/geo/gilgannon/petsc-3.6.4/gcc/lib/petsc/conf/petscvariables'.  Stop.


/home/ubelix/geo/gilgannon/petsc-3.6.4/lib/petsc/conf/variables:117: /home/ubelix/geo/gilgannon/petsc-3.6.4/gcc/lib/petsc/conf/petscvariables: No such file or directory


make: *** No rule to make target `/home/ubelix/geo/gilgannon/petsc-3.6.4/gcc/lib/petsc/conf/petscvariables'.  Stop.


checking whether we can compile a trivial PETSc program... no


checking for TAO support via PETSc... no


<<< PETSc disabled.  Will try configuring MPI now... >>>


note: MPI library path not given... trying prefix=/usr


Could not find MPI header <mpi.h>...


configure: error: *** PETSc was not found, but --enable-petsc-required was specified.


Which made me think that I was using the correct path for the $PETSC_DIR previously. 

I am not really sure how to continue. I apologise for not being able to provide more information.

Does anyone have an idea of what I need to do to enable PETSc?

Best,

James

Miller, Jason M

unread,
Feb 16, 2017, 8:55:33 AM2/16/17
to moose...@googlegroups.com
James,

Can you provide us with the libMesh configure log? It will contain quite a bit of information which might help us track down the issue. The file in question should reside at:   

  moose/libmesh/build/config.log

Thanks!!
Jason


--
You received this message because you are subscribed to the Google Groups "moose-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to moose-users+unsubscribe@googlegroups.com.
Visit this group at https://groups.google.com/group/moose-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/0605870c-1594-47b4-84ea-8ed8a936369f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

James Gilgannon

unread,
Feb 16, 2017, 10:54:02 AM2/16/17
to moose-users
Hey Jason,

Sorry took me a little bit too long to figure out how to get it off the cluster :P

Please find the 'config.log' attached.

Best,

James
To unsubscribe from this group and stop receiving emails from it, send an email to moose-users...@googlegroups.com.
config.log

Miller, Jason M

unread,
Feb 16, 2017, 11:31:55 AM2/16/17
to moose...@googlegroups.com
James,

No problem!

Well, it actually looks as though it is what its saying it is... That it can not find PETSc. Can you verify your PETSC_DIR is available at:

  /home/ubelix/geo/gilgannon/moose-compilers/petsc/petsc-3.6.4/gcc-opt

or is it possibly available at:

  /home/ubelix/geo/gilgannon/moose-compilers/petsc/petsc-3.6.4/gcc

Because I am seeing a reference to the latter on a few lines in your previous email. Also, would it be possible to ask you for the configure line you used to build PETSc?


Thanks!
Jason


To unsubscribe from this group and stop receiving emails from it, send an email to moose-users+unsubscribe@googlegroups.com.

James Gilgannon

unread,
Feb 16, 2017, 11:35:28 AM2/16/17
to moose-users
I checked where my $PETSC_DIR was

-bash-4.1$ echo $PETSC_DIR


/home/ubelix/geo/gilgannon/moose-compilers/petsc/petsc-3.6.4/gcc-opt




James Gilgannon

unread,
Feb 16, 2017, 11:36:29 AM2/16/17
to moose-users
Sorry I forgot to include the configure line used to build PETSc. I'll send that through.

Best,

James

James Gilgannon

unread,
Feb 16, 2017, 11:42:34 AM2/16/17
to moose-users
I am not completely sure what you meant about the the configure line. When I built PETSc I followed the configure lines given in the MOOSE single user cluster setup 

./configure \
--prefix=$PETSC_DIR \
--download-hypre=1 \
--with-ssl=0 \
--with-debugging=no \
--with-pic=1 \
--with-shared-libraries=1 \
--with-cc=mpicc \
--with-cxx=mpicxx \
--with-fc=mpif90 \
--download-fblaslapack=1 \
--download-metis=1 \
--download-parmetis=1 \
--download-superlu_dist=1 \
--download-scalapack=1 \
--download-mumps=1 \
CC=mpicc CXX=mpicxx FC=mpif90 F77=mpif77 F90=mpif90 \
CFLAGS='-fPIC -fopenmp' \
CXXFLAGS='-fPIC -fopenmp' \
FFLAGS='-fPIC -fopenmp' \
FCFLAGS='-fPIC -fopenmp' \
F90FLAGS='-fPIC -fopenmp' \
F77FLAGS='-fPIC -fopenmp' \
PETSC_DIR=`pwd`
Is this what you are referring to?

Best,

James

Peterson, JW

unread,
Feb 16, 2017, 11:45:46 AM2/16/17
to moose-users
On Thu, Feb 16, 2017 at 9:35 AM, James Gilgannon <jamesgi...@gmail.com> wrote:
I checked where my $PETSC_DIR was

-bash-4.1$ echo $PETSC_DIR


/home/ubelix/geo/gilgannon/moose-compilers/petsc/petsc-3.6.4/gcc-opt





That may well be your $PETSC_DIR, but configure reports there is either nothing there, or you don't have read access in that directory...

fatal error: /home/ubelix/geo/gilgannon/moose-compilers/petsc/petsc-3.6.4/gcc-opt/include/petscversion.h: No such file or directory

Can you try simply:

ls /home/ubelix/geo/gilgannon/moose-compilers/petsc/petsc-3.6.4/gcc-opt

?

--
John

James Gilgannon

unread,
Feb 16, 2017, 11:50:05 AM2/16/17
to moose-users
Hey John,

I get:

-bash-4.1$ ls /home/ubelix/geo/gilgannon/moose-compilers/petsc/petsc-3.6.4/gcc-opt


include  lib


Which suggests that it is a directory with something in it.

Best,

James

Kong, Fande

unread,
Feb 16, 2017, 11:56:31 AM2/16/17
to moose...@googlegroups.com
Looks like the PETSc has been installed in `pwd' for me, and what is your 'pwd' when you configuring PETSc.  Are you going to PETSc installed by you or the PETSc in moose environments?


Fande,

Peterson, JW

unread,
Feb 16, 2017, 11:56:41 AM2/16/17
to moose-users
On Thu, Feb 16, 2017 at 9:50 AM, James Gilgannon <jamesgi...@gmail.com> wrote:
Hey John,

I get:

-bash-4.1$ ls /home/ubelix/geo/gilgannon/moose-compilers/petsc/petsc-3.6.4/gcc-opt


include  lib


Which suggests that it is a directory with something in it.

OK, and what about

ls /home/ubelix/geo/gilgannon/moose-compilers/petsc/petsc-3.6.4/gcc-opt/include

?  If that works, try:

ls -al /home/ubelix/geo/gilgannon/moose-compilers/petsc/petsc-3.6.4/gcc-opt/include/petscversion.h

--
John

James Gilgannon

unread,
Feb 16, 2017, 12:01:50 PM2/16/17
to moose-users
At that stage of the install 'pwd' was:

cd $CLUSTER_TEMP/petsc-3.6.4

but that part of the install seemed to work fine, it was only later on when I tried to build the libmesh that I had issues. 

I lifted the PETSc configure. directly from the install instructions here http://mooseframework.org/wiki/ClusterInstructions/ClusterSetupSingleUser/ 

Best,

James

James Gilgannon

unread,
Feb 16, 2017, 12:03:39 PM2/16/17
to moose-users
Hey John,
 It didn't seem to like the second command:

-bash-4.1$ ls /home/ubelix/geo/gilgannon/moose-compilers/petsc/petsc-3.6.4/gcc-opt/include


cmumps_c.h            fortran_matrix.h                             HYPRE_krylov.h                _hypre_struct_ls.h  mumps_c_types.h         superlu_ddefs.h


cmumps_root.h         gklib_defs.h                                 HYPRE_lobpcg.h                HYPRE_struct_ls.h   old_colamd.h            superlu_defs.h


cmumps_struc.h        gklib_rename.h                               HYPRE_matrix_matrix_protos.h  _hypre_struct_mv.h  par_csr_block_matrix.h  superlu_enum_consts.h


Cnames.h              gklib_tls.h                                  HYPRE_MatvecFunctions.h       HYPRE_struct_mv.h   par_csr_matmultivec.h   superlu_zdefs.h


csr_block_matrix.h    html_mainpage.h                              _hypre_parcsr_ls.h            _hypre_utilities.h  par_csr_pmvcomm.h       supermatrix.h


csr_matmultivec.h     HYPRE_config.h                               HYPRE_parcsr_ls.h             HYPRE_utilities.h   parmetis.h              temp_multivector.h


cublas_utils.h        HYPRE_DistributedMatrixPilutSolver_protos.h  _hypre_parcsr_mv.h            interpreter.h       par_multivector.h       util_dist.h


dcomplex.h            HYPRE_DistributedMatrixPilutSolver_types.h   HYPRE_parcsr_mv.h             krylov.h            psymbfact.h             zmumps_c.h


distributed_matrix.h  HYPRE_error_f.h                              HYPRE_seq_mv.h                lobpcg.h            seq_multivector.h       zmumps_root.h


dmumps_c.h            HYPREf.h                                     _hypre_sstruct_ls.h           machines.h          seq_mv.h                zmumps_struc.h


dmumps_root.h         HYPRE.h                                      HYPRE_sstruct_ls.h            metis.h             smumps_c.h


dmumps_struc.h        _hypre_IJ_mv.h                               _hypre_sstruct_mv.h           multivector.h       smumps_root.h


fortran.h             HYPRE_IJ_mv.h                                HYPRE_sstruct_mv.h            mumps_compat.h      smumps_struc.h


-bash-4.1$ ls -al /home/ubelix/geo/gilgannon/moose-compilers/petsc/petsc-3.6.4/gcc-opt/include/petscversion.h


ls: cannot access /home/ubelix/geo/gilgannon/moose-compilers/petsc/petsc-3.6.4/gcc-opt/include/petscversion.h: No such file or directory


-bash-4.1$



Kong, Fande

unread,
Feb 16, 2017, 12:11:54 PM2/16/17
to moose...@googlegroups.com
On Thu, Feb 16, 2017 at 10:03 AM, James Gilgannon <jamesgi...@gmail.com> wrote:

Hey John,
 It didn't seem to like the second command:

-bash-4.1$ ls /home/ubelix/geo/gilgannon/moose-compilers/petsc/petsc-3.6.4/gcc-opt/include


cmumps_c.h            fortran_matrix.h                             HYPRE_krylov.h                _hypre_struct_ls.h  mumps_c_types.h         superlu_ddefs.h


cmumps_root.h         gklib_defs.h                                 HYPRE_lobpcg.h                HYPRE_struct_ls.h   old_colamd.h            superlu_defs.h


cmumps_struc.h        gklib_rename.h                               HYPRE_matrix_matrix_protos.h  _hypre_struct_mv.h  par_csr_block_matrix.h  superlu_enum_consts.h


Cnames.h              gklib_tls.h                                  HYPRE_MatvecFunctions.h       HYPRE_struct_mv.h   par_csr_matmultivec.h   superlu_zdefs.h


csr_block_matrix.h    html_mainpage.h                              _hypre_parcsr_ls.h            _hypre_utilities.h  par_csr_pmvcomm.h       supermatrix.h


csr_matmultivec.h     HYPRE_config.h                               HYPRE_parcsr_ls.h             HYPRE_utilities.h   parmetis.h              temp_multivector.h


cublas_utils.h        HYPRE_DistributedMatrixPilutSolver_protos.h  _hypre_parcsr_mv.h            interpreter.h       par_multivector.h       util_dist.h


dcomplex.h            HYPRE_DistributedMatrixPilutSolver_types.h   HYPRE_parcsr_mv.h             krylov.h            psymbfact.h             zmumps_c.h


distributed_matrix.h  HYPRE_error_f.h                              HYPRE_seq_mv.h                lobpcg.h            seq_multivector.h       zmumps_root.h


dmumps_c.h            HYPREf.h                                     _hypre_sstruct_ls.h           machines.h          seq_mv.h                zmumps_struc.h


dmumps_root.h         HYPRE.h                                      HYPRE_sstruct_ls.h            metis.h             smumps_c.h


dmumps_struc.h        _hypre_IJ_mv.h                               _hypre_sstruct_mv.h           multivector.h       smumps_root.h


fortran.h             HYPRE_IJ_mv.h                                HYPRE_sstruct_mv.h            mumps_compat.h      smumps_struc.h


-bash-4.1$ ls -al /home/ubelix/geo/gilgannon/moose-compilers/petsc/petsc-3.6.4/gcc-opt/include/petscversion.h


ls: cannot access /home/ubelix/geo/gilgannon/moose-compilers/petsc/petsc-3.6.4/gcc-opt/include/petscversion.h: No such file or directory


-bash-4.1$





You do not have PETSc installed here, you may miss the command line ``make all"? What you have done?


 

Miller, Jason M

unread,
Feb 16, 2017, 12:14:00 PM2/16/17
to moose...@googlegroups.com
James,

Not trying to swamp you with emails, but what I think happened, is you have an incomplete build of PETSc. When I look over the instructions you followed and the results of your `ls` command, I believe you have yet to run the actual `make` and `make install` commands. The configure portion I am positive you have completed:

./configure \
--prefix=$PETSC_DIR \
--download-hypre=1 \
--with-ssl=0 \
--with-debugging=no \
--with-pic=1 \
--with-shared-libraries=1 \
--with-cc=mpicc \
--with-cxx=mpicxx \
--with-fc=mpif90 \
--download-fblaslapack=1 \
--download-metis=1 \
--download-parmetis=1 \
--download-superlu_dist=1 \
--download-scalapack=1 \
--download-mumps=1 \
CC=mpicc CXX=mpicxx FC=mpif90 F77=mpif77 F90=mpif90 \
CFLAGS='-fPIC -fopenmp' \
CXXFLAGS='-fPIC -fopenmp' \
FFLAGS='-fPIC -fopenmp' \
FCFLAGS='-fPIC -fopenmp' \
F90FLAGS='-fPIC -fopenmp' \
F77FLAGS='-fPIC -fopenmp' \
PETSC_DIR=`pwd`

But then, in smaller print on our instructions, you need to perform two more commands, which we will not know due to the difference between systems:

"""
During the configure/build process, you will be prompted to enter the correct make / make install commands. Because this can be different from system to system, I leave that task to the reader.
"""

The "configure" portion that we know you did run, will actually create the directory structure you currently do have. Those files you see listed there, are all the "contribs" that we asked you to include:

--download-fblaslapack=1 \
--download-metis=1 \
--download-parmetis=1 \
--download-superlu_dist=1 \
--download-scalapack=1 \
--download-mumps=1 \

But PETSc itself has yet to be built/installed. The two commands you _probably_ need to run within the petsc build directory (the place where you extracted the petsc-3.6.4.tar.gz file):

make MAKE_NP=1 PETSC_DIR=`pwd` PETSC_ARCH=arch-linux2-c-opt all
make PETSC_DIR=`pwd` PETSC_ARCH=arch-linux2-c-opt install

Try those two commands... but those might fail. In which case, it would be easier to start over with the step of building PETSc.


Thanks!
Jason




--
You received this message because you are subscribed to the Google Groups "moose-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to moose-users+unsubscribe@googlegroups.com.

James Gilgannon

unread,
Feb 16, 2017, 12:20:19 PM2/16/17
to moose-users
Thanks Jason,

At the time when I read that part I thought because I wasn't promoted to 'make' that i didn't need to do it. I guess I did :)

Thanks for taking the time everyone. I am about to head home but when I get there I will try go through the whole process again but this time 'make'.

I will let you know if it still doesn't work, however I am guessing this is the problem.

Thanks again,

Best,

James
To unsubscribe from this group and stop receiving emails from it, send an email to moose-users...@googlegroups.com.

James Gilgannon

unread,
Feb 16, 2017, 4:00:20 PM2/16/17
to moose-users
It worked :)

Thanks for indulging my inability to read a prompt :)

Best,

James 
Reply all
Reply to author
Forward
0 new messages