Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-Authentication-Warning: slinky.cs.nyu.edu: pechtcha owned process doing -bs Date: Thu, 8 Jan 2004 12:47:14 -0500 (EST) From: Igor Pechtchanski Reply-To: cygwin AT cygwin DOT com To: Frantisek Fuka cc: cygwin AT cygwin DOT com Subject: Re: Crash when compiling Sitecopy In-Reply-To: <3FFD90C9.1070506@fuxoft.cz> Message-ID: References: <3FFD2A1A DOT 1000408 AT fuxoft DOT cz> <6 DOT 0 DOT 1 DOT 1 DOT 0 DOT 20040108101132 DOT 040c9280 AT 127 DOT 0 DOT 0 DOT 1> <3FFD76F7 DOT 8050001 AT fuxoft DOT cz> <3FFD90C9 DOT 1070506 AT fuxoft DOT cz> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Thu, 8 Jan 2004, Frantisek Fuka wrote: > Igor Pechtchanski wrote: > > On Thu, 8 Jan 2004, Frantisek Fuka wrote: > > > >>[snip] > >>Thank you all for the help. The problem was that I kept the old > >>cygwin1.dll because I needed it to run the old sitecopy version. > > > > > > FWIW, there should be no need to do this. Newer versions of cygwin1.dll > > should let older applications run just fine. If this is not the case, > > it's a bug and should be reported. > > I investigated it further and found out the following: > > I had OLD cygwin1.dll in c:\windows\system\ directory. This is probably > something I did a long time ago so that I could run the old sitecopy.exe > form the standard Windows .BAT script (without using bash or any other > cygwin component). > > If I understand it correctly, the actual cygwin1.dll should always be in > c:\cygwin\bin, where it is. Strange thing is, when I tried do compile > the new sitecopy, the compiler crashed (see previous messages) beacuse > of the old DLL in the \SYSTEM directory. When I deleted this DLL > (without doing anything else), the compilation finished without > problems. I have no idea why was cygwin looking into \SYSTEM dir, if the > needed DLL should be (and was present) in \bin. Windows uses the PATH variable to find DLLs. If c:\windows\system was in the path before c:\cygwin\bin, the DLL in \system will be found instead. There's no special Cygwin magic here. > So, now I have the latest cygwin but I can no longer run it from a > standard Windows BAT file because it doesn't "see" cygwin1.dll file (and > other DLL files it needs). How to solve this cleanly? Copy the DLLs to > \SYSTEM directory? Or is it enough to change the current directory to > "c:\cygwin\bin" before running sitecopy.exe? Only if you have "." in your PATH. Generally, Windows apps look in their directory (the one that contains the executable), and then search the PATH. The best solution to be able to run Cygwin applications from anywhere is to add "c:\cygwin\bin" to your global Windows PATH (you can add it at the end). Igor -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu ZZZzz /,`.-'`' -. ;-;;,_ igor AT watson DOT ibm DOT com |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski, Ph.D. '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! "I have since come to realize that being between your mentor and his route to the bathroom is a major career booster." -- Patrick Naughton -- 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/