Errors compiling PHP 7.2 from source on a Raspberry Pi
The content here is under the Attribution 4.0 International (CC BY 4.0) license
The PHP version used is 7.2 directly from the git repository from github. Newer version might not work as expected. The version used to compile is the Raspbian (Raspbian Stretch with desktop and recommended software):
- Version: November 2018
- Release date: 2018-11-13
- Kernel version: 4.14
Getting the source code
git clone https://github.com/php/php-src
Entering the cloned repository to start the compilation process
cd php-src
Change to the version 7.2 (maybe newer or older, as you wish)
git tag php-7.2.0
The following errors are sequential when trying to install PHP in a Raspberry Pi, the errors show up in the following commands:
- ./buildconf
- ./configure
Error (buildconf): autoconf out of date
Executed command: ./buildconf
.
buildconf: checking installation...
buildconf: autoconf not found.
You need autoconf version 2.68 or newer installed
to build PHP from Git.
build/build.mk:36: fallo en las instrucciones para el objetivo 'buildmk.stamp'
make: *** [buildmk.stamp] Error 1
Solution (buildconf)
apt-get install autoconf
Success output (buildconf)
buildconf: checking installation...
buildconf: autoconf version 2.69 (ok)
rebuilding aclocal.m4
rebuilding configure
rebuilding main/php_config.h.in
Error (configure): bison out of date
Executed command ./configure
configure: WARNING: This bison version is not supported for regeneration of the Zend/PHP parsers (found: none, min: 204, excluded: ).
Solution bison
sudo apt-get install bison
Error (configure): rec2c not installed
Executed command: ./configure
checking for re2c... no
configure: error: You will need re2c 0.13.4 or later to generate PHP lexers.
Solution rec2c
sudo apt-get install re2c
Error (configure): libxml2 dev dependency not installed
Executed command: ./configure
checking libxml2 install dir... no
checking for xml2-config path...
configure: error: libxml2 not found. Please check your libxml2 installation.
Solution libxml2
sudo apt-get install libxml2-dev
Error (configure): sqlite3 dev dependency not installed
Executed command: ./configure
checking for sqlite3 files in default path... not found
configure: error: Please reinstall the sqlite distribution from http://www.sqlite.org
Solution sqlite3
sudo apt-get install libsqlite3-dev
Success output sqlite3
Generating files
configure: creating ./config.status
creating main/internal_functions.c
creating main/internal_functions_cli.c
+--------------------------------------------------------------------+
| License: |
| This software is subject to the PHP License, available in this |
| distribution in the file LICENSE. By continuing this installation |
| process, you are bound by the terms of this license agreement. |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point. |
+--------------------------------------------------------------------+
Thank you for using PHP.
config.status: creating php7.spec
config.status: creating main/build-defs.h
config.status: creating scripts/phpize
config.status: creating scripts/man1/phpize.1
config.status: creating scripts/php-config
config.status: creating scripts/man1/php-config.1
config.status: creating sapi/cli/php.1
config.status: creating sapi/phpdbg/phpdbg.1
config.status: creating sapi/cgi/php-cgi.1
config.status: creating ext/phar/phar.1
config.status: creating ext/phar/phar.phar.1
config.status: creating main/php_config.h
config.status: executing default commands
Table of contents
Got a question?
If you have question or feedback, don't think twice and click here to leave a comment. Just want to support me? Buy me a coffee!