This is the mail archive of the cygwin 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]
Other format: [Raw text]

Re: cygwin changes default directory of (fortran) code

----- Original Message -----
From: Igor Peshansky <>
Date: Friday, July 6, 2007 3:33 pm
Subject: Re: cygwin changes default directory of (fortran) code

> 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
> -- 
>      |\      _,,,---,,_   | 
> /,`.-'`'    -.  ;-;;,_        	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:
> Problem reports:
> Documentation:
> FAQ:         

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

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().


Unsubscribe info:
Problem reports:

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