Skip to content

grp module attempts to build even if getgrent family of functions are unavailable #114875

Closed
@mhsmith

Description

@mhsmith

Bug report

Bug description:

In the configure script, the only prerequisite for the grp module is currently the getgrgid function. Older versions of Android have this function, but they don't have the getgrent function, which the grp module uses unconditionally. This causes the build to fail as follows:

/Users/msmith/Library/Android/sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/darwin-x86_64/bin/x86_64-linux-android21-clang  -fno-strict-overflow -Wsign-compare -Wunreachable-code -DNDEBUG -g -O3 -Wall    -std=c11 -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wstrict-prototypes -Werror=implicit-function-declaration -fvisibility=hidden  -I./Include/internal -I./Include/internal/mimalloc  -I. -I./Include     -c ./Modules/grpmodule.c -o Modules/grpmodule.o
./Modules/grpmodule.c:127:24: warning: unused variable 'buf2' [-Wunused-variable]
    char *buf = NULL, *buf2 = NULL;
                       ^
./Modules/grpmodule.c:205:24: warning: unused variable 'buf2' [-Wunused-variable]
    char *buf = NULL, *buf2 = NULL, *name_chars;
                       ^
./Modules/grpmodule.c:287:5: error: implicit declaration of function 'setgrent' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
    setgrent();
    ^
./Modules/grpmodule.c:288:17: error: implicit declaration of function 'getgrent' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
    while ((p = getgrent()) != NULL) {
                ^

CPython versions tested on:

CPython main branch

Operating systems tested on:

Other

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildThe build process and cross-buildtype-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions