This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: 1.3.2 Catch-22 in tmpnam/tmpfile with gcc -mno-cygwin


Earnie Boyd wrote:
> 
> Christopher Faylor wrote:
> >
> > On Wed, May 30, 2001 at 11:25:41AM -0400, John W. Kennedy wrote:
> > >At present, gcc option -mno-cygwin is incompatible with tmpfile and
> > >tmpnam.  When -mno-cygwin is used, at runtime all temporary files are
> > >put into directory "/tmp", which is incompatible with no-cygwin
> > >operation unless a writable "x:\tmp" directory happens to exist, where
> > >x: is the current drive.
> > >
> > >The obvious fix would make -mno-cygwin executables sensitive to a
> > >standard Windows environment variable such as TMP, or at least to an
> > >ad-hoc environment variable.
> >
> > -mno-cygwin produced Microsoft native binaries.  It uses some libraries
> > from the mingw project, but they are not supported here.  You probably want
> > to send email to a mailing list mentioned at www.mingw.org.
> >
> 
> I'm not understanding this.  What is it that isn't working?  Give
> examples of your environment, command line and results.

Any C program using the tmpnam/tmpfile functions (in stdio), and
compiled with the -mno-cygwin flag, places the temporary file in
directory "/tmp".  Using this directory name works fine with cygwin.dll,
because it is mapped to (for example) "C:\Cygwin\tmp", but in
-mno-cygwin mode, it is interpreted as "x:\tmp" where x: is the current
drive.  This directory normally won't exist, and may not be writable; in
either case, the program will fail.  With cygwin.dll, an environment
variable at run time can override the "/tmp", but there appears to be no
way to do it with -mno-cygwin.

In essence, all C programs compiled with -mno-cygwin and using tmpnam or
tmpfile can be expected to fail.

-- 
John W. Kennedy
(Working from my laptop)

--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]