On Wed, Mar 03, 2004 at 05:36:45PM -0700, Jason.Majors@xxxxxxxxxxxxxxxxxxx wrote: > I'm trying to compile commonc++2-1.1.0 on AIX 4.3.2 using g++ 2.95.3 (the > latest we can get here unfortunately). > > I get this error message: > /usr/include/strings.h:60: declaration of C function `void memcpy(void *, > const void *, long unsigned int)' conflicts with > /usr/local/lib/gcc-lib/powerpc-ibm-aix4.3.2.0/2.95.3/include/string.h:92: > previous declaration `void * memcpy(void *, const void *, long unsigned > int)' here > ... > .../straits.h: In function `static char * > string_char_traits<char>::copy(char *, const char *, long unsigned int)': > .../straits.h:127: cannot convert `memcpy(s1, s2, n)' from type `void' to > type `char *' > > However line 60 of strings.h is this: > extern void bcopy(const void *, void *, size_t); > > Does anybody know what's wrong, or have an idea on how I can get around > this and get it to compile? > Why would bcopy override the declaration of memcpy? I'd guess because bcopy is deprecated that someone wrote up a macro like #define bcopy(x, y, z) memcpy(y, x, z) Use "gcc -E -dD <source-file>" and have a look at the output to find out if that is the case and where it gets defined. Just remove it or make sure that it gets #undef'd before including <strings.h>. -- Claudio Bley ASCII ribbon campaign (") Debian GNU/Linux user - against HTML email X http://www.cs.uni-magdeburg.de/~bley/ & vCards / \