This pertains to an external executable built within Cygwin and therefore not
part of any Cygwin package so I am not expecting a "solution"
but any illumination whatsoever, or similar experience, would be much
appreciated.
I use a standalone static statistical executable built within Cygwin from a
collection of .c files using gcc.
The resulting executable comprises many built-in functions and procedures
("routines").
Typically it would be used within the Cygwin environment where it is supported
by large libraries of data files, Help files and call-able routines.
But it is sophisticated enough to be useful within a directory containing just
two files, itself myprog.exe and cygwin1.dll.
So you could start it in a Command Prompt window with the command .\myprog
<Enter> with no need of Cygwin's larger architecture.
It has a built-in function Cygwin() which returns the scalar 1 within Cygwin.
(The identical collection of .c files may be used with gcc in Linux to build
the equivalent executable for use in Linux.
Then the function Cygwin() returns 0. There are cases where this distinction
requires to be drawn.)
This has been going for literally decades with trivial fixes and enhancements
and surviving all advances over the years in cygwin1.dll
or the Linux kernel and upgrades to gcc.
As mentioned here a while ago the only glitch in its construction is that I
have to use /lib/libreadline.a from v.8.1-2 [prev] not v.8.3-1 [curr]
though I have not been able to pinpoint quite why. I just do the temporary
workaround and then back again.
Oh dear: sorry for this tedious preamble. Now to the point of this
communication:
Recently some common behaviours stalled, and it emerged that the function
Cygwin() returned 0 not 1.
This is astonishing because
(a) I made no changes to the executable or to its environment.
Well, I would say that, wouldn't I but .. ..
(b) I could not recover the required functionality by reverting to an earlier
version of cygwin1.dll;
(c) the wrong output occurred on an old machine where W11 was not recently
updated; and
(d) the wrong output occurred on an even older machine running W10.
All previously error-free. Unaltered executable !! Finally, even more
incredibly bizarre:
(e) I recompiled the executable twice in succession. With the same trigger, one
version returned the value 1 as needed. The other again returned 0.
I know. I know. Being of non-Cygwin origin; and with no access to the source
collection; and with no oversight of my key-presses (especially at (e))
this amounts to no more than a fringe anecdote. But it would be hugely
encouraging to know of any similar experience of inexplicably changed behaviour
(especially if recent) or any kind of a hint of cause or cure.
Thank you for wading through all this .. ..
--
Problem reports: https://cygwin.com/problems.html
FAQ: https://cygwin.com/faq/
Documentation: https://cygwin.com/docs.html
Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple