Hello --

I am the GNU coreutils package maintainer for OpenBSD.
While updating the OpenBSD package to 9.0, the build errored out while compiling src/ls.c with the following error message:

src/ls.c:2276:6: error: function-like macro '__GNUC_PREREQ' is not defined

I noticed that there are some #ifdefs defining and using the macro in the lib/ directory but clearly the definition is not reaching into src/.

OpenBSD has a __GNUC_PREREQ__ macro defined in <sys/cdefs.h> but not the __GNUC_PREREQ macro.

If the preprocessor checks and associated pragmas are removed from src/ls.c then it builds OK. OpenBSD package builders use clang 11.1.0 and clang does not trigger the bogus warnings that these __GNUC_PREREQ-wrapped pragmas are defending against. Obviously that is not a universal fix, just a data point.

Once this fix is done, the rest of coreutils-9.0 builds and works OK. There are no test failures for coreutils-9.0 on x86_64-unknown-openbsd7.0

Thanks.

~Brian



Reply via email to