Lỗi xây dựng: lỗi nghiêm trọng: pcre.h: Không có tệp hoặc thư mục nào như vậy


80

Tôi vừa hoàn tất cài đặt Ubuntu 13.10.

Tôi muốn thử Phalcon và khi tôi xây dựng nguồn (phalcon.so), tôi gặp lỗi này:

     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

Cách lắp đặt đèn của tôi là:

sudo apt-get install -y apache2 php5 mysql-server libapache2-mod-php5 php5-mysql php5-curl php5-imageick php5-mcrypt php5-memcache php5-sqlite php5-xdebug php-apc php5-intp php-dev-mong gcc

Ai có thể giúp tôi ?


php -v: PHP Cảnh báo: Khởi động PHP: Không thể tải thư viện động '/usr/lib/php5/20121212/phalcon.so' - /usr/lib/php5/20121212/phalcon.so: ký hiệu không xác định: php_end_ob_buffer trong Không xác định trên dòng 0 PHP 5.5.3-1ubuntu2.2 (cli) (xây dựng: 28/02/2014 20:03:35) Bản quyền (c) 1997-2013 The PHP Group Zend Engine v2.5.0, Bản quyền (c) 1998-2013 Zend Technologies với Zend OPcache v7.0.3-dev, Bản quyền (c) 1999-2013, bởi Zend Technologies với Xdebug v2.2.3, Bản quyền (c) 2002-2013, bởi Derick Rethans
Fabrice

Câu trả lời:


214

Phiên bản mới nhất của Phalcon sử dụng thư viện PCRE.

Bạn có thể cài đặt chúng như sau:

sudo apt-get install libpcre3-dev

và sau đó thử và cài đặt lại Phalcon

Đối với CentOS, bạn sẽ cần sử dụng

sudo yum install pcre-devel

Tín dụng: @ xgretsch

Đối với Mac, bạn có thể sử dụng

brew install pcre

Tín dụng @ Brandon Romano

Đối với Mac không có brew

Tới https://www.pcre.org/ và tải PCRE mới nhất :,

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


4
Trên mac bạn có thể sử dụng:brew install pcre
Brandon Romano

2
Cảm ơn, dường như đã khắc phục được sự cố cho tôi khi cài đặt phần mở rộng PHP của mongodb bằng PECL.
Carlos F

6

Để bao gồm tệp pcre.h, hãy tìm kiếm các kho lưu trữ gói cho tệp pcre.h. Để thực hiện việc này, tôi sử dụng lệnh có tên apt-file (

apt-get install apt-file

cập nhật tệp apt

nếu bạn chưa cài đặt nó).

Sau đó, tìm kiếm gói pcre:

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

-X thông báo lệnh rằng tôi muốn sử dụng một biểu thức chính quy làm mẫu. apt-file đã cung cấp cho tôi ba lần truy cập:

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

Cái cuối cùng là cái tôi muốn:

apt-get cài đặt libpcre3-dev

Điều này sẽ giải quyết vấn đề với vấn đề biên dịch tệp pcre.h. Hy vọng nó sẽ giúp những người khác, những người có thể tìm thấy câu trả lời cho chủ đề này.


2

Đối với mac osx maverick, bạn có thể sử dụng

brew install pcre

nếu nó cho bạn lỗi, bạn có thể sử dụng

sudo ln -s /opt/local/include/pcre.h /usr/include/
sudo pecl install apc 
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.