Undefined symbols
| From: | Chris Boot | Date: | Fri, 13 Jul 2001 18:35:12 +0000 |
| Subject: | Undefined symbols | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-59996@lists.php.net to get a copy of this message | ||
Hi,
Sorry if this isn't the right place to ask. If it isn't, could someone
please tell me where I can ask such questions...
I'm attempting to write a PHP extension to load as an external DSO. I've
got the extension to build and load using dl(), but when I call a method
from it, the httpd running the request dies. The Apache error logs report
the following:
/usr/local/apache/bin/httpd: error in loading shared libraries:
/usr/local/lib/php/extensions/no-debug-non-zts-20001222/php_id3.so:
undefined symbol: __7ID3_TagPCc
__7ID3_TagPCc is the mangled name for the ID3_Tag class's constructor
located in another DSO (libid3.so, in /usr/lib) that I am linking against.
My config.m4 file is listed below. Are there any changes that should be
made to get this to work?
> dnl $Id: config.m4,v 1.5 2001/07/13 17:32:27 bootc Exp $
> dnl config.m4 for extension id3
>
> PHP_ARG_WITH(id3, for id3 support,
> [ --with-id3 Include id3 support])
>
> if test "$PHP_ID3" != "no"; then
> # --with-id3 -> check with-path
> SEARCH_PATH="/usr/local /usr"
> SEARCH_FOR="/include/id3.h"
> if test -r $PHP_ID3/; then # path given as parameter
> ID3_DIR=$PHP_ID3
> else # search default path list
> AC_MSG_CHECKING(for id3 files in default path)
> for i in $SEARCH_PATH ; do
> if test -r $i/$SEARCH_FOR; then
> ID3_DIR=$i
> AC_MSG_RESULT(found in $i)
> fi
> done
> fi
>
> if test -z "$ID3_DIR"; then
> AC_MSG_RESULT(not found)
> AC_MSG_ERROR(Please reinstall the id3 distribution)
> fi
>
> # --with-id3 -> add include path
> PHP_ADD_INCLUDE($ID3_DIR/include)
>
> # --with-id3 -> add the libraries
> PHP_ADD_LIBRARY_WITH_PATH(id3, $ID3_DIR/lib)
> PHP_ADD_LIBRARY(z)
>
> PHP_EXTENSION(id3, $ext_shared)
> PHP_REQUIRE_CXX
> fi
Thanks,
--
Chris Boot
bootc@worldnet.fr