php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #8592 couldn't make shared extension module using phpize.
Submitted: 2001-01-08 06:05 UTC Modified: 2001-10-30 22:56 UTC
From: louis at cityfujisawa dot ne dot jp Assigned:
Status: Closed Package: Dynamic loading
PHP Version: 4.0.4 OS: Linux Redhat6.2
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: louis at cityfujisawa dot ne dot jp
New email:
PHP Version: OS:

 

 [2001-01-08 06:05 UTC] louis at cityfujisawa dot ne dot jp
Since PHP-4.0.4,
The shared PHP extension module didn't work in Linux-box.
Typical steps to build shared module are,

1. cd php-4.0.4/ext/pgsql
2. phpize
3. ./configure --with-pgsql
   php_config.h is build on php-4.0.4/ext/pgsql,
   it includes some important definition like 
    #define HAVE_PGSQL 1.
4. make
   and pgsql.so is build on .libs/pgsql.so
   But, the command 'nm .libs/pgsql.so | grep zend'    returned nothing.

   pgsql.so can't work as shared extension module.

I think it is caused by the lack of HAVE_PGSQL definition.
HAVE_PGSQL is defined in the local php_config.h
(in php-4.0.4/ext/pgsql/).
There is another php_config.h in 
/usr/include/php/main/. 

pgsql.c includes php.h (located in /usr/include/php/main), and 
php.h includes php_compat.h, and
php_compat.h includes php_config.h (in Linux).
For earlier version of php4,
php_config.h is not located in /usr/include/php/main, but in /usr/include/php,
so php_config.h included from php_compat.h is
local one.
But, php_compat.h includes /usr/include/php/main/php_config.h in php-4.0.4,
because both files are in the same directory
(/usr/include/php/main),
so HAVE_PGSQL defined in local php_config.h was
not defined when pgsql.c was compiled.

I think main/php_config.h should move to another place or change include option to
make shared extension module with phpize.


 






Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-10-30 22:56 UTC] sniper@php.net
This is fixed long time ago in CVS (can't remember if 
it's fixed in 4.0.6 too)

 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Wed May 07 23:01:27 2025 UTC