Re: Help compiling gnu commonc++2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 / \

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux