Red Hat Bugzilla – Bug 430475
rpm builds fail: redefinition of 'memmove'
Last modified: 2008-04-10 06:01:30 EDT
Description of problem:
Under certain conditions compilation fails because of conflicting include files.
This has arisen some time between fc4 and fc8.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Compile the following C program:
with normal rpm compile flags (/usr/lib/rpm/redhat/macros:%__global_cflags
which contain (amongst other things) "-O2 -D_FORTIFY_SOURCE=2".
gcc -O2 -D_FORTIFY_SOURCE=2 -c x.c
2. Now repeat about with the following:
gcc -O2 -D_FORTIFY_SOURCE=2 -D__USE_STRING_INLINES -c x.c
1. Normal compile
In file included from /usr/include/string.h:429,
/usr/include/bits/string3.h:58: error: redefinition of 'memmove'
Should compile without conflicting inlined memmove definitions.
Run gcc with -E flag and observe that multiple inlined memmove() definitions are
generated. One from /usr/include/bits/string.h and the other from
Should be fixed in glibc-2.7.90-1 and above in rawhide.