Opened 8 years ago
Closed 8 years ago
#10363 closed defect (fixed)
xfs 4.14 doesnt compile anymore on the new toolchain gcc 7.3.0, glibc 2.27, binutils 2.30
| Reported by: | tnut | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | 8.2 |
| Component: | BOOK | Version: | SVN |
| Severity: | normal | Keywords: | |
| Cc: |
Description
xfs 4.14 doesnt compile anymore on the new toolchain gcc 7.3.0, glibc 2.27, binutils 2.30.
Here is the output log I have
Building io
[CC] init.o
[CC] ....
[CC] copy_file_range.o
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,
^~~~~~~~~~~~~~~
make[3]: *** [../include/buildrules:60: copy_file_range.o] Error 1
make[2]: *** [include/buildrules:36: io] Error 2
make[1]: *** [Makefile:76: default] Error 2
make: *** [Makefile:73: default] Error 2
Google did not help me so far
Change History (5)
comment:1 by , 8 years ago
| Priority: | low → normal |
|---|
comment:2 by , 8 years ago
sed -i '/copy_file_range(/s/copy/xfs_&/' io/copy_file_range.c
Should work. Not tested. Note that the open paren is needed.
comment:3 by , 8 years ago
The sed did the job, Thanks a lot.
I put here the modified code:
sed -i '/copy_file_range(/s/copy/xfs_&/' io/copy_file_range.c
make DEBUG=-DNDEBUG INSTALL_USER=root INSTALL_GROUP=root \
LOCAL_CONFIGURE_OPTIONS="--enable-readline"
make PKG_DOC_DIR=/usr/share/doc/xfs-4.14.0 install
make PKG_DOC_DIR=/usr/share/doc/xfs-4.14.0 install-dev
...
comment:4 by , 8 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
Note:
See TracTickets
for help on using tickets.

The solution is similar to the postgresql. Just replace two instances of copy_file with, say, xfs_copy_file. I had a sed for my PKGBUILD, but I haven't commited it yet and can't access my LFS atm.