[tlbuild] Solaris and asprintf()

Nelson H. F. Beebe beebe at math.utah.edu
Wed Jul 28 21:33:01 CEST 2010


Mark Senn and Martin Schröder and Peter Breitenlohner are discussing
an issue with a missing asprintf on Solaris in TeX Live 2009.

I can report that the version of latex (and pdftex, its real file) in
texlive/bin/sparc-solaris/pdftex works without problems on my Solaris
SPARC 10 systems:

% ldd /usr/local/share/lib/tex/texlive/bin/sparc-solaris/pdftex
        libsocket.so.1 =>        /lib/libsocket.so.1
        libm.so.1 =>     /lib/libm.so.1
        libCstd.so.1 =>  /usr/lib/libCstd.so.1
        libCrun.so.1 =>  /usr/lib/libCrun.so.1
        libc.so.1 =>     /lib/libc.so.1
        libnsl.so.1 =>   /lib/libnsl.so.1
        libmp.so.2 =>    /lib/libmp.so.2
        libmd.so.1 =>    /lib/libmd.so.1
        libscf.so.1 =>   /lib/libscf.so.1
        libdoor.so.1 =>  /lib/libdoor.so.1
        libuutil.so.1 =>         /lib/libuutil.so.1
        libgen.so.1 =>   /lib/libgen.so.1
        libm.so.2 =>     /lib/libm.so.2
        /usr/lib/cpu/sparcv8plus/libCstd_isa.so.1
        /platform/SUNW,A70/lib/libc_psr.so.1
        /platform/SUNW,A70/lib/libmd_psr.so.1

A check of the contents of all of those libraries finds NO instance of
asprintf.

A debugger traceback in "pdftex --version" shows this call history:

    (gdb) where
    #0  0x00144f40 in vasprintf ()
    #1  0x00145048 in asprintf ()
    #2  0x000b79ec in initversionstring ()
    #3  0x000ad01c in ?? ()
    #4  0x000ad01c in ?? ()
    Backtrace stopped: previous frame identical to this frame (corrupt stack?)

The asprintf() function is NOT called from the tex executable.

We save the output of nm for all of our system libraries, and I've
searched those output files for vasprintf: I found that symbol
referenced in these

	/opt/sfw/gcc-2/lib/libiberty.a
	/opt/sfw/lib/libWINGs.a
	/opt/sfw/lib/libWUtil.a
	/opt/sfw/lib/libiberty.a
	/opt/sfw/lib/sparcv9/libiberty.a
	/usr/lib/64/libglib-2.0.so
	/usr/lib/64/libglib-2.0.so.0
	/usr/lib/64/libglib-2.0.so.0.400.1
	/usr/lib/libglib-2.0.so
	/usr/lib/libglib-2.0.so.0
	/usr/lib/libglib-2.0.so.0.400.1
	/usr/lib/sparcv9/libglib-2.0.so
	/usr/lib/sparcv9/libglib-2.0.so.0
	/usr/lib/sparcv9/libglib-2.0.so.0.400.1
	/usr/sfw/lib/64/libiberty.a
	/usr/sfw/lib/libiberty.a
	/usr/sfw/lib/sparcv9/libiberty.a

There are definitions of asprintf and vasprintf in at least these:

	/opt/sfw/lib/libWINGs.a
	/opt/sfw/lib/libWUtil.a
	/usr/sfw/lib/64/libiberty.a
	/usr/sfw/lib/libiberty.a
	/usr/sfw/lib/sparcv9/libiberty.a

The /usr/sfw and /opt/sfw trees are optional ones that some systems
managers may not have installed.  Mark, can you check whether your
systems have them?  Perhaps that is the problem.  Their contents are
mostly Sun-supported ports of GNUware to Solaris.

-------------------------------------------------------------------------------
- Nelson H. F. Beebe                    Tel: +1 801 581 5254                  -
- University of Utah                    FAX: +1 801 581 4148                  -
- Department of Mathematics, 110 LCB    Internet e-mail: beebe at math.utah.edu  -
- 155 S 1400 E RM 233                       beebe at acm.org  beebe at computer.org -
- Salt Lake City, UT 84112-0090, USA    URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------


More information about the tlbuild mailing list