Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: scitech digest, Vol 2 #629 - 8 msgs



On Jan 26, 2004, at 11:23 AM, Sean Ahern wrote:

Rich Cook wrote:
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.

References: 
 >Re: scitech digest, Vol 2 #629 - 8 msgs (From: Bill Northcott <email@hidden>)
 >Re: scitech digest, Vol 2 #629 - 8 msgs (From: Rich Cook <email@hidden>)
 >Re: scitech digest, Vol 2 #629 - 8 msgs (From: Sean Ahern <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.