PHP 4.0 Bug #6975 Updated: link fails with pcre_memmove multiply defined
| From: | sniper@php.net | Date: | Mon, 18 Dec 2000 15:37:47 +0000 |
| Subject: | PHP 4.0 Bug #6975 Updated: link fails with pcre_memmove multiply defined | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-41757@lists.php.net to get a copy of this message | ||
ID: 6975
Updated by: sniper
Reported By: enno.davids@metva.com.au
Old-Status: Open
Status: Feedback
Bug Type: Compile Failure
Assigned To:
Comments:
Does this happen also with the latest snapshot from http://snaps.php.net/ ??
--Jani
Previous Comments:
---------------------------------------------------------------------------
[2000-10-02 08:57:55] enno.davids@metva.com.au
When doing a DSO build on a SunDS4 machine the (I think) final link fails with pcre_memmove multiply
defined.
On investigation, it seems that the configure script is not setting the necessary defines for this
platform in .../ext/pcre/pcrelib/. The header file internal.h in that directory specifically tests
for platforms like this which may not have memmove but do have bcopy. But in the case where neither
are found, it has a code snippet for pcre_memmove which it includes. As soon as more than one .c
file includes this, the code snippet is expanded into each file, resulting in the multiple
definitions the linker complains about.
As the config mechanisms are sufficiently complex I haven't attempted to fix them and supply a
patch and this may in fact be a problem with what appears to be an externally sourced library in any
event. The fix for SunOS is to add a pair of #defines to explicity set HAVE_MEMMOVE to false and
HAVE_BCOPY to true. The compile/link suceeds at that point.
---------------------------------------------------------------------------
Full Bug description available at: http://bugs.php.net/?id=6975