[petsc-dev] Why is -I$PETSC_DIR/src/dm/mesh/sieve in CLINKER even when configured without Sieve?

Barry Smith bsmith at mcs.anl.gov
Tue Oct 12 00:24:28 CDT 2010


  We could filter /usr and /usr/local stuff at the end when we print the variables out into the petscvariables makefile.  But can we ALWAYS be sure it is ok to filter them?


   Barry

On Oct 11, 2010, at 10:55 PM, Satish Balay wrote:

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