[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