Помилка побудови: фатальна помилка: pcre.h: Немає такого файлу або каталогу


80

Я щойно закінчив установку Ubuntu 13.10.

Я хочу спробувати Phalcon, і коли я будую джерело (phalcon.so), у мене є така помилка:

     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

Моя установка лампи:

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-mongo gcc

Хто-небудь може мені допомогти?


php -v: Попередження PHP: Запуск PHP: Не вдається завантажити динамічну бібліотеку '/usr/lib/php5/20121212/phalcon.so' - /usr/lib/php5/20121212/phalcon.so: невизначений символ: php_end_ob_buffer у Невідомому на рядок 0 PHP 5.5.3-1ubuntu2.2 (cli) (побудовано: 28 лютого 2014 20:03:35) Авторське право (c) 1997-2013 PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies із Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, Zend Technologies with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
fabrice 21.03.14

Відповіді:


215

Остання версія Phalcon використовує бібліотеки PCRE.

Ви можете встановити їх так:

sudo apt-get install libpcre3-dev

а потім спробуйте встановити Phalcon ще раз

Для CentOS вам потрібно буде використовувати

sudo yum install pcre-devel

Подяки: @ xgretsch

Для Mac ви можете використовувати

brew install pcre

Подяки @ Brandon Romano

Для Mac без brew

Зайдіть на https://www.pcre.org/ і завантажте останню версію 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

Подяки @ user1377324


4
На Mac ви можете використовувати:brew install pcre
Brandon Romano

2
Дякую, що, здається, вирішили проблему для мене під час встановлення розширення PHP mongodb за допомогою PECL.
Carlos F

6

Щоб включити файл pcre.h, знайдіть у архіві пакета файл pcre.h. Для цього я використовую команду apt-file (

apt-get встановити apt-файл

і

оновлення apt-файлу

якщо у вас його не встановлено).

Потім знайдіть пакет pcre:

apt-файл пошуку -x "/pcre.h$"

-X повідомляє команді, що я хочу використовувати регулярний вираз як шаблон. apt-файл надав мені три звернення:

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

Останній - той, який я хочу:

apt-get install libpcre3-dev

Це вирішить проблему з проблемою компіляції файлів pcre.h. Сподіваюся, це допоможе іншим, хто може прийти, щоб знайти відповідь на цю тему.


2

Для mac osx maverick ви можете використовувати

brew install pcre

якщо це видає помилку, ви можете використовувати

sudo ln -s /opt/local/include/pcre.h /usr/include/
sudo pecl install apc 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.