Hi charlie, > > It looks like a mismatch between the mode used to open the temporary > > file and the mode that's then used to map a FILE* onto it with > > fdopen.
> I have versions that *were* working prior to a reprovisioning of the > 2008R2 Server. I have lousy install docs (this is my own fault) and > after review of your trace results... I'm wondering if my issue is as > simple as groff not being able to find the TEMP directory... No, I don't think so because it's fdopen that's failing; this wraps a file descriptor, an integer, with a FILE* used by stdio.h. groff will have checked that the file descriptor was successfully obtained before bothering to call fdopen. > I have created the following environment variables hoping that one > would do the trick - but, no. > > TEMP=C:\TEMP > TMP=C:\TEMP > TMPDIR=C:\TEMP > GROFF_TMPDIR=C:\TEMP groff's temp_init::temp_init() (Mmm, C++) on Windows uses the first env. var. of GROFF_TMPDIR, TMPDIR, TMP, and TEMP before falling back on a hard-coded default. To test my above point, set GROFF_TMPDIR to C:/not/to/be/found and it should be used and the fdopen not reached. My guess is earlier groffs hadn't tidied grops up to use a centralised temporary file routine that has this Windows issue? -- Cheers, Ralph. https://plus.google.com/115649437518703495227