[tex-live] TeX Live 2007 xetex, xdvipdfmx shared library woes on Solaris 10 sparc

Paul Eggert eggert at CS.UCLA.EDU
Tue May 8 07:39:14 CEST 2007


Vladimir Volovich <vvv at vsu.ru> writes:

> i grepped my build log, and i see that -R was in fact used.

Yes, but the build used -L/opt/csw/lib -R/opt/csw/lib.  This requires
that the relevant libraries be installed in one particular place,
namely /opt/csw/lib.  Was that the intent?  If so, this needs to be
documented, as it is not a standard location in Solaris 8 or 10.  But
ideally, the installation procedure should does not require 3rd-party
libraries to be installed in a nonstandard root-only location.  It'd
be better if TeX Live "just worked".

> well, i thought it's easier to install fontconfig package (with its
> dependencies) from blastwave, because the packages depend on Solaris
> version, and for example, fontconfig is included in the standard
> Solaris 10 distribution from Sun.

It sounds like that for TeX Live to work, blastwave-supplied libraries
for Solaris 8 must be installed into /opt/csw/lib.  I don't have root
privileges for the host in question so this isn't a simple option for
me.  Can the blastwave-supplied libs be distributed as part of TeX
Live?  That should solve the problem portably on all Solaris 8 sparc
hosts (Solaris 8 or newer), though it may not work as well as using
Solaris 10-supplied libraries when on Solaris 10.

> i can't check now, but probably there are these duplicated
> dependencies on libfreetype (one of which is found and one of them is
> not found) because libfreetype is linked by xetex itself and by
> libfontconfig.

Yes, that's it.  "ldd -v" confirms this:

