On Wed, 8 Dec 2021 at 15:25, David Zuelke via internals <internals@lists.php.net> wrote: > > That doesn't work with PHP 8.1 anymore - the Makefile generated by > phpize now contains an include directive at the top level (near the > bottom), e.g.: > > -include src/php_raphf_api.dep
The file src/php_raphf_api.dep is created when the source code is compiled. It creates a list of which files were used in the compilation of a C file. In this case src/php_raphf_api.c The '-include' directive apparently allows for a file to be listed, but not error when it doesn't exist, apparently: https://www.gnu.org/software/make/manual/html_node/Features.html so on a fresh cleaned build, it shouldn't make any difference. > Which lists not only the extension's headers, but also all of PHP's > (in include/main, include/Zend, and so forth): Yes. Those are the files that need to be present to compile that source code file. It's used to check to see if a C file should be recompiled, as one of it's dependencies has changed. The dep file is also deleted when doing make clean. It doesn't appear to me that the change to the phpize and the dep file is affecting other people....I think the problem you're seeing is something unique to your build process. In particular: 1. Are you doing a make clean, or is there a chance of left over files from a previous build? 2. Why are you (as far as I understand) deleting the PHP files in `5) rm -rf $installdir`, before compiling the extension? The command `make install` does a check on whether anything needs recompiling.....and I believe it's failing because the files it's trying to check no longer exist. > Is this intentional? If so, could someone explain the purpose of the change? Probably to make the build process less flaky, by explicitly checking dependencies, so that there are fewer instances of "stuffs not working.....I guess I'll do a make clean and see if that helps". cheers Dan Ack -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: https://www.php.net/unsub.php