Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 646644 - sys-fs/xfsprogs-4.14.0 with sys-libs/glibc-2.27 - copy_file_range.c:46:1: error: conflicting types for 'copy_file_range'
Summary: sys-fs/xfsprogs-4.14.0 with sys-libs/glibc-2.27 - copy_file_range.c:46:1: err...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: glibc-2.27
  Show dependency tree
 
Reported: 2018-02-05 11:03 UTC by Hassim Rahman
Modified: 2018-12-30 09:21 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Hassim Rahman 2018-02-05 11:03:34 UTC
Emerge of xfsprogs with new glibc-2.27 leads to next error:

copy_file_range.c:46:1: error: conflicting types for 'copy_file_range'
 copy_file_range(int fd, loff_t *src, loff_t *dst, size_t len)
 ^~~~~~~~~~~~~~~
In file included from ../include/platform_defs.h:33:0,
                 from ../include/project.h:21,
                 from ../include/input.h:24,
                 from copy_file_range.c:23:
/usr/include/unistd.h:1110:9: note: previous declaration of 'copy_file_range' was here
 ssize_t copy_file_range (int __infd, __off64_t *__pinoff,
         ^~~~~~~~~~~~~~~
gmake[2]: *** [../include/buildrules:60: copy_file_range.o] Error 1
gmake[1]: *** [include/buildrules:36: io] Error 2
make: *** [Makefile:76: default] Error 2
 * ERROR: sys-fs/xfsprogs-4.14.0::gentoo failed (compile phase):
 *   emake failed


The dirty solution (for example) is renaming function declaration in /usr/include/unistd.h from copy_file_range to copy_file_range_ng. After this replacement xfsprogs is emerged correctly.




Reproducible: Always

Steps to Reproduce:
1.upgrade glibc to 2.27
2.emerge xfsprogs
3.get error
Actual Results:  
copy_file_range.c:46:1: error: conflicting types for 'copy_file_range'
 copy_file_range(int fd, loff_t *src, loff_t *dst, size_t len)
 ^~~~~~~~~~~~~~~
In file included from ../include/platform_defs.h:33:0,
                 from ../include/project.h:21,
                 from ../include/input.h:24,
                 from copy_file_range.c:23:
/usr/include/unistd.h:1110:9: note: previous declaration of 'copy_file_range' was here
 ssize_t copy_file_range (int __infd, __off64_t *__pinoff,
         ^~~~~~~~~~~~~~~
gmake[2]: *** [../include/buildrules:60: copy_file_range.o] Error 1
gmake[1]: *** [include/buildrules:36: io] Error 2
make: *** [Makefile:76: default] Error 2
 * ERROR: sys-fs/xfsprogs-4.14.0::gentoo failed (compile phase):
 *   emake failed


The dirty solution (for example) is renaming function declaration in /usr/include/unistd.h from copy_file_range to copy_file_range_ng. After this replacement xfsprogs is emerged correctly.
Comment 1 Holger Hoffstätte 2018-06-02 17:55:05 UTC
Just FYI xfsprogs-4.16.1 builds & works fine with 2.27-r3.
Comment 2 Andreas K. Hüttel archtester gentoo-dev 2018-09-12 18:09:53 UTC
(In reply to Holger Hoffstätte from comment #1)
> Just FYI xfsprogs-4.16.1 builds & works fine with 2.27-r3.

Stabilization of 4.17.0-r1 filed (see also)
Comment 3 Andreas K. Hüttel archtester gentoo-dev 2018-12-30 09:21:43 UTC
Old version removed