[petsc-dev] Why is -I$PETSC_DIR/src/dm/mesh/sieve in CLINKER even when configured without Sieve?
Satish Balay
balay at mcs.anl.gov
Mon Oct 11 22:55:32 CDT 2010
There is no
On Tue, 12 Oct 2010, Jed Brown wrote:
> Does it even need to be there at all? Must things like "Map.hh" be in the
> public namespace like this?
PETSC_DIR/src/dm/mesh/sieve is coming from examples/tutorials/makefile
[not configure] - so its always there - irrespective of sieve. [the
public includes should never be in src - so this does need fixing]
> Do we really need -I/usr/lib? How about -I/usr/local/include (my
> /usr/local is empty so configure definitely didn't find anything
> there, it's not mentioned in my environment either).
> How about /usr/include (which is a system directory and need not,
> indeed should not, be specified explicitly)
-I/usr/lib -I/usr/include [and perhaps -L/usr/lib] are the artifacts
of '--with-hdf5-dir=/usr --with-parmetis-dir=/usr' etc..
I guess garbage in garbage out here. [not sure if configure should
overide user speified wish here..]
> and /usr/lib/openmpi which has no C headers in it and really
> shouldn't be specified either.
This must be coming from your MPI install. I suspect
/usr/local/include is also from there. check 'mpicc -show' and
'mpif90 -show'. Configure.log will have details.
> Why can't I have -I$PETSC_DIR/$PETSC_ARCH/include
> -I$PETSC_DIR/include and *nothing* else unless I have packages in
> non-system directories?
The additonal stuff is the language inter-operability sutff - and some
of the external package dependency stuff.
Satish
> This with current -dev, it was cleaner with 3.1 where at least
> /usr/lib and /usr/local/include were not shoved in there. I haven't
> checked when they crept in.
>
> /usr/bin/mpicc -o ex51.o -c -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing
> -Wno-unknown-pragmas -g3 -I/home/jed/petsc/src/dm/mesh/sieve
> -I/home/jed/petsc/ompi/include -I/home/jed/petsc/include -I/usr/include
> -I/usr/lib/openmpi -I/home/jed/petsc/ompi/include -I/usr/lib
> -I/usr/local/include -D__INSDIR__=src/ksp/ksp/examples/tutorials/ ex51.c
>
> #!/usr/bin/python
> if __name__ == '__main__':
> import sys
> import os
> sys.path.insert(0, os.path.abspath('config'))
> import configure
> configure_options = [
> '--with-zoltan-dir=/usr',
> '--download-ml',
> '--with-blas-lapack-dir=/usr',
> '--download-pastix',
> '--download-blacs',
> '--download-chaco',
> '--with-hdf5-dir=/usr',
> '--with-sowing',
> '--download-superlu_dist',
> '--with-cholmod-dir=/usr',
> '--download-spooles',
> '--download-sundials',
> '--download-hypre',
> '--with-c2html',
> '--with-mpi-dir=/usr',
> '--with-umfpack-dir=/usr',
> '--with-parmetis-dir=/usr',
> '--with-single-library=0',
> '--download-scalapack',
> '--with-java-dir=/usr',
> '--with-lgrind',
> '--download-mumps',
> 'PETSC_ARCH=ompi',
> '--download-superlu',
> '--download-scotch',
> '--download-spai',
> '--with-shared-libraries',
> ]
> configure.petsc_configure(configure_options)
>
More information about the petsc-dev
mailing list