this sounds more like a rant against fink's habit of putting things
in /sw
instead of /usr/local... if fink put things in /usr/local, you'd
have a
pretty "vanilla" arrangement, no?
Not exactly. The problem with fink is that you can't guarantee that it
exists on any particular box. The same thing would happen no matter
if you
had it install things in /sw or /usr/local. The same would be true for
DarwinPorts.
Well, you can't guarantee that *anything* exists except what comes with
the OS. So what? That's not a hit against fink in particular. I
thought the poster was complaining that fink doesn't respect OS X's
convention of using Frameworks to organize stuff, which I try not to
get too annoyed by.
What Bill Northcott was suggesting instead was:
Darwin/MacOS X has really neat ways of letting you package everything
you need into an application bundle or a Framework and not trample on
anything else in the system, which does not suck.
In that way, you'd carry all dependent libraries inside your own
Framework
or bundle and wouldn't have to worry about external dependencies.
While I like this solution for the most part, I see are three potential
problems:
1) You start bloating the disk. If 10 different binaries contained
the VTK
libraries, for instance, in their bundles, you end up taking up 10
times
the disk space that you otherwise would need.
2) You start bloating memory. I presume that Darwin wouldn't know
that the
10 individual VTK libraries are actually the same thing, and would
load
separate copies into memory at each binary invocation.
I think dynamically loaded bundles solve these two issues.
3) I don't know how this works for regular UNIX binaries that aren't
packaged in a bundle. I supposed you could still use the Framework
method and link against that, but I am just ignorant about how that
would
work.
THIS is my main point. Most of the Unix community does not organize
their code this way, so it's just a hassle on the Unix side.
Unix-wise, it is convention to throw everybody's libs into a few
../../lib directories, which are put in the compiler's search path.
The way Apple does it, you have to put a -framework flag for each
library you want to use in addition to the -lname flag to the compiler,
if I understand correctly.
It boils down to very little difference in my mind, conceptually.
Instead of several packages, divided into lib, bin, include, etc, you
have several package directories, each with their own lib, bin,
include, etc... Wow, what a leap forward. :-|
__
email@hidden
925-422-1648
--
Richard Cook
Lawrence Livermore National Laboratory
Bldg-451 Rm-2043, Mail Stop L-561
7000 East Avenue, Livermore, CA, 94550, USA
phone (925) 423-9605 (work) fax (925) 423-8704
---
Information Management & Graphics Grp., Services & Development Div.,
Integrated Computing & Communications Dept.
(opinions expressed herein are mine and not those of LLNL)
_______________________________________________
scitech mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/scitech
Do not post admin requests to the list. They will be ignored.