Re: SOLVED - Relocation error for precompiled shared module extension.
| From: | Robert Cummings | Date: | Mon, 22 Sep 2003 13:14:41 +0000 |
| Subject: | Re: SOLVED - Relocation error for precompiled shared module extension. | ||
| References: | 1 2 | Groups: | php.pecl.dev |
| Request: | Send a blank email to pecl-dev+get-38@lists.php.net to get a copy of this message | ||
On Mon, 2003-09-22 at 04:23, Wez Furlong wrote:
> > I'd normally post this to the internals list but I think that this group
> > is the new, more appropriate list. Correct me if I'm wrong :)
>
> Here is good :)
>
> > php: relocation error: /usr/lib/php4/php_interjinn.so: undefined symbol:
> > _ecalloc
>
> > I found similar information on Google suggesting, though not
> > indefinately, that this is due to PHP version incompatibility. Can
> > anyone verify that this is indeed the cause?
>
> It does sound like that is the cause.
> Which version of PHP do you have and which version does your user have?
>
> > For the sake of providing
> > more complete information, the shared module works fine on my system and
> > was compiled under linux with the following command lines:
> >
> > cc -fpic -DCOMPILE_DL_INTERJINN=1 \
> > -Iext/interjinn/ -Iinclude -Imain -I. -IZend -ITSRM \
> > -c -o ext/interjinn/interjinn.o ext/interjinn/interjinn.c
> >
> > cc -shared -L/usr/local/lib -rdynamic -o \
> > ext/interjinn/interjinn.so \
> > ext/interjinn/interjinn.o
>
> Can you try building your extension using the "phpize" tool? (or is that
> sequence of commands generated by phpize?)
Hmmm I've never used this tool :) The above commands were gleaned from
reading various documentation rooted from the PHP module documentation,
but I think said documentation branched to other sites via the comment
sections.
Anyways the user was using PHP 4.2.2 and I had compiled for 4.3.2. So
after finding out that compiling a version specifically using the 4.2.2
tre worked for him, I downloaded and compiled a version for each of the
PHP versions running from 4.1.0 to 4.3.3. From this action I discovered
there are three points at which a different compilation is necessary:
- 4.1.0 to 4.1.2 inclusive are compatible
- 4.2.2 to 4.2.3 inclusive are compatible
- 4.3.0 to 4.3.3 inclusive are compatible
I don't know about 4.2.0 and 4.2.1 since the older releases found by
using the search interface on php.net all provided a document not found
error. Anyways, I hope this information might be useful to anyone else
creating pre-compiled extensions.
Cheers,
Rob.
--
.------------------------------------------------------------.
| InterJinn Application Framework - http://www.interjinn.com
|
:------------------------------------------------------------:
| An application and templating framework for PHP. Boasting |
| a powerful, scalable system for accessing system services |
| such as forms, properties, sessions, and caches. InterJinn |
| also provides an extremely flexible architecture for |
| creating re-usable components quickly and easily. |
`------------------------------------------------------------'