Why are the 32- and 64-bit cygwin1.dlls incompatible?

Warren Young warren@etr-usa.com
Fri Aug 23 16:33:00 GMT 2013


On 8/23/2013 03:49, Corinna Vinschen wrote:
>
> Since it neither makes sense to propagate the Cygwin-specific
> child_info_spawn block to native processes, nor to Cygwin processes
> with a different bitsize, I just disabled this, so you can now start
> 32 bit Cygwin processes from 64 bit Cygwin processes and vice versa,
> starting with the snapshots I'm just generating.

Beautiful!

I just tried this snapshot:

   http://cygwin.com/snapshots/x86_64/cygwin1-20130823.dll.bz2

and my 'ls' test succeeded.

Alas, my Orpie test failed:

   $ PATH=/cygdrive/c/cygwin32/lib/lapack /cygdrive/c/cygwin32/bin/orpie
   Fatal error: exception Assert_failure("main.ml", 30, 3)

Line 30 of main.ml is:

   assert (cbreak ());

So....ncurses isn't working correctly across the exec() boundary?

> I just hope this won't lead to more confusion if 32 bit processes
> started from 64 bit (or vice versa) don't act as expected in some
> circumstances.

Oh, it probably will, but a cygcheck dump will tell us when this is 
probably happening, because both Cygwin bins will be in the PATH.

I'm hoping this new behavior will simply serve to let more people move 
to Cygwin 64 before absolutely everything is ported.

To my mind, the biggest negative consequence of this improvement is that 
it might delay the porting of some packages by removing an incentive.

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list