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