On 21 Sep 2007, at 18:44, LiKai Liu wrote:

> The reason NoSetCPPFLAGS and NoSetLDFLAGS are in xetex.info is because
> xetex is supposed to be self-contained. It supplies its own third- 
> party
> libraries in the libs/ directory.
If fink's policy is that pkgs should build shared libs if at all  
possible,
one can presume this is so that those be really shared _ ie, that
other pkgs should use them if at all possible, using at least all
available --with-system, etc
> Without the NoSet directives, xetex
> would end up using the Fink ones, which causes compile and link  
> problems.
I don't see this _ cf below
> That said, it's not supposed to have any external expat dependencies.
>
> I think the offender is somewhere in libs/teckit. It seems that SFconv
> uses expat,
right , the sfconv executable is the only one that takes symbols from  
libexpat
_ and is very happy with it, and is anyway not installed !
so there is no expat dep anyway ! just a builddep on expat1 (which is  
anyway
'almost' an essential pkg) to avoid eg Jens Noeckel's trouble..
> but it should be using its own copy.
Why ? Why re-create existing libs ?? And for something that's not  
even going to be installed !
> I'll need some time to
> take a look at this. By the way, can you send me a copy of the failed
> build output without SetLIBRARY_PATH setting?
>
> One of these days, I wish someone would write a tutorial on how to  
> cleanly
> isolate paths for those packages that prefer to use its own supplied
> third-party library.
cf above.  They shouldn't !
> Both for the package maintainer and for upstream
> Makefile authors.
____________
I think you didn't notice the difference between LDFLAGS and  
LIBRARY_PATH.
I can imagine that with %p/lib in the LDFLAGS, you might get some  
trouble, when
eg the flag comes before flags to the builddir..
But with LIBRARY_PATH that risk disappears.
So, to check on your claim, I did a build of unmodified xetex  (no  
install: I don't want
it to clobber all my configuration files! _and the attempted patch of  
them would more
than likely fail, since they ARE configured !)  _  and then rebuilt  
with the
following modifications:

# diff xetex.info xetex.info.new
62a63
 > SetLIBRARY_PATH: %p/lib/freetype219/lib:%p/lib
64a66,67
 > export PATH=%p/lib/freetype219/bin:${PATH}
 > export CPATH=%p/lib/freetype219/include:%p/lib/freetype219/include/ 
freetype2:%p/include
72c75
<       ../configure --prefix=%p --datadir=%p/share --with-system- 
zlib || exit
---
 >       ../configure --prefix=%p --datadir=%p/share --with-system- 
zlib --with-system-pnglib --with-system-freetype2 --with-system-icu||  
exit
85c88
<               LIBS="teckit icu-xetex freetype2"
---
 >               LIBS="teckit icu-xetex"

The CPATH stuff is just there as the brother of SetLIBRARY_PATH,
and the "with-system" come from:
"for f in `find . -name configure`; do echo $f; $f --help; done|fgrep  
with-system"
In order not to introduce a dep on x11, I decided to use freetype219  
as the
providing the --with-system-freetype2, hence the freetype additions  
to PATH,
CPATH and LIBRARY_PATH, and then clearly freetype2 had to be removed
from the LIBS line..

Result: builds w/o a glitch; the --with-system-pnglib seems w/o  
effect, but nothing
seems anyway to be built related to png; the  --with-system-icu seems  
also w/o
effect, but that is the case with many other pkgs, and probably  
results from
incompleteness of Apple's libicu (and/or of fink's libicu32-dev in  
failing to
supplement suficiently).
But the --with-system-freetype2 was effective; the only 'Mach-O' file  
in the whole
builddir that linked with it was xetex itself, but this one did take  
a dozen of
symbols from it, and this resulted in a size-reduction of 350K for the
installed xetex executable.

JF Mertens

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Fink-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fink-users

Reply via email to