La compilación de PHP no es un proceso tan sencillo como instalarlo a través de los gestores de paquetes, como yum o apt-get, pero tiene sus ventajas. Compilar por ti mismo PHP (ojo, sólo en servidores sin panel de control) te permite adaptarlo mejor a tus necesidades, instalando aquellos módulos que te sean necesarios y no otros. La compilación de PHP requiere de muchas dependencias que son instaladas automáticamente cuando se instala PHP a través de un gestor de paquetes, pero no es así cuando se compila PHP manualmente, de modo que necesitarás instalarlas por ti mismo. Aquí te mostramos algunos errores que pueden surgirte durante la compilación de PHP y cómo solucionarlos.
ERROR 1
checking for BZip2 support… yes checking for BZip2 in default path… not found configure: error: Please reinstall the BZip2 distribution
Solución
yum install bzip2-devel
ERROR 2
checking for cURL support… yes checking if we should use cURL for url streams… no checking for cURL in default path… not found configure: error: Please reinstall the libcurl distribution - easy.h should be in /include/curl/
Solución
yum install curl-devel
ERROR 3
checking for fabsf… yes checking for floorf… yes configure: error: jpeglib.h not found. checking for fabsf… yes checking for floorf… yes checking for jpeg_read_header in -ljpeg… yes configure: error: png.h not found.
Solución
yum install libpng-devel
ERROR 4
checking for curl_multi_strerror in -lcurl… yes checking for QDBM support… no checking for GDBM support… no checking for NDBM support… no configure: error: DBA: Could not find necessary header file(s).
Solución
yum install db4-devel
ERROR 5
checking for png_write_image in -lpng… yes If configure fails try –with-xpm-dir= configure: error: freetype.h not found.
Solución
Reconfigura tu php con la siguiente opción:
–with-xpm-dir=/usr
ERROR 6
checking for png_write_image in -lpng… yes configure: error: libXpm.(a|so) not found.
Solución
yum install libXpm-devel
ERROR 7
checking for bind_textdomain_codeset in -lc… yes checking for GNU MP support… yes configure: error: Unable to locate gmp.h
Solución
yum install gmp-devel
ERROR 8
checking for utf8_mime2text signature… new checking for U8T_DECOMPOSE… configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.
Solución
yum install libc-client-devel
ERROR 9
checking for LDAP support… yes, shared checking for LDAP Cyrus SASL support… yes configure: error: Cannot find ldap.h
Solución
yum install openldap-devel
ERROR 10
checking for mysql_set_character_set in -lmysqlclient… yes checking for mysql_stmt_next_result in -lmysqlclient… no checking for Oracle Database OCI8 support… no checking for unixODBC support… configure: error: ODBC header file ‘/usr/include/sqlext.h’ not found!
Solución
yum install unixODBC-devel
ERROR 11
checking for PostgreSQL support for PDO… yes, shared checking for pg_config… not found configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path
Solución
yum install postgresql-devel
ERROR 12
checking for sqlite 3 support for PDO… yes, shared checking for PDO includes… (cached) /usr/local/src/php-5.3.7/ext checking for sqlite3 files in default path… not found configure: error: Please reinstall the sqlite3 distribution
Solución
yum install sqlite-devel
ERROR 13
checking for utsname.domainname… yes checking for PSPELL support… yes configure: error: Cannot find pspell
Solución
yum install aspell-devel
ERROR 14
checking whether to enable UCD SNMP hack… yes checking for default_store.h… no checking for kstat_read in -lkstat… no checking for snmp_parse_oid in -lsnmp… no checking for init_snmp in -lsnmp… no configure: error: SNMP sanity check failed. Please check config.log for more information.
Solución
yum install net-snmp-devel
ERROR 15
checking whether to enable XMLWriter support… yes, shared checking for xml2-config path… (cached) /usr/bin/xml2-config checking whether libxml build works… (cached) yes checking for XSL support… yes, shared configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution
Solución
yum install libxslt-devel
ERROR 16
configure: error: xml2-config not found. Please check your libxml2 installation.
Solución
yum install libxml2-devel
ERROR 17
checking for PCRE headers location… configure: error: Could not find pcre.h in /usr
Solución
yum install pcre-devel
ERROR 18
libtool: link: cannot find the library `/usr/lib/libidn.la’ or unhandled argument `/usr/lib/libidn.la’ make: *** [sapi/cgi/php-cgi] Error 1
Solución
cd /usr/src/ wget http://ftp.gnu.org/gnu/libidn/libidn-1.26.tar.gz tar -zvxf libidn-1.26.tar.gz cd libidn-1.26 ./configure make make install ln -s /usr/local/lib/libidn.la /usr/lib/libidn.la
ERROR 19
libtool: link: `/usr/lib/libxml2.la’ is not a valid libtool archive make: *** [ext/xsl/xsl.la] Error 1
Solución
cd /usr/src/ wget ftp://xmlsoft.org/libxml2/libxml2-2.7.3.tar.gz tar -zvxf libxml2-2.7.3.tar.gz cd libxml2-2.7.3 ./configure –prefix=/usr make make install
ERROR 20
configure: error: Your t1lib distribution is not installed correctly. Please reinstall it.
Solución
yum install t1lib-devel.x86_64
ERROR 21
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
Solución
yum install libmcrypt-devel.x86_64
ERROR 22
configure: error: Cannot find libtidy
Solución
yum install libtidy libtidy-devel
Hasta aquí el resumen de 22 errores comunes en las compilaciones de PHP con sus soluciones. ¡Esperamos que os haya sido de ayuda!