[petsc-dev] PETSc-3.4 PR open at https://github.com/Homebrew/homebrew-science/pull/343
Aron Ahmadia
aron at ahmadia.net
Sat Oct 12 19:01:33 CDT 2013
Sorry, the homebrew folks are doing a decent job of working correctly
in the open source OS X space. There are a million package managers
doing a reasonably good job in the GNU/Linux world.
A
On Sat, Oct 12, 2013 at 8:00 PM, Aron Ahmadia <aron at ahmadia.net> wrote:
>> This whole prefix/include and prefix/lib seems rather silly and archaic; who uses it but the gnu/linux people ? For example on MacOS the PETSc install location is /Library/Frameworks/PETSc.framework, on Windows they must have some convention but it sure as hell doesn't use include and lib.
>>
>
> Barry, your code runs on Supercomputers. Last time I checked, there 3
> Windows machines on the Top 500, and no OS X machines. Even leaving
> that model, the homebrew folks, who seem to be the only ones operating
> correctly in the open source space, use a prefix installer. Your
> general audience is scientific software developers. They equally
> develop in Windows, OS X, and Linux. But computational scientists
> overwhelmingly use Linux-ish environments.
>
>> Why does the linux world (which is tiny) cling to this archaic model?
>>
>
> Because the only way to build massive systems of interoperating
> components is to establish archaic APIs and pray that you don't have
> to break them. This has gone poorly for every Linux distribution that
> has tried. See Jed's earlier comments about the Linux Standard Base:
> http://www.linuxfoundation.org/collaborate/workgroups/lsb
>
>> Since the #include <petsc/petscvec.h> can handle the includes, it all comes down to the single -llibpetsc issue of working without requiring a -L flag. We could put the library in prefix/lib/petsc and then make a link back up to the prefix/lib directory.
>>
>
> I see why this might be more aesthetic, but it's not the way things
> are done, so you shouldn't do it.
>
>> We could also put put everything in prefix/petsc and then scatter the needed links in for the standard locations.
>>
>
> No. This is the package manager's job.
>
>> Has anyone in the gnu/linux world came out with viable replacements for the /include /lib mess they have now that allows all the parts of a library package to go together rather than being spewed in several directories?
>
> This is why package managers exist. If you play by the standard
> prefix rules, they can deal with the joys of managing multiple
> versions of your software. If your software breaks these rules, you
> don't motivate anybody to help get your software portably installed.
>
> A
More information about the petsc-dev
mailing list