Re: Newbie: issues developing a new extension
>>>>> > Dear all,
>
>>>
>>>>> > I'm asking your help because I'm not able to
> solve an
>> issue
>>>> probably
>>>>> related to some foolish mistake I have not yet discovered.
>>>>> > I'm trying to develop an experimental extension to
>> interface LIXA
>>>>> library (http:/lixa.sourceforge.net/).
>>>>> >
>>>>> > I have created the basic stuff (config.m4, lixa.c,
> php_lixa.h
>> and so
>>>> on).
>>>>> >
>>>>> > If I use this sequence from the ext/lixa directory:
>>>>> >
>>>>> > /opt/php/bin/phpize
>>>>> > ./configure --help
>>>>> >
>>>>> > I can see the lixa extension is available:
>>>>> >
>>>>> > [...]
>>>>> > Optional Packages:
>>>>> > --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
>>>>> > --without-PACKAGE do not use PACKAGE (same as
>>>> --with-PACKAGE=no)
>>>>> > --with-libdir=NAME Look for libraries in .../NAME
>
>> rather than
>>>>> .../lib
>>>>> > --with-php-config=PATH Path to php-config php-config
>>>>> > --with-lixa=FILE Include LIXA support. File is
> the
>> path to
>>>>> lixa-config
>>>>> >
>>>>> > [...]
>>>>> >
>>>>> > and I can compile with:
>>>>> >
>>>>> > ./configure --with-lixa=/opt/lixa/bin/lixa-config
>>>>> --with-php-config=/opt/php/bin/php-config
>>>>> >
>>>>> > the build process runs as expected and the extension is
>> available
>>>> after
>>>>> an addition to php.ini
> (extension=[...]/ext/lixa/modules/lixa.so).
>>>>>
>>>>> Great, you are done. Why do you want to go any further than
> this?
>> You
>>>>> built your extension and it is available from PHP exactly
> like any
>> pecl
>>>>> extension.
>>>>>
>>>>
>>>> and if you're using apache, reboot it and check your phpinfo()
> page
>> for
>>>> your extension.
>>>> if you're connected up via the command line you can run
> "php
>> -m"
>>>> to see if
>>>> your modules exists.
>>>>
>>>>
>>>>>
>>>>> -Rasmus
>>>>>
>>>
>>> Dear all,
>>> I would like to see my extension as any other extension, like MySQL,
>> PostgreSQL, Oracle and so on because:
>>> 1. LIXA itself is useless without those resource managers
>>> 2. I need to patch other extensions to implement the interfaces
> between
>> LIXA and MySQL/PostgreSQL/Oracle.
>>> What's the difference between an "internal" extension
> (like
>>> MySQL/PostgreSQL/Oracle) and an "external" extension as the
> one I
>>> produced?
>>> Thanks in advance, your help is precious.
>>
>>
>> The PHP source archive bundles several extensions under the ext/
>> directory, these are the extensions are listed when you run
>> ./configure --help
>>
>> I don't understand why you want your extension to show up there, but
>> to do so you have to place your extension in that folder and run
>> ./buildconf --force
>> PHP will not automatically scan your filesystem for possible extension
>> directories to list them under ./configure
>> I'm sure you have seen, and used, http://pecl.php.net - these
>> extensions don't show up when you build PHP.
>>
>> The standard way to build "external" extensions however is to use
>> pecl, or manually build them as shared modules (as you did first).
>>
>>
>> -Hannes
>>
>
> That's the point: I tryed
> ./buildconf --help
Sorry, this is a typo, the right one is:
./buildconf --force
> but it didn't include my extension.
>
> This is an excerpt from my initial post:
>
>> If I use this sequence from the PHP root directory:
>
>> ./buildconf --force
>> as described here:
> talks.somabo.de/200510_zend_conf_php_extension_development.pdf
>
>> I cannot see "lixa" as an available option of my configure:
>
>> ./configure --help|grep lixa
>> is empty.
>
>> If I try to build PHP anyway, I obtain:
>
>> tiian@mojan:~/src/swig/php5.4-201202241630$ ./configure
> --with-lixa=/opt/lixa/bin/lixa-config
>> configure: WARNING: unrecognized options: --with-lixa
>
> Do you have any idea how to debug why "buildconf --force" does not
> pick-up my extension?
Thanks in advance
Ch.F.
Thread (10 messages)