Fwd: [PEAR] Help with pear/php module development
| From: | Jesus M. Castagnetto | Date: | Wed, 25 Jul 2001 08:30:51 +0000 |
| Subject: | Fwd: [PEAR] Help with pear/php module development | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-60932@lists.php.net to get a copy of this message | ||
I think this is more of interest of the php-dev list not of PEAR list
(CC'ing to the php-dev list)
--- PHP <php@trustcommerce.com> wrote:
> Date: Tue, 24 Jul 2001 16:57:19 -0700
> From: PHP <php@trustcommerce.com>
> To: pear-general@lists.php.net
> Subject: [PEAR] Help with pear/php module development
>
>
> Hello,
> Something seems to have broken in pear that in-turn broke a php module I
> created.
>
> I developed a drop in module for php4 that worked great for PHP-4.0 to
> PHP-4.0.4. As of
> PHP-4.0.5 it broke and would no longer build properly. At link time it is
> failing to link to the proper libraries.
>
> Here's a snippet of the make message.
>
> /bin/sh /root/tclink-3.2.2-php/php/libtool --mode=link gcc -I.
> -I/root/tclink-3.2.2-php/php/ -I/root/tclink-3.2.2-php/php/main
> -I/root/tclink-3.2.2-php/php -I/usr/local/include/php
> -I/usr/local/include/php/main -I/usr/local/include/php/Zend
> -I/usr/local/include/php/TSRM -DHAVE_CONFIG_H -g -O2 -o tclink.la
> -avoid-version -module -rpath /root/tclink-3.2.2-php/php/modules tclink.lo
> -L/usr/lib -Wl,lcrypto -Wl,lssl
> mkdir .libs
> (cd . && ln -s tclink.lo tclink.o)
> gcc -shared tclink.lo -L/usr/lib -lc -Wl,-soname -Wl,tclink.so -o
> .libs/tclink.so
>
> There -- that last line should have a "-lssl -lcrypto -ltclink" but it does
> not and ends up not linking to the proper libraries.
>
> My config.m4 file worked fine for all the other versions of PHP so I am
> assuming that something in pear broke. I found a fix on Usenet that worked
> for 4.0.5 but NOT 4.0.6. The fix was to change this step in the install
>
> ./configure --with-tclink=../C --with-ssl=/usr/lib
>
> to this ...
>
> CFLAGS="$CFLAGS -DHAVE_TCLINK=1 -DCOMPILE_DL_TCLINK=1" ./configure
> --with-tclink=../C --with-ssl=/usr/lib
>
> For anyone who wants to look at my package and try to help me find a
> workaround the package can be found here
>
> http://www.trustcommerce.com/tclink-3.2.2-php.tar.gz
>
> Also, here is my config.m4 file. I have a feeling it can be a LOT simpler
> but just dont understand the tool well enough to know where to go.
>
>
------------------------------------------------------------------------------------------------
>
> dnl $Id: config.m4,v 1.1 2001/03/26 23:26:19 adam Exp $
> dnl config.m4 for extension tclink
> dnl don't forget to call PHP_EXTENSION(tclink)
>
> PHP_ARG_WITH(ssl, for TCLink (SSL) support,
> [ --with-ssl[=DIR] Include TCLink (SSL) support. DIR is the OpenSSL
> base
> directory.], no)
>
> if test "$PHP_SSL" != "no"; then
> AC_MSG_CHECKING(for TCLink (SSL) libraries)
>
> for i in $PHP_SSL; do
> if test -r $i/libssl.a; then
> TCLINK_SSL_LIB_DIR=$i;
> fi
> done
>
> if test -z "$TCLINK_SSL_LIB_DIR"; then
> AC_MSG_ERROR(Cannot find SSL library files under $PHP_SSL)
> fi
>
> AC_MSG_RESULT($TCLINK_SSL_LIB_DIR)
>
> AC_ADD_LIBRARY_WITH_PATH(crypto, $TCLINK_SSL_LIB_DIR)
> AC_ADD_LIBRARY_WITH_PATH(ssl, $TCLINK_SSL_LIB_DIR)
> fi
>
>
> PHP_ARG_WITH(tclink, for TCLink support,
> [ --with-tclink[=DIR] Include TCLink support. DIR is the TCLink base
> directory.], no)
>
> if test "$PHP_TCLINK" != "no"; then
>
> if test "$PHP_SSL" = "no"; then
> AC_MSG_ERROR(Cannot enable support for TCLink without OpenSSL libraries)
> fi
>
> AC_MSG_CHECKING(for TCLink library)
>
> for i in $PHP_TCLINK; do
> if test -r $i/tclink.h; then
> TCLINK_INC_DIR=$i
> fi
> if test -r $i/libtclink.a; then
> TCLINK_LIB_DIR=$i
> fi
> if test -r $i/libtclink.so; then
> TCLINK_LIB_DIR=$i
> fi
> done
>
> if test -z "$TCLINK_INC_DIR"; then
> AC_MSG_ERROR(Cannot find header files under $PHP_TCLINK)
> fi
>
> if test -z "$TCLINK_LIB_DIR"; then
> AC_MSG_ERROR(Cannot find library files under $PHP_TCLINK)
> fi
>
> AC_MSG_RESULT($TCLINK_LIB_DIR)
>
> AC_ADD_LIBRARY_WITH_PATH(tclink, $TCLINK_LIB_DIR, TCLINK_SHARED_LIBADD)
> if test "$ext_shared" = "yes"; then
> TCLINK_SHARED_LIBADD="$TCLINK_SHARED_LIBADD -L$TCLINK_SSL_LIB_DIR
> -Wl,lcrypto -Wl,lssl"
> fi
>
> AC_ADD_INCLUDE($TCLINK_INC_DIR)
>
> AC_DEFINE(HAVE_TCLINK, 1, [Whether you have TCLink])
> PHP_EXTENSION(tclink, $ext_shared)
> PHP_SUBST(TCLINK_SHARED_LIBADD)
> fi
>
>
------------------------------------------------------------------------------------------------
>
>
>
>
> --
> PEAR General Mailing List (http://pear.php.net/)
> To unsubscribe, e-mail: pear-general-unsubscribe@lists.php.net
> For additional commands, e-mail: pear-general-help@lists.php.net
> To contact the list administrators, e-mail: php-list-admin@lists.php.net
>
=====
--- Jesus M. Castagnetto (jcastagnetto@yahoo.com)
__________________________________________________
Do You Yahoo!?
Make international calls for as low as $.04/minute with Yahoo! Messenger
http://phonecard.yahoo.com/