Edit report at https://bugs.php.net/bug.php?id=80171&edit=1
ID: 80171
Comment by: smillerdev at me dot com
Reported by: smillerdev at me dot com
Summary: reentrancy.c:139:23: error: too few arguments to
function call
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:
This doesn't apply cleanly to the 7.2/7.3 codebase the issue was occurring in, which is to be
expected for a commit based on master. I'm trying to make it work, but I don't think I
know enough about the changes between 7.2 and 8.0 on this level to make it work.
Previous Comments:
------------------------------------------------------------------------
[2020-10-05 08:53:55] nikic@php.net
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?
------------------------------------------------------------------------
[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?
------------------------------------------------------------------------
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