Bug 430475 - rpm builds fail: redefinition of 'memmove'
Summary: rpm builds fail: redefinition of 'memmove'
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: glibc
Version: 8
Hardware: All
OS: Linux
low
high
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-01-28 12:32 UTC by JW
Modified: 2008-04-10 10:01 UTC (History)
1 user (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2008-04-10 10:01:30 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description JW 2008-01-28 12:32:37 UTC
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):
glibc-2.7-2

How reproducible:
Always

Steps to Reproduce:
1. Compile the following C program:

     =========x.c========
     #include <string.h>
     ====================

   with normal rpm compile flags (/usr/lib/rpm/redhat/macros:%__global_cflags
   which contain (amongst other things) "-O2 -D_FORTIFY_SOURCE=2".
   That is:
        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

  
Actual results:
1. Normal compile
2. Error
   In file included from /usr/include/string.h:429,
                 from x.c:3:
   /usr/include/bits/string3.h:58: error: redefinition of 'memmove'


Expected results:
Should compile without conflicting inlined memmove definitions.


Additional info:
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
/usr/include/bits/string3.h

Comment 1 Jakub Jelinek 2008-04-10 10:01:30 UTC
Should be fixed in glibc-2.7.90-1 and above in rawhide.


Note You need to log in before you can comment on or make changes to this bug.