Fehler beim Erstellen: schwerwiegender Fehler: pcre.h: Keine solche Datei oder kein solches Verzeichnis

80

Ich bin gerade mit der Installation von Ubuntu 13.10 fertig.

Ich möchte Phalcon ausprobieren und wenn ich die Quelle (phalcon.so) erstelle, habe ich diesen Fehler:

     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

Meine Installation der Lampe ist:

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 gcc

Kann mir jemand helfen ?

fabrice
quelle
php -v: PHP Warnung: PHP-Start: Dynamische Bibliothek '/usr/lib/php5/20121212/phalcon.so' kann nicht geladen werden - /usr/lib/php5/20121212/phalcon.so: undefiniertes Symbol: php_end_ob_buffer in Unbekannt am Zeile 0 PHP 5.5.3-1ubuntu2.2 (cli) (erstellt: 28. Februar 2014, 20:03:35 Uhr) Copyright (c) 1997-2013 Die PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies mit Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, von Zend Technologies mit Xdebug v2.2.3, Copyright (c) 2002-2013, von Derick Rethans
fabrice

Antworten:

214

Die neueste Version von Phalcon verwendet PCRE-Bibliotheken.

Sie können sie wie folgt installieren:

sudo apt-get install libpcre3-dev

und versuchen Sie dann erneut, Phalcon zu installieren

Für CentOS müssen Sie verwenden

sudo yum install pcre-devel

Credits: @ xgretsch

Für Mac können Sie verwenden

brew install pcre

Credits @ Brandon Romano

Für Mac ohne brew

Gehen Sie zu https://www.pcre.org/ und laden Sie das neueste pcre: herunter.

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

Credits @ user1377324

Nikolaos Dimopoulos
quelle
4
Auf dem Mac können Sie verwenden:brew install pcre
Brandon Romano
2
Vielen Dank, das scheint das Problem für mich bei der Installation der PHP-Erweiterung von mongodb mit PECL behoben zu haben.
Carlos F
6

Um die Datei pcre.h einzuschließen, durchsuchen Sie die Paketarchive nach der Datei pcre.h. Dazu benutze ich einen Befehl namens apt-file (

apt-get installiere apt-file

und

apt-file update

wenn Sie es nicht installiert haben).

Dann suchen Sie nach dem PCRE-Paket:

apt-file search -x "/pcre.h$"

Das -x informiert den Befehl, dass ich einen regulären Ausdruck als Muster verwenden möchte. apt-file lieferte mir drei Treffer:

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

Der letzte ist der, den ich will:

apt-get install libpcre3-dev

Dies wird das Problem mit dem Kompilierungsproblem der Datei pcre.h lösen. Ich hoffe, es wird anderen helfen, die möglicherweise eine Antwort auf diesen Thread finden.

stackMonk
quelle
2

Für Mac OSX Maverick können Sie verwenden

brew install pcre

Wenn es Ihnen Fehler gibt, können Sie verwenden

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