[tlbuild] first build for TeX Live 2008

Jonathan Kew jonathan_kew at sil.org
Wed May 21 23:52:52 CEST 2008


On 21 May 2008, at 9:57 pm, Jukka Salmi wrote:

> Hello,
>
> Vladimir Volovich --> tlbuild (2008-05-21 13:08:13 -0700):
>> "JS" == Jukka Salmi writes:
>>
>>  JS> However, some TL binaries built for NetBSD 3 don't run on  
>> NetBSD >3
>>  JS> because the major numbers of some libraries (libstdc++, libz)
>>  JS> changed.
>>
>> apart from xetex and xdvipdfmx, which need fontconfig system  
>> library and
>> thus may link via indirect dependencies to some other libraries, no
>> other binary in texlive build should link to a system libstdc++,  
>> libz.
>> if it does, it is a bug.
>
> hmm, here all of the TL binaries link with libc, most of them also
> with libm, and cfftot1, mmafm, mmpfb, otfinfo, otftotfm, t1dotlessj,
> t1lint, t1reencode and t1testpage also with libstdc++ and libgcc_s;
> xdvipdfmx and xetex have additional _direct_ dependencies:
>
> $ cd .../inst/bin/i386-unknown-netbsdelf3.1.
> $ for f in *; do
>> [ -f $f -a ! -h $f ] || continue;
>> echo $f:;
>> readelf -d $f | grep NEEDED;
>> done
> [...]
> mmafm:
>  0x00000001 (NEEDED)                     Shared library: [libstdc+ 
> +.so.5]
>  0x00000001 (NEEDED)                     Shared library: [libm.so.0]
>  0x00000001 (NEEDED)                     Shared library:  
> [libgcc_s.so.1]
>  0x00000001 (NEEDED)                     Shared library: [libc.so.12]
> [...]

I guess there may not be an option to link statically with the C and C 
++ runtime libs; this isn't supported (in TL at least) for all  
platforms. Pity, though, as that may be a source of incompatibilities.

> xdvipdfmx:
>  0x00000001 (NEEDED)                     Shared library: [libm.so.0]
>  0x00000001 (NEEDED)                     Shared library:  
> [libfontconfig.so.1]
>  0x00000001 (NEEDED)                     Shared library:  
> [libfreetype.so.6]
>  0x00000001 (NEEDED)                     Shared library: [libz.so.0]
>  0x00000001 (NEEDED)                     Shared library:  
> [libexpat.so.1]
>  0x00000001 (NEEDED)                     Shared library: [libc.so.12]

I think this must mean that the NetBSD linker is following  
fontconfig's dependencies, as xdvipdfmx does not have a *direct*  
dependency on libexpat or libz. It does use freetype but should be  
linking with the static freetype in TL, but your libfontconfig  
probably uses freetype as well.

Could you show us the link command from the build log, to see how the  
libraries are actually being specified there?

> xetex:
>  0x00000001 (NEEDED)                     Shared library:  
> [libfontconfig.so.1]
>  0x00000001 (NEEDED)                     Shared library: [libm.so.0]
>  0x00000001 (NEEDED)                     Shared library: [libc.so.12]
>  0x00000001 (NEEDED)                     Shared library:  
> [libpthread.so.0]
> [...]

I think libpthread is being pulled in by ICU. But it shouldn't be  
needed, as xetex isn't multi-threaded. Maybe we could run ICU  
configure with the option "--disable-threads"; that would probably be  
a good idea. I'll try to look into that a bit more. Aside from that,  
I guess xetex will have the same issues as xdvipdfmx with pulling in  
dependencies of fontconfig.

JK



More information about the tlbuild mailing list