libargp package breaks getent utility - hung CI?
brian.inglis@systematicsw.ab.ca
brian.inglis@systematicsw.ab.ca
Sun Nov 9 20:15:50 GMT 2025
Scallywag CI hung?
No response to ssh ... jobs ...
On 2025-11-09 12:44, Jon Turney via Cygwin wrote:
> On 09/11/2025 16:02, Andrew Schulman via Cygwin wrote:
>>> A message box shown when running an affected program directly from
>>> cmd.exe reveals the problem: Entrypoint "argp_parse" is missing.
>>>
>>> $ objdump -p /bin/cygargp-0.dll | grep argp_parse
>>> [ 56] +base[ 57] 0038 rpl_argp_parse
>>>
>>> Previous version:
>>>
>>> $ objdump -p /bin/cygargp-0.dll | grep argp_parse
>>> [ 24] +base[ 25] 0018 argp_parse
>>>
>>>
>>> Current <argp.h> actually maps 'argp_parse' to 'rpl_argp_parse':
>>>
>>> $ printf '#include <argp.h>\nargp_parse' | gcc -E -xc - | tail -1
>>> rpl_argp_parse
>>>
>>> $ grep -B1 rpl_argp_parse /usr/include/argp-config.h
>>> /* Define to the name of argp_parse outside libc. */
>>> #define argp_parse rpl_argp_parse
>>
>> Good grief. Thanks Christian. So I see a few possible solutions to this:
>>
>> (1) Recompile all of the Cygwin programs that use argp, so they call the new
>> entry point rpl_argp_parse, aliased from argp_parse. (I don't really want to
>> do this)
>>
>> (2) Patch the gnulib source to make argp_parse a function that points to
>> rpl_argp_parse, instead of just a #define.
>>
>> (3) File a bug report with the gnulib project and see if they'll fix it.
>
> There are a few other possibilities, such as:
>
> (4) If upstream really intends this to be an ABI break, bump the soversion to 1
> in a new package libargp1 (and we'll keep the existing libargp (effectively
> libargp0) around until stuff linking with it is rebuilt).
>
> (5) If upstream thinks there isn't a stable ABI, stop providing a shared
> library, only a static one in libargp-devel.
>
>> While I sort that out, I'm going to release another update that will revert to
>> the previous release. That should get everything working again for now.
>>
>> Sorry for the trouble, everyone. This was a breaking ABI change and
>> unfortunately that meant that it passed all of our tests with newly compiled
>> code.
--
Take care. Thanks, Brian Inglis Calgary, Alberta, Canada
La perfection est atteinte Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher but when there is no more to cut
-- Antoine de Saint-Exupéry
More information about the Cygwin
mailing list