From: "Hans-Bernhard Bröker" <HBBroeker@t-online.de>
To: cygwin@cygwin.com
Subject: Re: Providing cygwin1.dll in both 32- and 64-bit versions
Date: Fri, 03 Feb 2017 17:43:00 -0000 [thread overview]
Message-ID: <60a2d95d-ed88-c3a3-0b32-34316935a99b@t-online.de> (raw)
In-Reply-To: <58946E36.8070103@junovagen.se>
Am 03.02.2017 um 12:49 schrieb Thomas Nilefalk:
> Hans-Bernhard Bröker skrev:
>> Am 02.02.2017 um 22:12 schrieb Thomas Nilefalk:
>>> 'how can I make a 32-bit compiled cygwin program run under cygwin64'?
>>
>> You can't. Nor can anybody else. For a Cygwin64-based program,
>> Cygwin32 is a bona fide cross-compilation platform rather than just
>> some subset of the same platform. The same holds vice versa.
> What triggered this chain of thought was that running an exe
> cross-compiled to 32-bit just silently failed.
BTDT, and can feel your pain.
> It would have helped me at that time if I would have gotten an error
> message from the dynamic loader, like on other platforms ("skipping
> cygwin1.dll because it has the wrong architecture").
Welcome to one of the deeper levels of the tragedy (or comedy of
errors...) commonly known as Windows "DLL hell". AFAIK there is no
dynamic loader Cygwin would have any amount of control over. This fails
before any part of Cygwin ever gets loaded, so there's practically
nothing cygwin can do about it.
> Anyways, thanks for the explanation. Given that, the solution for runnig
> 32-bit cygwin programs on cygwin64 is of course
>
> $ PATH=<path_to_32-bit_cygwin1.dll>:$PATH
> <32-bit_cross_compiled_program>
Actually that's not the solution, either. It's an unreliable workaround
at best. That's because after this, all 64-bit cygwin programs executed
by your own program will fail to start because they get the wrong Cygwin
DLL.
The solution is to have a Cygwin32 environment installed independently
of Cygwin64, and keep each executable strictly in its own environment.
Mixing the two causes nothing but problems.
--
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
next prev parent reply other threads:[~2017-02-03 17:43 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-02 21:13 Thomas Nilefalk
2017-02-02 22:10 ` Hans-Bernhard Bröker
2017-02-03 11:49 ` Thomas Nilefalk
2017-02-03 17:43 ` Hans-Bernhard Bröker [this message]
2017-02-10 8:34 ` Thomas Nilefalk
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=60a2d95d-ed88-c3a3-0b32-34316935a99b@t-online.de \
--to=hbbroeker@t-online.de \
--cc=cygwin@cygwin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).