Thanks for your response! I'm not removing PHP before *compiling*, I am removing it before *installing*:
1) download/extract PHP (as a build dependency) to $PREFIX 2) phpize 3) ./configure --prefix=$PREFIX 4) make 5) remove PHP from $PREFIX 6) make install The purpose is to have a clean $PREFIX directory that, in its entirety, can be compressed into an archive for distribution of only that extension's files. Does that make sense? On Thu, Dec 9, 2021 at 8:28 PM Dan Ackroyd <dan...@basereality.com> wrote: > > 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