This is the mail archive of the 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: cygipc (and PostgreSQL) XP problem resolved!

Dario Alcocer wrote:
On Sat, May 10, 2003 at 05:54:01PM +0200, Corinna Vinschen wrote:

On Sat, May 10, 2003 at 07:21:10AM -0700, Dario Alcocer wrote:

On Sat, May 10, 2003 at 02:40:57PM +1000, Robert Collins wrote:

Well, theres the API break coming up with cygwin1.dll - do it in sync
with that, IMO.

Correct me if I'm wrong, but shouldn't cygwin1.dll be changed to cygwin2.dll if the API is changing?

Only if it's not a backward compatible change. Each new Cygwin version did already add new functions so the API minor number has been bumped up.

But what if the data types used by the existing functions are changed?
In other words, the old library has void FooFunc(off_t) where off_t is a
4-byte quantity, but the new library uses an 8-byte off_t?

This has been answered.  If the app/lib/DLL isn't recompiled, there's no
change.  Everything works as it always has.  If the app/lib/DLL is
recompiled, it gets the new 64 bit versions.  Then, changes may be
required to get all the dependencies back in sync.

The reason I ask is that I've seen binaries compiled for an older
cygwin1.dll run incorrectly or crash when dynamically linking against a
new cygwin1.dll.

For instance, the PowerTV tool chain uses GNUPro 99, which has an
ancient cygwin1.dll included. As long as I don't install the latest
Cygwin stuff, everything is ok. However, as soon as I install the
latest cygwin1.dll, the PowerTV gcc/binutils cease to function
correctly. I suspect it has something to do with the Cygwin API and/or
ABI changing, and since the Cygwin DLL filename is exactly the same, it
loads the new library instead of using the old one.

Cygwin will bump the version number for the DLL (to cygwin2.dll) when
a backward incompatible change is made.  If you've had problems in the
past with the GNUPro toosl, you'd need to consult the provider of those
tools.  That's not a product of this project so this site doesn't support
it.  I can't speak to whether an ABI incompatible change has been made
w.r.t. the version of the Cygwin DLL that was distributed with that product.

They way I've gotten around this issue is to binary edit the PowerTV
tool chain and change references to the cygwin1.dll to refer to
cygwin0.dll; this is a very ugly hack, and I don't recommend it. But it
does serve to highlight the kinds of problems people might be running
into in the field.

If people have run into this kind of problem using the Cygwin distribution,
it needs to be reported.  I haven't seen anything on this list that would
indicate that's the case though.

-- Larry Hall RFK Partners, Inc. (508) 893-9779 - RFK Office 838 Washington Street (508) 893-9889 - FAX Holliston, MA 01746

-- Unsubscribe info: Problem reports: Documentation: FAQ:

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