Re: Problem with ruby and cygssl-0.9.8.dll

2007-03-12 Thread Geoffrey T. Cheshire
Thanks for all the replies.  Here's an example of a limitation of
rebaseall.  OpenSSL was just updated and my installs are broken again.
I will rebaseall again.

Cheers,
Geoff

--
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: Problem with ruby and cygssl-0.9.8.dll

2007-03-12 Thread Shankar Unni

Geoffrey T. Cheshire wrote:

The issue is well stated here:
http://cygwin.com/ml/cygwin/2005-10/msg00873.html


Though some of the points made there aren't necessarily as stated.

Brian - you said:

  You can get around this by setting up some kind of registry
  of assigned base addresses, or treating the problem like a heap,
  but that get extraordinarily more complex because you have to
  maintain state.

The registry of assigned base addresses isn't that difficult of a 
problem - SGI had such a rebasing mechanism (with a permanent 
text-format base address database) even back in 1994.


Every time rebaseall (or its equivalent on Irix - forgotten what it was 
called) was run, it would start with the DB contents, validate them 
(quick), and mark any DLLs that were not in the DB, or were invalid 
(didn't match the DB base and size).


So it only had to do a relatively small number of DLLs on subsequent 
passes, and so the system installer would run a default "rebaseall" 
after installing or removing *any* package. (When removing a package, 
the corresponding entries were removed from the DB to make room for 
other DLLs).


The only problem with this was that over the long term, it would end up 
fragmenting the address space somewhat (the old malloc problem), so 
there was a force option to rebase everything ignoring the DB (which was 
also the cleanup option if something got badly corrupted).



--
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: Problem with ruby and cygssl-0.9.8.dll

2007-03-12 Thread Brian Dessent
"Geoffrey T. Cheshire" wrote:

> OK, thanks.  But if you've used rebaseall once, won't you have to always
> rebase again any time you update cygwin?  That is, if rebaseall arranges
> each image base in a contiguous block, then you need to rearrange them
> any time you add/change a dll.  This is because you've created a
> "custom" image base location for each of your images, and
> --enable-auto-image-base doesn't help.

Technically, yes.  Practically, no.  Most binaries work fine with DLLs
that had to be relocated due to conflicts.  And the chances of two DLLs
being back-to-back in the rebaseall list and also used in the same app
at once tend to be small.  There are only a relatively small number of
binaries that suffer from image base issues, and they tend to be those
that dynamically load modules (dlopen/LoadLibrary) such as python, ruby,
apache, etc.  Really you can pretty much take a "as long as I don't get
fork errors I don't need to care about rebasing" attitude.

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: Problem with ruby and cygssl-0.9.8.dll

2007-03-12 Thread Geoffrey T. Cheshire
Larry Hall Wrote:

> You are right.  I should have said this is the right solution
> when you have these kinds of problems.  The alternate solution
> mentioned by Brian is done at the package level and will
> generally make this problem disappear transparently for packages
> that use it.  It must be implemented on a package by package
> basis and  eventually all packages that come from the Cygwin
> distribution will use this.  This won't replace the need for
> 'rebaseall' though.  It will just mitigate it (with some
> significance), at least for those packages that come as part of
> the distribution.

OK, thanks.  But if you've used rebaseall once, won't you have to always
rebase again any time you update cygwin?  That is, if rebaseall arranges
each image base in a contiguous block, then you need to rearrange them
any time you add/change a dll.  This is because you've created a
"custom" image base location for each of your images, and
--enable-auto-image-base doesn't help.

Or am I wrong about this?

Thanks again,
Geoff

--
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: Problem with ruby and cygssl-0.9.8.dll

2007-03-12 Thread Larry Hall (Cygwin)

Geoffrey T. Cheshire wrote:

Larry Hall Wrote:

 > Oh I agree.  You definitely shouldn't take a route that produced a fix
 > for you once already.  Using it again is just asking for trouble. ;-)

 > Use 'rebaseall' as you did before.  It generally fixes the problem and
 > is the right solution.

I guess the wink means you're not just being sarcastic and unhelpful.


That's true, though I am being a little sarcastic. :-)  I was just pointing
out that if there is a solution to a problem that works, it's better to use
it than not.  I won't comment on whether or not this information is helpful
since that's subjective.  Those that find the information unhelpful are
certainly free to ignore it.

It seems to me rebaseall is not the best solution long-term, though it 
does work as an immediate fix.  The issue is well stated here:

http://cygwin.com/ml/cygwin/2005-10/msg00873.html


You are right.  I should have said this is the right solution when you have
these kinds of problems.  The alternate solution mentioned by Brian is done
at the package level and will generally make this problem disappear
transparently for packages that use it.  It must be implemented on a package
by package basis and  eventually all packages that come from the Cygwin
distribution will use this.  This won't replace the need for 'rebaseall'
though.  It will just mitigate it (with some significance), at least for
those packages that come as part of the distribution.



--
Larry Hall  http://www.rfk.com
RFK Partners, Inc.  (508) 893-9779 - RFK Office
216 Dalton Rd.  (508) 893-9889 - FAX
Holliston, MA 01746

_

A: Yes.
> Q: Are you sure?
>> A: Because it reverses the logical flow of conversation.
>>> Q: Why is top posting annoying in email?

--
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: Problem with ruby and cygssl-0.9.8.dll

2007-03-12 Thread Geoffrey T. Cheshire

Would compiling openssl with --enable-auto-image-base also fix this?

Thanks again for any help!

Geoff

--
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: Problem with ruby and cygssl-0.9.8.dll

2007-03-11 Thread Geoffrey T. Cheshire

Larry Hall Wrote:

> Oh I agree.  You definitely shouldn't take a route that produced a fix
> for you once already.  Using it again is just asking for trouble. ;-)

> Use 'rebaseall' as you did before.  It generally fixes the problem and
> is the right solution.

I guess the wink means you're not just being sarcastic and unhelpful.

It seems to me rebaseall is not the best solution long-term, though it 
does work as an immediate fix.  The issue is well stated here:

http://cygwin.com/ml/cygwin/2005-10/msg00873.html

Geoff

--
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: Problem with ruby and cygssl-0.9.8.dll

2007-03-11 Thread Larry Hall (Cygwin)

Geoffrey T. Cheshire wrote:

Hi all,

I'm getting a conflict on several different machines between ruby and 
cygssl-0.9.8.dll.  Here's an example:


8 [main] ruby 3280 E:\cygwin\bin\ruby.exe: *** fatal error - unable to 
remap E:\cygwin\bin\cygssl-0.9.8.dll to same address as parent(0x34) 
!= 0x473
9 [main] ruby 3392 fork: child 3280 - died waiting for dll loading, 
errno 11


Now, a rebaseall fixed this on one computer, but I really don't want to 
go down that road.  Any ideas?


Oh I agree.  You definitely shouldn't take a route that produced a fix for
you once already.  Using it again is just asking for trouble. ;-)

Use 'rebaseall' as you did before.  It generally fixes the problem and is
the right solution.

--
Larry Hall  http://www.rfk.com
RFK Partners, Inc.  (508) 893-9779 - RFK Office
216 Dalton Rd.  (508) 893-9889 - FAX
Holliston, MA 01746

_

A: Yes.
> Q: Are you sure?
>> A: Because it reverses the logical flow of conversation.
>>> Q: Why is top posting annoying in email?

--
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/