Next Up Previous Contents
Next: 3 Migration from a ./mk based build system
Up: 2 Platform-specific notes
Previous: 2.5 Building on x86
[ID index][Keyword index]

2.6 Building on 64-bit x86

The only known problem on x86_64 appears to be a distribution-specific one. On RHEL, the the various 1.x versions of the tetex package install the kpathsea library as a static library alone, and not a shared one. This produces an error message when compiling the dvi2bitmap component, resembling:


ld: ./libkpathsea.a(tex-file.o): relocation R_X86_64_32 can not be used when making a shared object; recompile with -fPIC
./libkpathsea.a: could not read symbols: Bad value

To address this, you can either configure dvi2bitmap using --without-kpathsea at some loss in functionality, or else recompile the kpathsea library yourself. The sources are available at TUG -- you need to rebuild only the kpathsea part of this distribution: to do that:

  1. Unpack the distribution, and go to the web2c-x.x.x directory.
  2. Configure using ./configure --enable-shared --datadir=XXX --prefix=PREFIX, where XXX is the location of teTeX on your local machine (probably /usr/share on RHEL) and PREFIX is where you would like the newly-built library to be installed.
  3. cd to the kpathsea directory, and delete the lines in the Makefile that refer to (unwritable) $(web2cdir).
  4. make; make install to install in PREFIX.
The installation directory PREFIX will have to be in your LD_LIBRARY_PATH when you re-configure dvi2bitmap. As usual, don't go to all this trouble until you've determined that it won't work otherwise.


Next Up Previous Contents
Next: 3 Migration from a ./mk based build system
Up: 2 Platform-specific notes
Previous: 2.5 Building on x86
[ID index][Keyword index]
Building Starlink Software
Starlink User Note 248
Norman Gray, Steve Rankin, Peter Draper
29 April 2005.