Re: [NTG-pdftex] [tex-live] Runtime limitations on open files?
![](https://secure.gravatar.com/avatar/5d45261e2c25eef5a2984452066b3a67.jpg?s=120&d=mm&r=g)
Hi David,
Interesting. "Closed" with "Worksforme" because an application accumulated file descriptors erroneously.
The problem is that we actually _have_ this amount of outstanding images not yet shipped out. No programming error.
Putting the single line
_setmaxstdio(2048);
into web2c startup does not seem like it would be an overly onerous complication, would it?
I've confirmed that by #if defined(pdfTeX) || defined(luaTeX) _setmaxstdio(2048); #endif 2041 files in Vladimir's example are included. Probably 7 are stdin, ... etc. Best regards, Akira
![](https://secure.gravatar.com/avatar/d8110a8a8a97be0803549ea5ee2e638b.jpg?s=120&d=mm&r=g)
2007/8/17, Akira Kakuto
I've confirmed that by
#if defined(pdfTeX) || defined(luaTeX) _setmaxstdio(2048); #endif
2041 files in Vladimir's example are included. Probably 7 are stdin, ... etc.
And I claim that this is a Windows-only problem that doesn't appear on Unix. ;-) Best Martin
![](https://secure.gravatar.com/avatar/49e63acb01f2ca80efce7eed08310ce8.jpg?s=120&d=mm&r=g)
Martin Schröder wrote:
2007/8/17, Akira Kakuto
: I've confirmed that by
#if defined(pdfTeX) || defined(luaTeX) _setmaxstdio(2048); #endif
2041 files in Vladimir's example are included. Probably 7 are stdin, ... etc.
And I claim that this is a Windows-only problem that doesn't appear on Unix. ;-)
well, it has been a problem there (till the number was jumped there; i clearly remember such problems a few years ago); also, fabrice investigated the problem years ago and provided solutions but as usual his patches were never included in the code base so no wonder that the problem creeps up again ... I'm pretty fed up with these windows rants and 'no problem on unix' kind of crap ... and i also much disliked the tone of mails posted to the lua list about this problem suggesting that it's a windows problem etc etc and suggesting that it's near to impssible to compile something on windows ... a fact that is proven wrong by fabrice and akira (anyhow, it's no problem to macro program around the problem, either by using immediate flushing (if remember right one solution was to close 1-page docs afterwards because it's the multipage docs that complicate things but i dunno what's left of that patch) and/or do a multipass job) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
![](https://secure.gravatar.com/avatar/d8110a8a8a97be0803549ea5ee2e638b.jpg?s=120&d=mm&r=g)
2007/8/17, Hans Hagen
Martin Schröder wrote:
And I claim that this is a Windows-only problem that doesn't appear on Unix. ;-)
well, it has been a problem there (till the number was jumped there; i clearly remember such problems a few years ago); also, fabrice investigated the problem years ago and provided solutions but as usual his patches were never included in the code base so no wonder that the problem creeps up again ...
No, Fabrice's patch from some years ago has been included and solves this problem on Unix. Best Martin
![](https://secure.gravatar.com/avatar/cdac1bce4ec96619cde73d2f2be4e66d.jpg?s=120&d=mm&r=g)
Hans Hagen
Martin Schröder wrote:
2007/8/17, Akira Kakuto
: I've confirmed that by
#if defined(pdfTeX) || defined(luaTeX) _setmaxstdio(2048); #endif
2041 files in Vladimir's example are included. Probably 7 are stdin, ... etc.
And I claim that this is a Windows-only problem that doesn't appear on Unix. ;-)
I'm pretty fed up with these windows rants and 'no problem on unix' kind of crap ... and i also much disliked the tone of mails posted to the lua list about this problem suggesting that it's a windows problem etc etc and suggesting that it's near to impssible to compile something on windows ... a fact that is proven wrong by fabrice and akira
"near to impossible", "easy", "trivial": those are synonyms only for mathematicians. And counterexamples just prove "not impossible". I have in this thread described that supporting Windows installations has proven to be _the_ major developer tiedown for the company I am working in for most of the last 6 months, and that it has proven to be a major developer resource hog for AUCTeX (which I am maintainer of) as well. Nobody lists the names of people who managed to compile TeXlive on Unix. It is not actually an achievement worth noting, in particular on the rather Posix-compliant free Unix variants/clones. The README in TeXlive contains no build instructions for Windows.
(anyhow, it's no problem to macro program around the problem, either by using immediate flushing (if remember right one solution was to close 1-page docs afterwards because it's the multipage docs that complicate things but i dunno what's left of that patch) and/or do a multipass job)
Again, "no problem" and "conceivably possible" are the same mostly for mathematicians. In the mean time, there remains the problem that the number of open files permitted by the C library is much more limited on our Windows compilations than technically mandated, and I propose that this be fixed, regardless of whether or not other platforms don't exhibit this behavior. -- David Kastrup
![](https://secure.gravatar.com/avatar/d8110a8a8a97be0803549ea5ee2e638b.jpg?s=120&d=mm&r=g)
2007/8/17, David Kastrup
"near to impossible", "easy", "trivial": those are synonyms only for mathematicians. And counterexamples just prove "not impossible".
Stop. Let's get back to the facts: I can easily include 10000 different pdfs on one page (and claim that the number of files is only limited by memory) -- when \pdfximage is \immediate (which is normally is not). This works on Linux. Does this not work on Windows? Best Martin
![](https://secure.gravatar.com/avatar/cdac1bce4ec96619cde73d2f2be4e66d.jpg?s=120&d=mm&r=g)
"Martin Schröder"
2007/8/17, David Kastrup
: "near to impossible", "easy", "trivial": those are synonyms only for mathematicians. And counterexamples just prove "not impossible".
Stop.
Let's get back to the facts: I can easily include 10000 different pdfs on one page (and claim that the number of files is only limited by memory) -- when \pdfximage is \immediate (which is normally is not). This works on Linux. Does this not work on Windows?
Can't check during the weekend. What does it mean for an image to be immediate? Probably something different than for a write... One would need to patch up \includegraphics when using this with LaTeX, right? -- David Kastrup, Kriemhildstr. 15, 44793 Bochum
![](https://secure.gravatar.com/avatar/d8110a8a8a97be0803549ea5ee2e638b.jpg?s=120&d=mm&r=g)
2007/8/17, David Kastrup
Can't check during the weekend. What does it mean for an image to be immediate? Probably something different than for a write... One would need to patch up \includegraphics when using this with LaTeX, right?
No. http://sarovar.org/tracker/?func=detail&atid=493&aid=498&group_id=106 Best Martin
![](https://secure.gravatar.com/avatar/cdac1bce4ec96619cde73d2f2be4e66d.jpg?s=120&d=mm&r=g)
"Martin Schröder"
2007/8/17, David Kastrup
: Can't check during the weekend. What does it mean for an image to be immediate? Probably something different than for a write... One would need to patch up \includegraphics when using this with LaTeX, right?
No. http://sarovar.org/tracker/?func=detail&atid=493&aid=498&group_id=106
I am afraid that I am none the wiser what it would mean and imply to turn every \pdfximage into \immediate\pdfximage. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum
![](https://secure.gravatar.com/avatar/d8110a8a8a97be0803549ea5ee2e638b.jpg?s=120&d=mm&r=g)
2007/8/17, David Kastrup
I am afraid that I am none the wiser what it would mean and imply to turn every \pdfximage into \immediate\pdfximage.
Yes. This works: \let\mypdfximage\pdfximage \def\pdfximage{\immediate\mypdfximage} Best Martin
![](https://secure.gravatar.com/avatar/57e1472de1406181887c2f858235e564.jpg?s=120&d=mm&r=g)
Hans Hagen wrote:
I'm pretty fed up with these windows rants and 'no problem on unix' kind of crap ...
Don't rise to the bait, Hans : for every Windows-specific problem mentioned on this list, there are probably ten *X-specific problems, almost invariably caused by the fact that there are ten million computers in the world running *X, and each and every one of them has different libraries, different compilers, different versions, different this, different that, different everything. Windows is the one thing that keeps most of us sane : just laugh when the *X guys feel so insecure that they have to launch yet another attack :-))) ** Phil.
![](https://secure.gravatar.com/avatar/c1389d0584ea3ced1cff3450a93f7372.jpg?s=120&d=mm&r=g)
Philip TAYLOR writes:
Don't rise to the bait, Hans : for every Windows-specific problem mentioned on this list, there are probably ten *X-specific problems, almost invariably caused by the fact that there are ten million computers in the world running *X, and each and every one of them has different libraries, different compilers, different versions, different this, different that, different everything. Windows is the one thing that keeps most of us sane : just laugh when the *X guys feel so insecure that they have to launch yet another attack :-)))
Phil, I respect you because I know that you are an TeX expert. You usually know what you are talking about and you are certainly more familiar with TeX than anybody else. But what you said about UNIX is pure crap and I must admit that I'm quite disappointed. Windows is pure crap. At work I'm forced to to use Windows, sigh.... Since Windows doesn't provide a reasonable user interface, I installed GNU-Emacs. Can anyone explain me why I can access remote file systems on Windows with Emacs (in dired mode) ***immediately*** and it takes about 20 seconds when I try the same with "Windows Explorer"? Our administrators are clueless. I'm clueless too. But I'm happy that I have Emacs. Regards, Reinhard -- ---------------------------------------------------------------------------- Reinhard Kotucha Phone: +49-511-4592165 Marschnerstr. 25 D-30167 Hannover mailto:reinhard.kotucha@web.de ---------------------------------------------------------------------------- Microsoft isn't the answer. Microsoft is the question, and the answer is NO. ----------------------------------------------------------------------------
![](https://secure.gravatar.com/avatar/bf0ccc5ca53d1c619bea05b7506db020.jpg?s=120&d=mm&r=g)
On 8/17/07, Hans Hagen
I'm pretty fed up with these windows rants and 'no problem on unix' kind of crap ... and i also much disliked the tone of mails posted to the lua list about this problem suggesting that it's a windows problem etc etc and suggesting that it's near to impssible to compile something on windows ... a fact that is proven wrong by fabrice and akira
Another proof that it is possible to build highly functional cross-platform
applications is the R statistical package.
In general, I don't have much patience for these religious discussions
(which have an unfortunate tendency to pop up in google searches so an
offhand comment becomes part of the folklore).
The TeX community is at a critical juncture:
1. TeX Live has, by fiat, become the successor to teTeX on *x systems
2. TeX Live aims to support a wider range of platforms than did
teTeX. We have a long history of failed TeX distributions on
Windows: 4allTeX, Y&Y, fptex, which is a clear sign that making a
viable TeX distro for Windows is not easy.
There are individuals and organizations that are able to use TeX productively
under Windows and under *x, so I don't except that either of these is
fundamentally broken. What is, however, clear, is that many people
have had or are having bad experiences. In fact, I see this at work,
where some users insist that tex on unix is totally useless while
others assert the same about TeX on Windows. What is the difference?
1. In the real world, many systems are not working as they should.
When I press guy who says tex on unix is useless it turns out that his
problems are: a) he wants to use
a printer on a Windows server that is not configured on the unix machine, b) the
system default is for a4 paper and he can't be bothered to figure out
how to adjust this, and c) there is nothing similar to WinEDT on the
system. The guy who says TeX on Windows is useless has installed
4allTeX, Y&Y, fptex, and miktex along with copies of his $HOME/texmf
from unix but hasn't got a working perl, ruby, or ghostscript and is
trying to use notepad as his editor. His plain tex documents compile,
but he can't get pdflatex to work because he has some outdated
packages that assume pdftex is used only to produce .pdf output. He
can't troubleshoot because the command line tools (find, whence, etc.)
he knows from *x aren't available.
2. Different environments require different work habits. Many
Windows TeX users
never see a command line, equate TeX with WinEDT, and are only vaguely
aware of the individual programs, much less perl, ghostscript, etc.
3. Hardware differences: machines currently in wide use range from
PIII 500 mhz
with 256M RAM and 20GB disk to multi-core CPU, multi-GB RAM, and
multi-TB disk.
To me, the fundamental difference is that *x systems have always been
based on a toolkit approach where a set of core utilities are always
available. People will tell you that you can have bash, awk, sed,
perl, ghostscript, make, compilers, etc. on Windows, but the practical
reality is that such tools aren't part of the standard base
configuration and suffer from performance issues. The pdftex build
script works on most *x systems using only standard packages from the
OS distribution.
I have written some applications that are used on both *x and windows.
While it is possible to have a build environment on Windows (using
Msys), it has been much easier to use a cross-compiler under linux,
e.g., http://www.stats.ox.ac.uk/pub/Rtools/. It would be
interesting to try using these tools to create a build-win32.sh for
pdftex.
--
George N. White III
![](https://secure.gravatar.com/avatar/cdac1bce4ec96619cde73d2f2be4e66d.jpg?s=120&d=mm&r=g)
"George N. White III"
There are individuals and organizations that are able to use TeX productively under Windows and under *x, so I don't except that either of these is fundamentally broken. What is, however, clear, is that many people have had or are having bad experiences. In fact, I see this at work, where some users insist that tex on unix is totally useless while others assert the same about TeX on Windows. What is the difference?
Note that once somebody has gotten TeX to compile and work, using it becomes reasonably straightforward. The really rough penalties are not on the users, they are on the developers because Windows does not provide any work environment that would be available anywhere else. So if you are staying Windows-only, you might be able to find a compromise working for you. If you want to develop cross-platform, Windows is going to be the single most painful thing. Why do we have so many Windows-only distributions? Why is it that among the widely portable distributions, the Windows ports are, if at all, done by specialists? Supporting Windows for cross-platform applications is always going to be extremely expensive with regard to developer resources because on Windows most things don't give a damn about standards or usability, and the workaround applications and libraries (where you don't get to see this) are Windows-only and thus not generally useful for portable application development.
I have written some applications that are used on both *x and windows. While it is possible to have a build environment on Windows (using Msys), it has been much easier to use a cross-compiler under linux, e.g., http://www.stats.ox.ac.uk/pub/Rtools/. It would be interesting to try using these tools to create a build-win32.sh for pdftex.
A working cross compilation environment would help a _lot_. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum
participants (7)
-
Akira Kakuto
-
David Kastrup
-
George N. White III
-
Hans Hagen
-
Martin Schröder
-
Philip TAYLOR
-
Reinhard Kotucha