Edit report at https://bugs.php.net/bug.php?id=80171&edit=1
ID: 80171
Updated by: nikic@php.net
Reported by: smillerdev at me dot com
Summary: reentrancy.c:139:23: error: too few arguments to
function call
-Status: Assigned
+Status: Feedback
Type: Bug
Package: Compile Failure
Operating System: macOS 10.15
PHP Version: 7.3.23
Assigned To: nikic
Block user comment: N
Private report: N
New Comment:
I addressed a number of issues in https://github.com/php/php-src/commit/aa405b7da270595d349d0596ad31305a41d4b1c0.
Could you please check whether that makes the build succeed?
Previous Comments:
------------------------------------------------------------------------
[2020-10-02 17:05:59] php-bugs-2020 at ryandesign dot com
Hi, sorry for filing the duplicate #80176; I didn't see this one.
Apple did not redefine readdir_r; instead, as of Xcode 12, implicit function declarations are an
error. They used to be just warnings. php's configure script fails to include various required
headers, causing it to misidentify the system's capabilities (such as how many arguments the
readdir_r function needs). php needs to fix its configure script to include the right headers for
each test.
------------------------------------------------------------------------
[2020-10-02 16:47:58] cmb@php.net
Related To: Bug #80176
------------------------------------------------------------------------
[2020-10-02 10:01:10] smillerdev at me dot com
> Where does the -Werror flag come from in your case? Is this a new default flag in macos 10.15?
As far as I know it's added by Homebrew. That has been the case for tons of software years
though, without any issues.
------------------------------------------------------------------------
[2020-10-02 09:46:50] nikic@php.net
Relevant part:
conftest.c:277:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
main() {
^
conftest.c:284:5: error: implicitly declaring library function 'exit' with type 'void
(int) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration]
exit(1);
^
conftest.c:284:5: note: include the header <stdlib.h> or explicitly provide a declaration for
'exit'
conftest.c:286:5: error: implicit declaration of function 'close' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
close(dir);
^
conftest.c:289:3: error: implicit declaration of function 'close' is invalid in C99
[-Werror,-Wimplicit-function-declaration]
close(dir);
^
1 warning and 3 errors generated.
configure:15832: $? = 1
configure: program exited with status 1
It fails due to implicit declaration warnings that become errors under -Werror.
While we can fix the missing includes, running configure with -Werror will also break other checks
-- and if I remember correct, some of them are ones done by autoconf itself, so we cannot easily
address them. This is why we have an --enable-werror option that enables -Werror only for the build
of PHP itself, not for configure checks.
Where does the -Werror flag come from in your case? Is this a new default flag in macos 10.15?
------------------------------------------------------------------------
[2020-10-02 09:38:29] smillerdev at me dot com
I'm personally running the macOS 11.0 beta, but the error is the same. Here is a gist with the
log. I can't get it from the CI servers, but I can ask someone to run it on 10.15 if needed.
https://gist.github.com/SMillerDev/638547b3840380fac9f9fd8e0eefb5f6
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=80171
--
Edit this bug report at https://bugs.php.net/bug.php?id=80171&edit=1