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).
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
that's a reasonable result because "lixa" extension does not appear in configure help.
It seems the global "configure" does not recognize my extension.
Here's the config.m4 I have built in the last trials:
dnl config.m4 start
PHP_ARG_WITH(lixa, for LIXA support,
[ --with-lixa=FILE Include LIXA support. File is the path to lixa-config program])
if test "$PHP_LIXA" != "no"; then
LIXA_CONFIG=$PHP_LIXA
dnl --with-lixa -> SWIG is a pre-requisite
AC_CHECK_PROGS(SWIG, [swig], [])
if test -z $SWIG
then
AC_MSG_ERROR([cannot find swig program])
fi
dnl use lixa-config to determine LIXA include dir
AC_MSG_CHECKING([for LIXA using $LIXA_CONFIG])
LIXA_INCLUDE="$($LIXA_CONFIG --include-dir)"
if test -r "$LIXA_INCLUDE/tx.h"
then
AC_MSG_RESULT(found tx.h in $LIXA_INCLUDE)
LIXA_DIR="$($PHP_LIXA --prefix)"
fi
if test -z "$LIXA_DIR"
then
AC_MSG_RESULT([not found])
AC_MSG_ERROR([Please specify a valid lixa-config utility program or reinstall the LIXA distribution])
fi
dnl # --with-lixa -> add include path
PHP_ADD_INCLUDE($($LIXA_CONFIG --include-dir))
AC_MSG_CHECKING([if LIXA is compiled with PostgreSQL support])
tmp=$($LIXA_CONFIG --include-dir-postgresql 2>/dev/null)
if test $? -eq 0
then
PHP_ADD_INCLUDE($tmp)
HAVE_LIXA_POSTGRESQL=1
AC_DEFINE([HAVE_LIXA_POSTGRESQL], [1], [Define to 1 if LIXA is compiled with PostgreSQL support])
AC_MSG_RESULT([yes])
else
HAVE_LIXA_POSTGRESQL=0
AC_MSG_RESULT([no])
fi
AC_MSG_CHECKING([if LIXA is compiled with MySQL support])
tmp=$($LIXA_CONFIG --include-dir-mysql 2>/dev/null)
if test $? -eq 0
then
PHP_ADD_INCLUDE($tmp)
HAVE_LIXA_MYSQL=1
AC_DEFINE([HAVE_LIXA_MYSQL], [1], [Define to 1 if LIXA is compiled with MySQL support])
AC_MSG_RESULT([yes])
else
HAVE_LIXA_MYSQL=0
AC_MSG_RESULT([no])
fi
dnl # --with-lixa -> dynamically generate lixa.i interface file for SWIG
LIXA_INTERFACE="lixa.i"
AC_MSG_NOTICE([Producing file $LIXA_INTERFACE dynamically...])
echo "%module lixa" > $LIXA_INTERFACE
echo "%{" >> $LIXA_INTERFACE
echo "#include "tx.h"" >> $LIXA_INTERFACE
if test $HAVE_LIXA_POSTGRESQL -eq 1
then
echo "#include "lixapq.h"" >> $LIXA_INTERFACE
fi
if test $HAVE_LIXA_MYSQL -eq 1
then
echo "#include "lixamy.h"" >> $LIXA_INTERFACE
fi
echo "%}" >> $LIXA_INTERFACE
echo "%include "tx.h"" >> $LIXA_INTERFACE
if test $HAVE_LIXA_POSTGRESQL -eq 1
then
echo "%include "lixapq.h"" >> $LIXA_INTERFACE
fi
if test $HAVE_LIXA_MYSQL -eq 1
then
echo "%include "lixamy.h"" >> $LIXA_INTERFACE
fi
dnl # --with-lixa -> building LIXA interface using SWIG
AC_MSG_CHECKING([if LIXA wrapper can be created with SWIG])
$SWIG -php -I$LIXA_INCLUDE -o lixa.c $LIXA_INTERFACE
if test $? -eq 0
then
AC_MSG_RESULT([yes])
else
AC_MSG_ERROR([unable to create LIXA php wrapper using SWIG])
fi
dnl # --with-lixa -> check for lib and symbol presence
LIBNAME=lixac # you may want to change this
LIBSYMBOL=tx_open # you most likely want to change this
PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,
[
PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $($PHP_LIXA --lib-dir), LIXA_SHARED_LIBADD)
AC_DEFINE(HAVE_LIXALIB,1,[ ])
],[
AC_MSG_ERROR([wrong lixac lib version or lib not found])
],[
$($PHP_LIXA --libs)
])
dnl
AC_DEFINE(HAVE_LIXA, 1, [Whether you have LIXA])
PHP_SUBST(LIXA_SHARED_LIBADD)
PHP_NEW_EXTENSION(lixa, lixa.c, $ext_shared)
fi
dnl config.m4 end
I did the same with a simpler test extension named "sample" with a trivial config.m4:
PHP_ARG_ENABLE(sample,
[Whether to enable the "sample" extension],
[ --enable-sample Enable "sample" extension support])
if test $PHP_SAMPLE != "no"; then
PHP_SUBST(SAMPLE_SHARED_LIBADD)
PHP_NEW_EXTENSION(sample,sample.c,$ext_shared)
fi
but I've obtained the same result.
Any hint will be very useful.
Thanks in advance.
Ch.F.
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 --helpI 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.
-Rasmus
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 --helpI 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-configthe 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'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 --helpI 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-configthe 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:
- LIXA itself is useless without those resource managers
- 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.
Ch.F.
> 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:
- LIXA itself is useless without those resource managers
- 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
> 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:
- LIXA itself is useless without those resource managers
- 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 --helpI 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
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.
> 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 .../NAMErather 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 --helpI 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.pdfI 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-lixaDo you have any idea how to debug why "buildconf --force" does not
pick-up my extension?
Thanks in advance
Ch.F.
On Wed, Feb 29, 2012 at 10:47 AM, Christian Ferrari camauz@yahoo.comwrote:
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 --helpI 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 .../NAMErather 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-configthe 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:
- LIXA itself is useless without those resource managers
- 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 --helpI 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 --helpSorry, this is a typo, the right one is:
./buildconf --forcebut 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.pdfI 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-lixaDo 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.
> 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 .../NAMErather 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 --helpI 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 --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.pdfI 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-lixaDo 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
Dear Julien,
your suggestion is precious but unfortunately some more files must be deleted.
After a bit of hacking I've found out this working sequence:
tiian@mojan:~/php5.4-201202241630$ rm configure autom4te.cache/*
tiian@mojan:~/php5.4-201202241630$ ./buildconf --force
Forcing buildconf
rebuilding configure
rebuilding main/php_config.h.in
tiian@mojan:~/php5.4-201202241630$ ./configure --help|grep lixa
--with-lixa=FILE Include LIXA support. File is the path to lixa-config program
Thanks again for your needful help!
Regards
Ch.F.
On Wed, Feb 29, 2012 at 10:06 PM, Christian Ferrari camauz@yahoo.comwrote:
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 --helpI 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 .../NAMErather 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-configthe 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:
- LIXA itself is useless without those resource managers
- 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 --helpI 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 --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.pdfI 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-lixaDo 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
Dear Julien,
your suggestion is precious but unfortunately some more files must be
deleted.
After a bit of hacking I've found out this working sequence:tiian@mojan:~/php5.4-201202241630$ rm configure autom4te.cache/*
Yes I forgot about those, but your are right :)
Autotools are little complicated when you want to dive into them.
One may read
http://www.freesoftwaremagazine.com/books/autotools_a_guide_to_autoconf_automake_libtool
or
paper http://shop.oreilly.com/product/9781593272067.do for deeper help and
understanding :)
Julien.P
tiian@mojan:~/php5.4-201202241630$ ./buildconf --force
Forcing buildconf
rebuilding configure
rebuilding main/php_config.h.in
tiian@mojan:~/php5.4-201202241630$ ./configure --help|grep lixa
--with-lixa=FILE Include LIXA support. File is the path to
lixa-config programThanks again for your needful help!
Regards
Ch.F.