Bug #2480: _memmove not found (and fixed)
| From: | bob at bizweb dot com | Date: | Sun, 10 Oct 1999 19:43:24 +0000 |
| Subject: | Bug #2480: _memmove not found (and fixed) | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-11670@lists.php.net to get a copy of this message | ||
From: bob@bizweb.com
Operating system: SunOS 4.1.4
PHP version: 3.0.12
PHP Bug Type: Compile Failure
Bug description: _memmove not found (and fixed)
Making Apache 1.3.9 results in the link time error "_memmove not found". SunOS 4.1.x, of
course, doesn't have "memmove" but needs "bcopy" instead. The memmove was
found in the "pcrelib/pcre.o" object file. It looks like the way the PCRE stuff handles
the memmove problem with SunOS is that it has some conditional code in
"pcrelib/internal.h". Here is a snippet of code from "pcrelib/internal.h":
/* To cope with SunOS4 and other systems that lack memmove() but have bcopy(),
define a macro for memmove() if USE_BCOPY is defined. */
#ifdef USE_BCOPY
#undef memmove /* some systems may have a macro */
#define memmove(a, b, c) bcopy(b, a, c)
#endif
It looks like USE_BCOPY never gets defined. I fixed this in my case by sticking in a "#define
USE_BCOPY" right before the #ifdef. After that it compiled up just fine. So it looks like you
need to get USE_BCOPY to propigate down into "pcrelib/Makefile" under the appropriate
situation.