Error de construcción: error fatal: pcre.h: no existe tal archivo o directorio

80

Acabo de terminar de instalar Ubuntu 13.10.

Quiero probar Phalcon, y cuando construyo la fuente (phalcon.so), tengo este error:

     from /home/fabrice/Downloads/cphalcon/build/32bits/phalcon.c:204:
/usr/include/php5/ext/pcre/php_pcre.h:29:18: fatal error: pcre.h: No such file or directory
 #include "pcre.h"
                  ^
compilation terminated.
make: *** [phalcon.lo] Erreur 1

Mi instalación de lámpara es:

sudo apt-get install -y apache2 php5 mysql-server libapache2-mod-php5 php5-mysql php5-curl php5-imagick php5-mcrypt php5-memcache php5-sqlite php5-xdebug php-apc php5-intl php-dev mongo gcc

Alguien puede ayudarme ?

fabrice
fuente
php -v: Advertencia de PHP: Inicio de PHP: No se puede cargar la biblioteca dinámica '/usr/lib/php5/20121212/phalcon.so' - /usr/lib/php5/20121212/phalcon.so: símbolo indefinido: php_end_ob_buffer en Desconocido en línea 0 PHP 5.5.3-1ubuntu2.2 (cli) (construido: 28 de febrero de 2014 20:03:35) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies con Zend OPcache v7.0.3-dev, copyright (C) 1999 a 2013, por Zend Technologies con Xdebug v2.2.3, copyright (C) 2002 a 2013, por Derick Rethans
Fabrice

Respuestas:

215

La última versión de Phalcon utiliza bibliotecas PCRE.

Puedes instalarlos así:

sudo apt-get install libpcre3-dev

y luego intente instalar Phalcon nuevamente

Para CentOS necesitarás usar

sudo yum install pcre-devel

Créditos: @ xgretsch

Para Mac puedes usar

brew install pcre

Créditos @ Brandon Romano

Para Mac sin brew

Vaya a https://www.pcre.org/ y descargue el último pcre :,

tar -xzvf pcre-8.42.tar.gz
cd pcre-8.42
./configure --prefix=/usr/local/pcre-8.42
make
make install
ln -s /usr/local/pcre-8.42 /usr/sbin/pcre
ln -s /usr/local/pcre-8.42/include/pcre.h /usr/include/pcre.h

Créditos @ user1377324

Nikolaos Dimopoulos
fuente
4
En mac puedes usar:brew install pcre
Brandon Romano
2
Gracias, parece que me ha solucionado el problema al instalar la extensión PHP de mongodb usando PECL.
Carlos F
6

Para incluir el archivo pcre.h, busque en los archivos del paquete el archivo pcre.h. Para hacer esto, uso un comando llamado apt-file (

apt-get install apt-file

y

actualización de archivo apt

si no lo tiene instalado).

Luego busque el paquete pcre:

búsqueda de archivos apt -x "/pcre.h$"

La -x informa al comando que quiero usar una expresión regular como patrón. apt-file me proporcionó tres resultados:

  • kannel-dev: /usr/include/kannel/gwlib/pcre.h
  • libajax6-dev: /usr/include/ajax/pcre.h
  • libpcre3-dev: /usr/include/pcre.h

El último es el que quiero:

apt-get install libpcre3-dev

Esto resolverá el problema con el problema de compilación del archivo pcre.h. Espero que ayude a otros, que puedan venir a encontrar una respuesta a este hilo.

stackMonk
fuente
2

Para mac osx maverick puedes usar

brew install pcre

si le da un error, puede usar

sudo ln -s /opt/local/include/pcre.h /usr/include/
sudo pecl install apc 
Astm
fuente