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