[tex-live] One problem located with ttf2pk configure (in fact with kpathsea install) on Mac OS X
Gerben Wierda
sherlock@rna.nl
Thu, 2 May 2002 20:58:51 +0200
I have located one problem with ttf2pk configuration when running make
extras on Mac OS X. On Mac OS X (and some other systems) the linker will
not accept a library file that has a table of contents that is older
than the file date. This means that the default 'make install' in
kpathsea (which uses /usr/bin/install -c to create a copy of
libkpathsea.a in the install directory) is not correct for Mac OS X.
There are two solutions:
1. Either run a ranlib after having copied it
2. Use /usr/bin/install -p -c
Both may not be 100% portable as not all systems have ranlib and maybe
not all systems have the -p flag for install (which preserves
modification times).
The problem (apart from that make install produces a libkpathsea.a that
is not usable) has been corrected so far by me by running a ranlib
myself before packaging my binaries, which is of course not the best
solution.
And the way 'make extras' is implemented defeats that approach, because
there a 'make install' is *forced* in kpathsea, thus producing, in the
current situation, an unusable libkpathsea.a in the install location
after which configure of ttf2pk fails. I tested by adding the -p flag to
the Makefile of kpathsea and this solved this particular problem. (There
might be another problem still, as I have symlinked a bit on my system
to make sure the library is found and I have to revert that still and
test, a test which is now underway).
So, in short there are three solutions:
a. remove the 'make install on kpathsea from the make extras'. This is a
dirty fix, because the original problem is still there, but it enables
me to circumvent it more easily.
b. make sure 'make install' in kpathsea produces a library with a table
of contents of a later date than the file modification date, either by
running another ranlib or by using /usr/bin/install -c.
Maybe the latter one is easiest. When
/usr/bin/install -p -c
is used on Mac OS X (this can be a generic setting) it should all work
out.
G