[OS X TeX] Finally we are grown up
Anthony Morton
amorton at fastmail.fm
Sun Nov 19 05:18:09 CET 2006
> It is all very nice mingling with the crowd if the crowd consists
> essentially of yourself and your family. As soon as strangers get in,
> things quickly become much less cosy. Enrico mentioned the problem of
> dependency on a particular version of a library, and this is
> impossible to solve if several third-party applications install their
> libraries in the same default places /usr/local/lib and /Library.
> These default places rather quickly become ugly garbage dumps where
> after a while you don't even know where the things came from that you
> find there.
Not sure I really see the problem here. If a bunch of third-party apps
between them depend on (say) two specific versions of some library,
then having those two versions installed in /usr/local/lib with a
generic name symlinked to the latest version is quite simply the most
convenient and simple approach to use. If your installed software
really does depend on these different versions then the only
alternative is to have these diffferent library versions installed in
different locations, which IMO is even worse than having them all
safely tucked away in /usr/local/lib where they're easy to find.
And since everything in /usr/local is entirely under your control as
the local admin, there's nothing to stop you deleting the entire
/usr/local tree and then reinstalling just the software you currently
use. (Of course it's better to use package uninstallers since some
software also has side-effects like setting your PATH, but that's
another issue.)
What would be useful is a way of easily walking through all your
installed binaries and reporting which are linked against specific
libraries. That would tell you when it's safe to clean out an old
version of a library that's cluttering up your filesystem.
> - If your ImageMagick is linked against a certain version of
> libfreetype, then replacing that version of libfreetype by one with a
> lower compatibility version (although the main library version may be
> the same) will make the ImageMagick binaries crash. Replacing it with
> a later version may or may not work, depending on backward
> compatibility of the new library (and backward compatibility was not
> one of the strong points of freetype2 in the past). Likewise,
> installing libfreetype with i-installer may make other applications
> crash that are expecting a different version in the default places.
At least with dynamically linked libraries, it's entirely possible to
have two different versions of the same library in the same directory.
What you do need is a simple check when installing a library that you
don't overwrite any symlinks that point to a later version. Of course,
this is required no matter where you install your libraries, unless
every piece of software maintains local copies of all third-party
libraries it links against.
> - The current release 2.2.1 of freetype2 is broken on OSX/Intel when
> the old-mac-fonts feature is activated. A patch is known, and you may
> be incorporating it into your release or not, I don't know. But if
> some other application or a standalone install of freetype2 installs
> the "official" libfreetype-2.2.1, you will get crashes that you cannot
> control.
Again, an intelligent (i-)installer would seek confirmation upon
discovering that libfreetype-2.2.1 already exists on your system,
particularly if the modification date is later than the date on the
library it's installing.
> Or one uses a package manager like Fink or MacPorts (FKA DarwinPorts)
> to control everything outside of the system. This is similar to what
> every Linux distribution is doing. It is also where i-installer seemed
> to be heading recently ("everything" then meaning "everything a
> typical latex user might be interested in"), but it is much too big a
> task for a single person to manage, it needs a community of >
> developers.
The problem with this of course being that if your chosen package
manager doesn't provide the particular piece of software you need (or
doesn't provide the most up-to-date version) then you're left high and
dry. You're dependent on a particular subset of the developer
community.
Cheers,
Tony M.
------------------------- Info --------------------------
Mac-TeX Website: http://www.esm.psu.edu/mac-tex/
& FAQ: http://latex.yauh.de/faq/
TeX FAQ: http://www.tex.ac.uk/faq
List Archive: http://tug.org/pipermail/macostex-archives/
More information about the macostex-archives
mailing list