libargp package breaks getent utility
Christian Franke
Christian.Franke@t-online.de
Sun Nov 9 10:01:35 GMT 2025
Christian Franke wrote:
> Cedric Blancher via Cygwin wrote:
>> On Sat, 8 Nov 2025 at 12:50, Cedric
>> Blancher<cedric.blancher@gmail.com> wrote:
>>> Good morning!
>>>
>>> /usr/bin/getent passwd and /usr/bin/getent group no longer yield any
>>> output in the latest Cygwin 3.7-dev binaries.
>>>
>>> Something broke.
>>>
>>> I did some digging, and even /usr/bin/getent --help does not work
>>> anymore. strace getent then reported that the function "argp_parse" is
>>> missing in the binary.
>>> Downgrading the package does not help.
>> Downgrading the libargp package solved the problem.
>
> This also applies to the few other tools which appear in 'rdepends':
> f3read, f3write, nosleep, rngtest.
> https://cygwin.com/packages/summary/libargp.html
According to gdb, programs fail during startup with 0xc0000139
(STATUS_ENTRYPOINT_NOT_FOUND).
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
--
Regards,
Christian
More information about the Cygwin
mailing list