Re: Newbie: issues developing a new extension
| From: | jpauli | Date: | Wed, 29 Feb 2012 09:52:00 +0000 |
| Subject: | Re: Newbie: issues developing a new extension | ||
| References: | 1 2 3 4 5 6 7 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-58332@lists.php.net to get a copy of this message | ||
On Wed, Feb 29, 2012 at 10:47 AM, Christian Ferrari <camauz@yahoo.com>wrote:
> >>>>> > 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, (L
> >> t%©æ*´„PÛ¶_;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?
>
You should rm -f configure manually before invoking buildconf --force. It
wont overwrite configure by itself.
Julien.P
>
> Thanks in advance
> Ch.F.
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>