$ ldd -v bin/sparc-solaris/xetex
   find object=libsocket.so.1; required by bin/sparc-solaris/xetex
	libsocket.so.1 =>	 /lib/libsocket.so.1
   find version=libsocket.so.1
	libsocket.so.1 (SISCD_2.3) =>	 /lib/libsocket.so.1

   find object=libfontconfig.so.1; required by bin/sparc-solaris/xetex
	libfontconfig.so.1 =>	 /usr/lib/libfontconfig.so.1

   find object=libiconv.so.2; required by bin/sparc-solaris/xetex
	libiconv.so.2 =>	 (file not found)

   find object=libfreetype.so.6; required by bin/sparc-solaris/xetex
	libfreetype.so.6 =>	 (file not found)

   find object=libz.so; required by bin/sparc-solaris/xetex
	libz.so =>	 /usr/lib/libz.so

   find object=libexpat.so.0; required by bin/sparc-solaris/xetex
	libexpat.so.0 =>	 (file not found)

   find object=libm.so.1; required by bin/sparc-solaris/xetex
	libm.so.1 =>	 /lib/libm.so.1
   find version=libm.so.1
	libm.so.1 (SUNW_1.1) =>	 /lib/libm.so.1

   find object=libpthread.so.1; required by bin/sparc-solaris/xetex
	libpthread.so.1 =>	 /lib/libpthread.so.1
   find version=libpthread.so.1
	libpthread.so.1 (SUNW_0.9) =>	 /lib/libpthread.so.1

   find object=libCstd.so.1; required by bin/sparc-solaris/xetex
	libCstd.so.1 =>	 /usr/lib/libCstd.so.1
   find version=libCstd.so.1
	libCstd.so.1 (SUNW_1.1.1) =>	 /usr/lib/libCstd.so.1
	libCstd.so.1 (SUNW_1.2) =>	 /usr/lib/libCstd.so.1

   find object=libCrun.so.1; required by bin/sparc-solaris/xetex
	libCrun.so.1 =>	 /usr/lib/libCrun.so.1
   find version=libCrun.so.1
	libCrun.so.1 (SUNW_1.5) =>	 /usr/lib/libCrun.so.1

   find object=libc.so.1; required by bin/sparc-solaris/xetex
	libc.so.1 =>	 /lib/libc.so.1
   find version=libc.so.1
	libc.so.1 (SUNW_0.7) =>	 /lib/libc.so.1
	libc.so.1 (SUNWprivate_1.1) =>	 /lib/libc.so.1

   find object=libnsl.so.1; required by /lib/libsocket.so.1
	libnsl.so.1 =>	 /lib/libnsl.so.1
   find version=libnsl.so.1
	libnsl.so.1 (SUNW_1.7) =>	 /lib/libnsl.so.1
	libnsl.so.1 (SUNWprivate_1.1) =>	 /lib/libnsl.so.1

   find object=libc.so.1; required by /lib/libsocket.so.1
   find version=libc.so.1
	libc.so.1 (SUNW_1.19) =>	 /lib/libc.so.1
	libc.so.1 (SUNWprivate_1.1) =>	 /lib/libc.so.1

   find object=libfreetype.so.6; required by /usr/lib/libfontconfig.so.1
	libfreetype.so.6 =>	 /usr/sfw/lib/libfreetype.so.6

   find object=libz.so.1; required by /usr/lib/libfontconfig.so.1

   find object=libexpat.so.0; required by /usr/lib/libfontconfig.so.1
	libexpat.so.0 =>	 /usr/sfw/lib/libexpat.so.0

   find object=libc.so.1; required by /usr/lib/libfontconfig.so.1
   find version=libc.so.1
	libc.so.1 (SUNW_0.7) =>	 /lib/libc.so.1

   find object=libc.so.1; required by /usr/lib/libz.so
   find version=libc.so.1
	libc.so.1 (SUNW_1.1) =>	 /lib/libc.so.1

   find object=libCrun.so.1; required by /usr/lib/libCstd.so.1
   find version=libCrun.so.1
	libCrun.so.1 (SUNW_1.5) =>	 /usr/lib/libCrun.so.1

   find object=libc.so.1; required by /usr/lib/libCstd.so.1
   find version=libc.so.1
	libc.so.1 (SUNW_1.1) =>	 /lib/libc.so.1
	libc.so.1 (SUNWprivate_1.1) =>	 /lib/libc.so.1

   find object=libc.so.1; required by /usr/lib/libCrun.so.1
   find version=libc.so.1
	libc.so.1 (SUNW_1.1) =>	 /lib/libc.so.1
	libc.so.1 (SUNWprivate_1.1) =>	 /lib/libc.so.1

   find object=libmp.so.2; required by /lib/libnsl.so.1
	libmp.so.2 =>	 /lib/libmp.so.2
   find version=libmp.so.2
	libmp.so.2 (SUNW_1.1) =>	 /lib/libmp.so.2
	libmp.so.2 (SUNWprivate_1.1) =>	 /lib/libmp.so.2

   find object=libmd5.so.1; required by /lib/libnsl.so.1
	libmd5.so.1 =>	 /lib/libmd5.so.1
   find version=libmd5.so.1
	libmd5.so.1 (SUNW_1.1) =>	 /lib/libmd5.so.1

   find object=libscf.so.1; required by /lib/libnsl.so.1
	libscf.so.1 =>	 /lib/libscf.so.1
   find version=libscf.so.1
	libscf.so.1 (SUNW_1.1) =>	 /lib/libscf.so.1

   find object=libc.so.1; required by /lib/libnsl.so.1
   find version=libc.so.1
	libc.so.1 (SUNW_1.22.2) =>	 /lib/libc.so.1
	libc.so.1 (SUNWprivate_1.1) =>	 /lib/libc.so.1

   find object=libz.so.1; required by /usr/sfw/lib/libfreetype.so.6
   find version=libz.so.1
	libz.so.1 (SUNW_1.1) =>	 /usr/lib/libz.so

   find object=libc.so.1; required by /usr/sfw/lib/libfreetype.so.6
   find version=libc.so.1
	libc.so.1 (SISCD_2.3) =>	 /lib/libc.so.1

   find object=libc.so.1; required by /usr/sfw/lib/libexpat.so.0
   find version=libc.so.1
	libc.so.1 (SYSVABI_1.3) =>	 /lib/libc.so.1

   find object=libc.so.1; required by /lib/libmp.so.2
   find version=libc.so.1
	libc.so.1 (SYSVABI_1.3) =>	 /lib/libc.so.1

   find object=libc.so.1; required by /lib/libmd5.so.1
   find version=libc.so.1
	libc.so.1 (SUNW_0.9) =>	 /lib/libc.so.1

   find object=libdoor.so.1; required by /lib/libscf.so.1
	libdoor.so.1 =>	 /lib/libdoor.so.1
   find version=libdoor.so.1
	libdoor.so.1 (SUNWprivate_1.1) =>	 /lib/libdoor.so.1

   find object=libuutil.so.1; required by /lib/libscf.so.1
	libuutil.so.1 =>	 /lib/libuutil.so.1
   find version=libuutil.so.1
	libuutil.so.1 (SUNWprivate_1.1) =>	 /lib/libuutil.so.1

   find object=libc.so.1; required by /lib/libscf.so.1
   find version=libc.so.1
	libc.so.1 (SUNW_1.21) =>	 /lib/libc.so.1
	libc.so.1 (SUNWprivate_1.1) =>	 /lib/libc.so.1

   find object=libc.so.1; required by /lib/libdoor.so.1
   find version=libc.so.1
	libc.so.1 (SUNW_1.22) =>	 /lib/libc.so.1
	libc.so.1 (SUNWprivate_1.1) =>	 /lib/libc.so.1

   find object=libc.so.1; required by /lib/libuutil.so.1
   find version=libc.so.1
	libc.so.1 (SUNW_1.19) =>	 /lib/libc.so.1
	libc.so.1 (SUNWprivate_1.1) =>	 /lib/libc.so.1

   object=/lib/libm.so.1; filter for libm.so.2

   find object=libm.so.2; required by /lib/libm.so.1
	libm.so.2 =>	 /lib/libm.so.2

   find object=libc.so.1; required by /lib/libm.so.2
   find version=libc.so.1
	libc.so.1 (SUNW_0.7) =>	 /lib/libc.so.1
	libc.so.1 (SUNWprivate_1.1) =>	 /lib/libc.so.1

   object=/lib/libpthread.so.1; filter for libc.so.1

   find object=libc.so.1; required by /lib/libpthread.so.1

   object=/usr/lib/libCstd.so.1; filter for $ORIGIN/cpu/$ISALIST/libCstd_isa.so.1

   find object=/usr/lib/cpu/sparcv9/libCstd_isa.so.1; required by /usr/lib/libCstd.so.1
	/usr/lib/cpu/sparcv9/libCstd_isa.so.1 =>	 (file not found)

   find object=/usr/lib/cpu/sparcv8plus/libCstd_isa.so.1; required by /usr/lib/libCstd.so.1
	/usr/lib/cpu/sparcv8plus/libCstd_isa.so.1

   find object=libCrun.so.1; required by /usr/lib/cpu/sparcv8plus/libCstd_isa.so.1
   find version=libCrun.so.1
	libCrun.so.1 (SUNW_1.5) =>	 /usr/lib/libCrun.so.1

   find object=libc.so.1; required by /usr/lib/cpu/sparcv8plus/libCstd_isa.so.1
   find version=libc.so.1
	libc.so.1 (SUNW_0.9) =>	 /lib/libc.so.1
	libc.so.1 (SUNWprivate_1.1) =>	 /lib/libc.so.1

   object=/lib/libc.so.1; filter for /usr/lib/ld.so.1

   object=/lib/libc.so.1; filter for libm.so.2

   find object=libm.so.2; required by /lib/libc.so.1

   object=/lib/libc.so.1; filter for /platform/$PLATFORM/lib/libc_psr.so.1

   find object=/platform/SUNW,Sun-Fire-T1000/lib/libc_psr.so.1; required by /lib/libc.so.1
	/platform/SUNW,Sun-Fire-T1000/lib/libc_psr.so.1

   object=/lib/libnsl.so.1; filter for libc.so.1

   find object=libc.so.1; required by /lib/libnsl.so.1
   find version=libc.so.1
	libc.so.1 (SUNW_1.22.2) =>	 /lib/libc.so.1
	libc.so.1 (SUNWprivate_1.1) =>	 /lib/libc.so.1

   object=/lib/libmd5.so.1; filter for /platform/$PLATFORM/lib/libmd5_psr.so.1

   find object=/platform/SUNW,Sun-Fire-T1000/lib/libmd5_psr.so.1; required by /lib/libmd5.so.1
	/platform/SUNW,Sun-Fire-T1000/lib/libmd5_psr.so.1 =>	 (file not found)


More information about the tex-live mailing list