Bug #66604 [Asn->Csd]: 'pdo/php_pdo_error.h' not copied to the include dir
| From: | mbeccati@php.net | Date: | Sun, 13 Apr 2014 06:57:47 +0000 |
| Subject: | Bug #66604 [Asn->Csd]: 'pdo/php_pdo_error.h' not copied to the include dir | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-185206@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=66604&edit=1
ID: 66604
Updated by: mbeccati@php.net
Reported by: php-bugs-2014 at ryandesign dot com
Summary: 'pdo/php_pdo_error.h' not copied to the include dir
-Status: Assigned
+Status: Closed
Type: Bug
Package: PDO PgSQL
Operating System: OS X 10.9.1
PHP Version: 5.6.0alpha1
Assigned To: mbeccati
Block user comment: N
Private report: N
New Comment:
Automatic comment on behalf of mbeccati
Revision: http://git.php.net/?p=php-src.git;a=commit;h=7fd9898a2d00d3df95d581df0fe67d91ced86661
Log: Fixed bug #66604 'pdo/php_pdo_error.h' not copied to the include dir
Previous Comments:
------------------------------------------------------------------------
[2014-04-13 06:52:26] mbeccati@php.net
Nice catch!
Yes, php_pdo_error.h is supposed to be external, and that's why I moved the code away from
php_pdo_int.h.
I believe I forgot to add a reference to it in config.m4/w32, but what's weird is that on my
test box the header file is installed anyway.
------------------------------------------------------------------------
[2014-04-13 00:58:13] tyrael@php.net
let's see what Matteo thinks about this (as he was the person introducing php_pdo_error.h in http://git.php.net/?p=php-src.git;a=commitdiff;h=1e36e45d97da9e212b00f339c90b995908efa70c
)
------------------------------------------------------------------------
[2014-02-07 04:51:53] php-bugs-2014 at ryandesign dot com
I've worked around the problem. You might decide that this was a user error.
I'm the maintainer of php in MacPorts, and we build most of the bundled extensions separately
from php itself, so that they can be installed and uninstalled separately. The pdo extensions
don't build out of the box because they can't find the pdo headers, because the main php
ports install them in a nonstandard location (to allow multiple different php versions to be
installed simultaneously). For example php56 installs them in /opt/local/include/php56/php/ext/pdo.
The extension build is looking for the pdo headers in the path ext/pdo relative to the source
directory, which when building the extensions separately is the extension's own directory.
I've been dealing with this for the past 4 years by adding a symlink to the pdo headers
installed by the php port. So for example, when building the php56 version of pdo_pgsql, I'd
have MacPorts make a symlink from ext/pdo_pgsql/ext/pdo pointing to
/opt/local/include/php56/php/ext/pdo. This worked with previous versions, but not ver!
sion 5.6.0alpha1, because now the source directory ext/pdo contains this php_pdo_error.h header
which does not get installed. On the assumption that this is intended to be a private header,
I've changed my build strategy to now make the symlink from ext/pdo_pgsql/ext/pdo point to
ext/pdo, and the build now succeeds.
------------------------------------------------------------------------
[2014-01-29 07:13:01] php-bugs-2014 at ryandesign dot com
Description:
------------
Building the pdo_pgsql extension fails with:
/opt/local/var/macports/build/_Users_rschmidt_macports_dports_lang_php/php56-postgresql/work/php-5.6.0alpha1/ext/pdo_pgsql/pgsql_driver.c:33:10:
fatal error: 'pdo/php_pdo_error.h' file not found
#include "pdo/php_pdo_error.h"
^
1 error generated.
The other modules in php 5.6.0alpha1 build fine. pdo_pgsql built fine in php 5.5.8.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=66604&edit=1