Mail Archives: cygwin/2007/07/06/16:34:16
----- Original Message -----
From: Igor Peshansky <pechtcha AT cs DOT nyu DOT edu>
Date: Friday, July 6, 2007 3:33 pm
Subject: Re: cygwin changes default directory of (fortran) code
To: MVUKOVIC AT nycap DOT rr DOT com
Cc: cygwin AT cygwin DOT com
> On Fri, 6 Jul 2007, MVUKOVIC wrote:
>
> > Hello,
> >
> > I am compiling a fortran program using intel's compiler, and use
> cygwin> for the command-line interface (I will be switching to a
> linux machine
> > soon, so I am staying away from MS's visual studio).
> >
> > When I invoke the executable from cygwin, it tries to find the input
> > files in C:\windows\system32. If I invoke it from the windows
> command> prompt, it finds the files ok. If I specify the full file
> path, than I
> > don't have a problem in cygwin.
> >
> > I am a bit puzzled by this behavior because last time I did some
> fortran> coding under the same environment (about a year ago), I do
> not remember
> > having that issue.
> >
> > I could not find info on such behavior on the prior mailings.
> >
> > Any ideas/suggestions as to what may be going on?
>
> To implement POSIX functionality like allowing to remove the current
> directory, Cygwin changes the Win32 current working directory of a
> processto C:\WINDOWS\system32, while keeping its own notion of what
> the CWD is.
> This is transparent to the Cygwin file IO calls, but will confuse the
> Win32 calls.
>
> The CWD is inherited by child processes. When invoking non-Cygwin
> programs, Cygwin's exec() should change the cwd back to its real
> value.That doesn't seem to be happening in your case.
>
> A simple testcase (e.g., a Win32 program that invokes getpwd() and
> printsthe value) which ought to demonstrate the discrepancy should
> be easy to
> produce. If that works as expected, you'll need to check what else is
> happening in your FORTRAN executable.
> Igor
> --
> http://cs.nyu.edu/~pechtcha/
> |\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu |
> igor AT watson DOT ibm DOT comZZZzz /,`.-'`' -. ;-;;,_ Igor
> Peshansky, Ph.D. (name changed!)
> |,4- ) )-,_. ,\ ( `'-' old name: Igor Pechtchanski
> '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
>
> Belief can be manipulated. Only knowledge is dangerous. -- Frank
> Herbert
> --
> Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
> Problem reports: http://cygwin.com/problems.html
> Documentation: http://cygwin.com/docs.html
> FAQ: http://cygwin.com/faq/
>
Igor,
Thank you for your explanation.
I think that there is some evidence of intermittent behavior that may
have been recently introduced into cygwin (The following is from memory
and should be taken as anecdotal evidence only):
When I ran the code for the first time yesterday, it ran fine. I then
downloaded gdb with the new setup.exe (I thought I could use it for
debugging the code), and after that I started having the aforementioned
problems.
So, I wonder if there was a recent change to the cygwin code that caused
this problem.
My knowledge of C is non-existant, so I'll go home for my Kernighan and
Ritchie book to check out your suggestion using getpwd().
Mirko
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -