[tex-live] [NTG-pdftex] Runtime limitations on open files?

George N. White III gnwiii at gmail.com
Sat Aug 18 19:34:41 CEST 2007

On 8/18/07, David Kastrup <dak at gnu.org> wrote:

> "Thanh Han The" <hanthethanh at gmail.com> writes:
> > fwiw, I find msys http://www.mingw.org/msys.shtml a very
> > useful thing anytime I need to do any shell scripting on
> > windows.

I used to use msys and gnuwin32 tools, but now I find I prefer to run
real linux in a VMware appliance so I have have current versions and
avoid the little compatibility glitches.   The free VMware player is
easy to install and you can copy applicances around.  Appliances can
mount windows shares. Since the systems I'm using tend to be older
hardware I find it better to use the existing Exceed or Xming session
for the display rather than having two X servers running.   Building
pdftex in a VMware appliance running linux is quite practical.

> Yes, but there is a bootstrapping problem when doing software
> installers.  You can't use software until you have unpacked it...

I should mention that there are debian packages for the mingw cross-compiler.

I don't have debian at home, so I use the archive from
<http://www.stats.ox.ac.uk/pub/Rtools/i586-cross-tools.tar.bz2>.  The
compiler is quite old:
$ i586-mingw32-gcc --version
i586-mingw32-gcc (GCC) 3.4.5 (mingw special)

I think pdftex builds with such old gcc on *x.  Today I tried building
pdftex-1.40.5 with this cross-compiler.  There were some configure issues

checking size of long... configure: error: can not run test program while cross
configure: error: ../../../src/texk/web2c/configure failed for web2c
configure: error: ../../src/texk/configure failed for texk

I got as far as tangleboot.o, but then encounter:

i586-mingw32-gcc -o tangleboot tangleboot.o  lib/lib.a ../kpathsea/.libs/libkpat
hsea.a -lm
undefined reference to `_set_home_warning'

This seems to refer to stuff from texk/contrib that isn't included
with pdftex-1.40.5.

One strategy that has worked in the past is to steal as much as possible (e.g.,
generated web2c sources) from a linux build.   So you need the usual
libraries and
one additional library for Win32 compatibility/features.  My
experience from other projects has been that much of what you get from
configure on linux stays the same using mingw, so rather than fighting
the "can not run test program while cross compiling" issues it may be
easier to manipulate the files generated on linux.   I don't see the
need to use
similar hardware for the linux build as a significant limitation,
although I suppose
there will be interest in using OS X for Intel to build Win32 binaries.

I suspect one reason the Win32 build systems have lagged is that until
recently the performance benefits of commercial compilers were useful,
so it didn't make much
sense to invest effort in building with free tools.   GCC code has
been getting better,
and the hardware is faster, so I suspect the advantage of a commercial
compiler is
no longer much of an issue.

George N. White III <aa056 at chebucto.ns.ca>
Head of St. Margarets Bay, Nova Scotia

More information about the tex-live mailing list