Running native exe from Cygwin in random instances reports incorrect error code 127
Warren Young
wyml@etr-usa.com
Wed Jan 20 00:34:00 GMT 2016
On Jan 18, 2016, at 7:46 PM, Larry Hall (Cygwin) <reply-to-list-only-lh@cygwin.com> wrote:
>
> On 01/18/2016 02:50 PM, Warren Young wrote:
>
>> If this pair of programs *fails* on your system, then you’ve probably got a BLODA problem:
>>
>> https://cygwin.com/faq/faq.html#faq.using.bloda
>
> The somewhat coincidental recent thread below makes me bet on BLODA,
> particularly if it's only happening sometimes. I could see BLODA
> blocking access to a needed DLL in some cases just at the wrong time,
> resulting in a code 127.
The other thread is basically reporting a known weirdness on Windows, which is that DLLs require the executable flag to be set in its ACL, else it can’t be loaded into an EXE. In Cygwin, we see this as a missing ‘x’ bit in ls -l output.
It’s not precisely a Cygwin problem, but we do see it sometimes in software built with Cygwin which comes from an *ix system, where libfoo.{so,a} doesn’t require chmod +x to be loaded into an executable. When ported, the build system doesn’t do the right thing on Cygwin, so it fails.
I assume it’s portability software such as libtool and cmake that are fixing up this detail for most software ported from *ix to Cygwin.
But yes, you’re right, a BLODA misstep could cause a DLL to fail to load, causing a lookalike symptom even though the actual cause is different.
--
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