RFC: 1.5.14-1 cygwin1.dll could not be found
Original Message >From: Dave Korn >Sent: 07 April 2005 19:47 > Just to save any duplication of effort, I thought I should mention that > I'm taking a look at this over the next few days and weekend. If anyone > else was too, please drop me a line and we'll co-ordinate. Well, I have a crude patch going, and it's that time of night that I'm leaving the office and going home now[*], so here's what I've done so far, just in case anyone else wants to have a go and see if it works for them. NOTE that this is not a patch submission, just an RFC, for the following reasons: 1) It's a horrible bit of inefficient cut'n'paste coding based on a quick skim through the code and not a deep understanding of it. Some of it is definitely superfluous, such as checking for the cygwin package by name twice. 2) It's got a couple of MessageBox calls in it, which are no good for production coding, but are the sort of thing I like to use in debug and development in order to be very sure that events are occurring in the order I think they are. 3) There's no changelog entry! 4) I'm not sure how correct it is! For instance, do I need to worry about whether the cygwin package is going to be an uninstall-and-reinstall or a replace-in-place? 5) It may or may not be generating a spurious 'Replaced files in use - reboot needed' warning (but then I realised I had left a bash shell running in the background while testing an upgraded install) 6) Possibly related to that, I'm now seeing lots of '_impure_ptr entrypoint not found' dialog boxes. Hmm, this now looks like it totally failed to either remove or rename the old .dll, but maybe I've really bodged my test by leaving that shell window open. D'oh. Oh well, looks like it needs a bit more testing, but I'm off home now, so here it is for anyone who wants to take a look at it. cheers, DaveK [*] Oh alright, I admit it. I'm going to the pub first. *Then* I'm going home :D -- Can't think of a witty .sigline today setup-save-cygdll-til-last-patch.diff Description: Binary data -- 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/
RE: 1.5.14-1 cygwin1.dll could not be found
Original Message >From: Shankar Unni >Sent: 06 April 2005 20:38 > It's mostly cosmetic. It would be nice (WIBNI?) if setup always sorted > packages specially so that "cygwin" would always be the last thing > uninstalled and the first thing installed when a mixture of packages is > selected for upgrade. Just to save any duplication of effort, I thought I should mention that I'm taking a look at this over the next few days and weekend. If anyone else was too, please drop me a line and we'll co-ordinate. cheers, DaveK -- Can't think of a witty .sigline today -- 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/
Re: stupid graphviz tricks, Was: Re: 1.5.14-1 cygwin1.dll could not be found
Brian Dessent schrieb: *** WARNING: huge graphic: 5155x1151 pixels *** http://dessent.net/cygwin/cygpackages.png You can also try the pdf version, which you can actually zoom into and read the names of each node. The png file would be absolutely enormous if it was readable. You have to keep zooming quite a bit to get it readable though. http://dessent.net/cygwin/cygpackages.pdf I output such graphs as svg normally. dot -Tsvg ... More interesting would be the script to create the dependency graph dotfile. I also often use java applets to represent such huge graphs dynamically. HyperWiki and HyperApplet. http://hypergraph.sf.net/ -- Reini Urban http://xarch.tu-graz.ac.at/home/rurban http://phpwiki.org -- 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/
stupid graphviz tricks, Was: Re: 1.5.14-1 cygwin1.dll could not be found
Brian Dessent wrote: > But it's worse than that, what if there is a cyclical depedency -- 'foo' > requires 'bar' which requires 'baz' which requires 'foo'. There's no > way to handle that other than to install them all and then run all three > postinstalls. On a somewhat related note, I was playing around with a perl script a couple of weeks ago that used graphviz to draw a graph of the relationship of cygwin packages. *** WARNING: huge graphic: 5155x1151 pixels *** http://dessent.net/cygwin/cygpackages.png (If you're using a browser like firefox it will probably scale the image down to fit on the screen, so undo that scaling to actually see anything) You can also try the pdf version, which you can actually zoom into and read the names of each node. The png file would be absolutely enormous if it was readable. You have to keep zooming quite a bit to get it readable though. http://dessent.net/cygwin/cygpackages.pdf The colors go by category: Base -> yellow, Devel -> green, Libs -> cyan, X11 -> blue, Net -> purple, Text -> pink, Doc -> brown, and everything else orange. The edges (a -> b means a requires b) are generally pointing downwards, i.e. the packages at the top of the graph have many dependencies and the stuff at the bottom are things that are depended on the most by other things. (I'm sure there's a better way to say that.) The 'cygwin' package is absent, because just about everything depends on it and it would make the graph stupid large. That is the output of 'dot'. I also have outputs for 'neato' and 'fdp' which are somewhat less interesting (they look like a huge ball of twine.) Anyway, I don't pretend that there's any practical use for this, just some silly eye candy. Brian -- 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/
Re: 1.5.14-1 cygwin1.dll could not be found
"Buchbinder, Barry (NIH/NIAID)" wrote: > Might it be simpler than a sort to implement, and work just as well, to have > setup > download > run pre-uninstall scripts > uninstall > install > run post-install scripts > one package at a time rather than > download all > run all pre-uninstall scripts > uninstall all > install all > run all post-install scripts This wouldn't work so well if you were installing multiple dependent packages. For example, you select to install 'foo' which requires 'bar' to operate, and neither package currently is installed. In some cases the 'foo' postinstall requires 'bar' to already be installed, else you get missing DLL errors or other random breakage. So if you were to do it as above you'd still need to sort the packages in topological order to ensure that you do them in the right order. But it's worse than that, what if there is a cyclical depedency -- 'foo' requires 'bar' which requires 'baz' which requires 'foo'. There's no way to handle that other than to install them all and then run all three postinstalls. The current method sidesteps all this complication, but it's not perfect. I think a good short term solution would be to special-case 'cygwin' to always be removed/installed first. There are potentially other packages that could fall into the same situation though, so that's not perfect either. Brian -- 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/
RE: 1.5.14-1 cygwin1.dll could not be found
At Wednesday, April 06, 2005 3:38 PM, Shankar Unni wrote: > Morche Matthias wrote: > >> cygwin1.dll not found comes up during the update of cygwin > > This is a common problem, if you're updating a bunch of packages > including cygwin all together, and one of the packages has an > uninstall script that runs some other cygwin binary. > > Setup normally downloads everything (that was selected), uninstalls > everything, and then re-installs everything. Where things go wrong is > in the order of these uninstalls and re-installs. > > What happens is that sometimes, cygwin gets uninstalled before some of > the other packages, so when that other package's uninstall script gets > run, it can't find cygwin1.dll (which has just been removed). > > Normally, clicking OK on the error and letting the installation > continue results in a usable system. (most packages' post-install > configuration changes don't radically change between releases..) > > It's mostly cosmetic. It would be nice (WIBNI?) if setup always sorted > packages specially so that "cygwin" would always be the last thing > uninstalled and the first thing installed when a mixture of packages > is selected for upgrade. Might it be simpler than a sort to implement, and work just as well, to have setup download run pre-uninstall scripts uninstall install run post-install scripts one package at a time rather than download all run all pre-uninstall scripts uninstall all install all run all post-install scripts That might increase the time that one would have to stay connected over dial-up, but since the time spent running scripts is small compared with the download time over dial-up that it shouldn't matter. This might also help a bit handling interrupted downloads when a number of packages are being downloaded. If the download failed after one or more packages were successfully downloaded and installed, setup would not have to restart from the beginning. I know, PTC, but I'm not a programmer ... And just for the record, I think that setup is OK, considering everything that it has to do. (That assumes that the user is not vision/mouse impaired, in which case it is [EMAIL PROTECTED] unusable.) I grant that it takes some getting used to. But if people would read the documentation and play with the program, they might get it to work in less time than it takes to compose the complaints. (Please note that the preceding is in the spirit of acknowledging all the work that has gone into setup and its supporting scripts and thanking all the people who have contributed. It is in no way intended to solicit rebuttals from those with different opinions setup.) - Barry -- 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/
Re: 1.5.14-1 cygwin1.dll could not be found
Morche Matthias wrote: cygwin1.dll not found comes up during the update of cygwin This is a common problem, if you're updating a bunch of packages including cygwin all together, and one of the packages has an uninstall script that runs some other cygwin binary. Setup normally downloads everything (that was selected), uninstalls everything, and then re-installs everything. Where things go wrong is in the order of these uninstalls and re-installs. What happens is that sometimes, cygwin gets uninstalled before some of the other packages, so when that other package's uninstall script gets run, it can't find cygwin1.dll (which has just been removed). Normally, clicking OK on the error and letting the installation continue results in a usable system. (most packages' post-install configuration changes don't radically change between releases..) It's mostly cosmetic. It would be nice (WIBNI?) if setup always sorted packages specially so that "cygwin" would always be the last thing uninstalled and the first thing installed when a mixture of packages is selected for upgrade. -- 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/
RE: 1.5.14-1 cygwin1.dll could not be found
Original Message >From: Morche Matthias >Sent: 06 April 2005 12:10 >> Original Message >>> From: Danny Ng >>> Sent: 06 April 2005 09:45 >>> I've recently downloaded the latest version of cygwin, and >>> reinstalled the whole thing. Previously I had a compiling error with >>> gcc, but now that has been fixed. After having successfully compiled >>> my C program, I tried to run the exec file of my compiled program >>> and gave me an error. I have looked through the mailing list to try >>> to solve this myself by installing bzip2 libraries but I still get >>> the same error. > That's not the whole story: > > cygwin1.dll not found comes up during the update of cygwin, when > cygwin1.dll AND other packets are updated. It happens after deinstall of > cygwin1.dll, when other post-remove scripts try to run... > > matthias That doesn't at first glance seem to be the same problem that Danny is reporting above. If it is, re-running setup and letting it reinstall the base cygwin package should solve things, shouldn't it? cheers, DaveK -- Can't think of a witty .sigline today -- 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/
RE: 1.5.14-1 cygwin1.dll could not be found
[EMAIL PROTECTED] wrote: > Original Message >> From: Danny Ng >> Sent: 06 April 2005 09:45 > >> Hi, >> >> I've recently downloaded the latest version of cygwin, and >> reinstalled the whole thing. Previously I had a compiling error with >> gcc, but now that has been fixed. After having successfully compiled >> my C program, I tried to run the exec file of my compiled program >> and gave me an error. I have looked through the mailing list to try >> to solve this myself by installing bzip2 libraries but I still get >> the same error. > > > You need to have cygwin's bin directory in your windows PATH > settings, so that the cygwin dll can be found when you try to run > your compiled application. Or you need to run the compiled > application from a cygwin shell. > > > cheers, > DaveK > -- > Can't think of a witty .sigline today That's not the whole story: cygwin1.dll not found comes up during the update of cygwin, when cygwin1.dll AND other packets are updated. It happens after deinstall of cygwin1.dll, when other post-remove scripts try to run... matthias -- 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/
RE: 1.5.14-1 cygwin1.dll could not be found
Original Message >From: Danny Ng >Sent: 06 April 2005 09:45 > Hi, > > I've recently downloaded the latest version of cygwin, and reinstalled > the whole thing. Previously I had a compiling error with gcc, but now > that has been fixed. After having successfully compiled my C program, > I tried to run the exec file of my compiled program and gave me an > error. I have looked through the mailing list to try to solve this > myself by installing bzip2 libraries but I still get the same error. You need to have cygwin's bin directory in your windows PATH settings, so that the cygwin dll can be found when you try to run your compiled application. Or you need to run the compiled application from a cygwin shell. cheers, DaveK -- Can't think of a witty .sigline today -- 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/
1.5.14-1 cygwin1.dll could not be found
Hi, I've recently downloaded the latest version of cygwin, and reinstalled the whole thing. Previously I had a compiling error with gcc, but now that has been fixed. After having successfully compiled my C program, I tried to run the exec file of my compiled program and gave me an error. I have looked through the mailing list to try to solve this myself by installing bzip2 libraries but I still get the same error. Attached is cygcheck.out and a screenshot of the error. -- - Danny cygcheck.out Description: Binary data <>-- 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/