[petsc-dev] PETSc-3.4 PR open at https://github.com/Homebrew/homebrew-science/pull/343
Barry Smith
bsmith at mcs.anl.gov
Sat Oct 12 14:47:54 CDT 2013
1) So what directories should we be generating in the prefix location and
2) exactly what files should we be copying over (currently I think we just copy entire directories worth of material which results in garbage being moved over)
1) prefix/bin
prefix/share
prefix/include prefix/include/mpiuni (when needed) prefix/include/petsc-private prefix/include/finclude and various other subdirectories for f90?
prefix/lib prefix/lib/modules (Jed says prefix/lib/petsc/modules) I see a lib/modules/3.4.2 why does this have a version number and nothing else?
prefix/conf ?
What is the rule for putting a "petsc" subdirectory in the middle? My guess is that it is being put in whenever a "nonstandard" subdirectory is put in. What defines a "nonstandard" subdirectory? Isn't mpiuni a nonstandard subdirectory? What about finclude? What about conf? What is the standard for where module files are put, not allowed directly in the lib directory? But not in a "standard" modules subdirectory? Some people advocate modules in prefix/finclude. Since include is supposed to be reserved for C includes should our finclude directory not be under the include directory?
We should try to be as "standard" compliant as reasonable. Should we be adjusting the non-prefix installs as well?
Barry
On Oct 12, 2013, at 10:26 AM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
> Aron Ahmadia <aron at ahmadia.net> writes:
>
>> Hi All,
>>
>> The PR has raised a few issues in what PETSc does when it performs a
>> prefix install. In particular, PETSc generates the following files:
>>
>> $PREFIX/include/makefile
>> $PREFIX/lib/modules/3.4.1
>>
>> Neither of these have been properly namespaced. I'd suggest changing these to:
>>
>> $PREFIX/include/petsc/makefile
>> $PREFIX/lib/modules/petsc/3.4.1
>
> Hmm, prefix install looks like a mess.
>
> * all the ftn-auto tmpdir stuff should _not_ be installed
> * include/mpiuni should only be installed when mpiuni is selected
> * the HTML files should never be installed
> * makefiles in the include directories should never be installed
> * conf/ stuff should only install rules and variables, but need to namespace
> * bin/maint/* cannot be installed under those names
> * same story with bin/matlab; it should go in $prefix/share/petsc/
> * non-namespaced stuff in bin/ must be eradicated
> * lib/modules should be lib/petsc/modules or similar
> * lib/.DIR must not be installed
> * $prefix/.nagged must not be installed
>
> We really need to fix all of this for v3.5.
>
>> I'm not sure about the latter, I really don't know how package
>> managers deal with local modules install, or if it's worth even
>> putting it in if the user is requesting a PREFIX install.
>>
>> Another option would be to include the PETSc ARCH in the directory namespacing:
>>
>> $PREFIX/include/petsc/linux-gnu/makefile
>> $PREFIX/lib/modules/petsc/linux-gnu/3.4.1
>
> I think we decided that with prefix installs, people use a different
> prefix to distinguish different PETSC_ARCH. Do you want to revisit that
> choice? I'm not sure about versioning, but it seems to me that it's
> moot until we start using soname versioning. How would the user select
> which version of PETSc they want to use?
More information about the petsc-dev
mailing list