RFC: 1.5.14-1 cygwin1.dll could not be found

2005-04-07 Thread Dave Korn
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

2005-04-07 Thread Dave Korn
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

2005-04-06 Thread Reini Urban
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

2005-04-06 Thread Brian Dessent
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

2005-04-06 Thread Brian Dessent
"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

2005-04-06 Thread Buchbinder, Barry (NIH/NIAID)
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

2005-04-06 Thread Shankar Unni
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

2005-04-06 Thread Dave Korn
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

2005-04-06 Thread Morche Matthias
[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

2005-04-06 Thread Dave Korn
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

2005-04-06 Thread Danny Ng
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/