[tlbuild] linking against expat ... why

Norbert Preining preining at logic.at
Tue Sep 15 16:52:48 CEST 2009

Hi Peter,

On Di, 15 Sep 2009, Peter Breitenlohner wrote:
> (1) On systems using ELF (e.g., linux) or on Solaris (I think),
>   objdump -p xetex
> should give you the same info.

Ah, true, there they are:
Dynamic Section:
  NEEDED               libfontconfig.so.1
  NEEDED               libm.so.6
  NEEDED               libc.so.6
  NEEDED               ld-linux-x86-64.so.2


> (2) This is at least in parts a libtool problem.  When linking against
> libfontconfig libtool tries to locate a libfontconfig.la file which contains
> among many other things a list of libraries libfontconfig depends on.
> If such a file is found libtool (recursively) adds these additional libraries
> to the command line and the resulting executable will depend explicitly on
> them.  This is needed on some systems that do not encode these dependencies
> into the shared libraries.

Bummer. Ok, thanks for the explanation. So the best would be to inform
people that they should (temporarly) remove all .la files before building
TeX Live or xetex. Hmm, not so easy.

I assume there is no way to tell libtool not to do this recursive .la
search and include thingy. Pity.

If there is that would allow people to build with or without indirect 
linking depending on their system, something like
	Build --no-la-linking

> However, on systems that do not encode these dependencies into the shared
> libraries either the link step or the resulting executable will fail with
> unresolved symbols.

Yes true, but eg on linux we can be sure that they are encoded (can we?).
AFAIS the new xetex bins with these implicit linking didn't create problems.

Thanks a lot for your explanations, as usual they were very helpful!!!!

All the best


Dr. Norbert Preining <preining at logic.at>        Vienna University of Technology
Debian Developer <preining at debian.org>                         Debian TeX Group
gpg DSA: 0x09C5B094      fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
The erection you cannot conceal because you're not wearing a jacket.
			--- Douglas Adams, The Meaning of Liff

More information about the tlbuild mailing list