[tex-live] xindy now in build

Vladimir Volovich vvv at vsu.ru
Thu Mar 27 18:22:55 CET 2008


"KB" == Karl Berry writes:

 >> basically, you should't build synamic ffcall library. it works
 >> with static library.

 KB> That is what I tried first.  It did not work.

okay, here are sample build instructions which work for me (TM):

==============================================
mkdir clisp; cd clisp
clisp_basedir=`pwd`
clisp_toolsdir=$clisp_basedir/clisp-tools
clisp_builddir=$clisp_basedir/clisp-build
mkdir $clisp_toolsdir

cd $clisp_basedir
wget http://ftp.gnu.org/gnu/libsigsegv/libsigsegv-2.5.tar.gz
gzip -dc libsigsegv-2.5.tar.gz | tar xf -
cd libsigsegv-2.5
./configure --prefix=$clisp_toolsdir && make && make check && make install

cd $clisp_basedir
wget http://www.haible.de/bruno/gnu/ffcall-1.10.tar.gz
gzip -dc ffcall-1.10.tar.gz | tar xf -
cd ffcall-1.10
./configure --prefix=$clisp_toolsdir && make && make check && make install

cd $clisp_basedir
wget http://ftp.gnu.org/gnu/clisp/release/2.44.1/clisp-2.44.1.tar.gz
gzip -dc clisp-2.44.1.tar.gz | tar xf -
cd clisp-2.44.1
export LDFLAGS="-L$clisp_toolsdir/lib"
export CPPFLAGS="-I$clisp_toolsdir/include"
./configure $clisp_builddir --with-ffcall --with-libsigsegv-prefix=$clisp_toolsdir --with-libffcall-prefix=$clisp_toolsdir
cd $clisp_builddir
make
==============================================

Please try it. It builds static libsigsegv and libffcall, and links
clisp against them.

The reason to build even libsigsegv is to ensure that clisp will not
find and link to an OS-supplies libsigsegv.

The resulting clisp binary doesn't have unwanted shared library
dependencies:

$ ldd ./lisp.run 
	linux-vdso.so.1 =>  (0x00007fffe49fe000)
	libdl.so.2 => /lib/libdl.so.2 (0x00002b2cc634b000)
	libc.so.6 => /lib/libc.so.6 (0x00002b2cc654f000)
	/lib64/ld-linux-x86-64.so.2 (0x00002b2cc612e000)
$ ldd ./clisp
	linux-vdso.so.1 =>  (0x00007fff8d7fe000)
	libdl.so.2 => /lib/libdl.so.2 (0x00002b111d559000)
	libc.so.6 => /lib/libc.so.6 (0x00002b111d75d000)
	/lib64/ld-linux-x86-64.so.2 (0x00002b111d33c000)

The trick is to export CPPFLAGS and LDFLAGS before configuing clisp, -
that's probably why it did not work for you. It looks like a bug in
clisp's configure scripts, that it doesn't do that automatically when
passed with --with-libsigsegv-prefix and --with-libffcall-prefix
options.

Running "make install" for clisp is *not necessary*.

The next step is to build xindy, by passing a configure option

  --with-clisp=$clisp_builddir/clisp

(either to xindy's configure if you're building just xindy, or to the
Build script if you're building the whole TeX Live).

once xindy is built here, i get these shared libs on lisp.run:

$ ldd ./lisp.run 
	linux-vdso.so.1 =>  (0x00007ffff9ffe000)
	libm.so.6 => /lib/libm.so.6 (0x00002b1db0e55000)
	libcrypt.so.1 => /lib/libcrypt.so.1 (0x00002b1db10d8000)
	libdl.so.2 => /lib/libdl.so.2 (0x00002b1db1310000)
	libc.so.6 => /lib/libc.so.6 (0x00002b1db1515000)
	/lib64/ld-linux-x86-64.so.2 (0x00002b1db0c38000)

Best,
v.


More information about the tex-live mailing list