On Jul 26, 2010, at 12:04 PM, Satish Balay wrote:

> Barry,
> 
> I've added code in petsc-dev that warns users of the env variables
> [does not ask them to unset]. It then ignores these values - and never
> uses them in configure process.

  Where is the check, I cannot find it anywhere?

   Barry

> 
> Wrt Aron's usage: - he is specifying them at command line - which is
> valid.
> 
> [also the changes are in petsc-dev - and Arron is using petsc-3.1]
> 
> Satish
> 
> 
> On Mon, 26 Jul 2010, Barry Smith wrote:
> 
>> 
>> On Jul 26, 2010, at 6:48 AM, Aron Ahmadia wrote:
>> 
>> 
>>   Aron,
>> 
>>    We are violently opposed to using environment variables to set configure 
>> options. It is a terrible interface because it is way too easy for people to 
>> screw up, they set some environmental variables in their .login files and 
>> then forget they set them and we waste hours trying to debug what has gone 
>> wrong. We consider the autoconf people to be numbskills for introducing them.
>> 
>>    I want Satish to add code to ./config/configure.py to check for any 
>> environmental variables that are set and tell the user to unset them before 
>> calling ./configure and to remove all uses of them by BuildSystem. For some 
>> reason they still exist in places in BuildSystem and Satish hasn't added 
>> code to reject them. I guess some people like the hassle of ill-defined user 
>> interfaces.
>> 
>>   Matt and Satish, can we finally fix this for once and for all?
>> 
>>   Barry
>> 
>> 
>> 
>>>>>>> 
>>>>>>>> A
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Mon, Jul 26, 2010 at 11:42 AM, Aron Ahmadia <
>>>>>>>> aron.ahmadia at kaust.edu.sa> wrote:
>>>>>>>> 
>>>>>>>>> Hey Matt,
>>>>>>>>> 
>>>>>>>>> It seems to me that when I tell PETSc how to compile/link, it should
>>>>>>>>> listen.  More specifically, if I have set the environment variables 
>>>>>>>>> CC,
>>>>>>>>> CFLAGS, CXX, CXXFLAGS, LDFLAGS, and FC, and I haven't re-specified 
>>>>>>>>> them in
>>>>>>>>> configure, they should be respected.
>>>>>>>>> 
>>>>>>>>> Instead, it goes digging around for an MPI compiler (oh really
>>>>>>>>> BuildSystem, you know which compiler I want better than I do?) and 
>>>>>>>>> throws
>>>>>>>>> away my entire environment.  So I have to hamfist around it like this:
>>>>>>>>> 
>>>>>>>>> ./petsc-shaheen-process.py --with-hdf5=1 --with-parmetis=1
>>>>>>>>> --prefix=/opt/share/ksl/petsc/3.1.3/ppc450d -CC=$CC -CXX=$CXX -FC=$FC
>>>>>>>>> --CFLAGS=$CFLAGS --CXXFLAGS=$CXXFLAGS --FFLAGs=$FFLAGS 
>>>>>>>>> --LDFLAGS=$LDFLAGS
>>>>>>>>> 
>>>>>>>>> It still warns me that it's using environment variables, even when I
>>>>>>>>> have to shove them down its throat.
>>>>>>>>> 
>>>>>>>>> I can also take a crack at fixing this myself, unless there's some
>>>>>>>>> flag for doing this I might be missing.
>>>>>>>>> 
>>>>>>>>> A
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> 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
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>> 
>>> Also, you can see from the configure log that BuildSystem is blatantly 
>>> disregarding the compiler preferences I pass in on the command line.
>>> 
>>> A
>>> 
>>> On Mon, Jul 26, 2010 at 12:27 PM, Aron Ahmadia <aron.ahmadia at 
>>> kaust.edu.sa> wrote:
>>> This is the blas-lapack not being detected:
>>> 
>>> aron at fen1:~/process/installs/builddir_ppc64/petsc-3.1-p3.bgp> printenv 
>>> LDFLAGS
>>>  -L/opt/share/ksl/zlib/1.2.5/ppc450d/lib 
>>> -R/opt/share/ksl/zlib/1.2.5/ppc450d/lib -lz -lz  
>>> -L/opt/share/ksl/hdf5/1.8.5/ppc450d/lib -lhdf5_fortran -lhdf5 
>>> -lhdf5hl_fortran -lhdf5_hl  -L/opt/share/ksl/parmetis/3.1.1/ppc450d/lib 
>>> -lparmetis -lmetis  -L/opt/share/ksl/blas/pdc/ppc450d/lib -lblas  
>>> -L/opt/share/ksl/blas/pdc/ppc450d/lib -lblas  
>>> -L/opt/share/ksl/lapack/pdc/ppc450d/lib -llapack
>>> 
>>> ./petsc-shaheen-process.py --with-hdf5=1 --with-parmetis=1 
>>> --prefix=/opt/share/ksl/petsc/3.1.3/ppc450d -CC=$CC -CXX=$CXX -FC=$FC 
>>> --CFLAGS=$CFLAGS --CXXFLAGS=$CXXFLAGS --FFLAGs=$FFLAGS --LDFLAGS=$LDFLAGS 
>>> --with-hdf5-dir=/opt/share/ksl/hdf5/1.8.5/ppc450d/ 
>>> --with-parmetis-dir=/opt/share/ksl/parmetis/3.1.1/ppc450d/
>>> 
>>> A
>>> 
>>> On Mon, Jul 26, 2010 at 12:18 PM, Aron Ahmadia <aron.ahmadia at 
>>> kaust.edu.sa> wrote:
>>> can I pass in a list of directories for buildsystem to put on the path when 
>>> I specify hdf5-dir?  For whatever reason buildsystem is keeping the 
>>> libraries I specified in ldflags but throwing away my search paths...
>>> 
>>> A
>>> 
>>> 
>>> On Mon, Jul 26, 2010 at 12:17 PM, Aron Ahmadia <aron.ahmadia at 
>>> kaust.edu.sa> wrote:
>>> I'll send you the configure log.  It's not doing that.  Now I can't get it 
>>> to detect HDF5 with z-lib compression because it throws away my LDFLAGS 
>>> when it tries to build hdf5 which requires libz to be on the library path.
>>> 
>>> A
>>> 
>>> 
>>> On Mon, Jul 26, 2010 at 12:08 PM, Matthew Knepley <knepley at gmail.com> 
>>> wrote:
>>> On Mon, Jul 26, 2010 at 6:50 PM, Aron Ahmadia <aron.ahmadia at 
>>> kaust.edu.sa> wrote:
>>> Also, it doesn't check to see if the blas/lapack are already available 
>>> through the user's environment, it immediately starts popping on random 
>>> libraries...
>>> 
>>> I do not understand what you mean by "available through the user env". It 
>>> definitely checks for BLAS/LAPACK
>>> with no args first (other than -lblas -llapack).
>>> 
>>>  Matt
>>> 
>>> A
>>> 
>>> 
>>> On Mon, Jul 26, 2010 at 11:42 AM, Aron Ahmadia <aron.ahmadia at 
>>> kaust.edu.sa> wrote:
>>> Hey Matt,
>>> 
>>> It seems to me that when I tell PETSc how to compile/link, it should 
>>> listen.  More specifically, if I have set the environment variables CC, 
>>> CFLAGS, CXX, CXXFLAGS, LDFLAGS, and FC, and I haven't re-specified them in 
>>> configure, they should be respected.
>>> 
>>> Instead, it goes digging around for an MPI compiler (oh really BuildSystem, 
>>> you know which compiler I want better than I do?) and throws away my entire 
>>> environment.  So I have to hamfist around it like this:
>>> 
>>> ./petsc-shaheen-process.py --with-hdf5=1 --with-parmetis=1 
>>> --prefix=/opt/share/ksl/petsc/3.1.3/ppc450d -CC=$CC -CXX=$CXX -FC=$FC 
>>> --CFLAGS=$CFLAGS --CXXFLAGS=$CXXFLAGS --FFLAGs=$FFLAGS --LDFLAGS=$LDFLAGS
>>> 
>>> It still warns me that it's using environment variables, even when I have 
>>> to shove them down its throat.
>>> 
>>> I can also take a crack at fixing this myself, unless there's some flag for 
>>> doing this I might be missing.
>>> 
>>> A
>>> 
>>> 
>>> 
>>> 
>>> -- 
>>> 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
>>> 
>>> 
>>> 
>>> 
>> 
>> 
>> 
> 


Reply via email to