make[2]: Entering directory '/home/stage/root/spack-stage-util-linux-2.42-s2m3edj2xmcfrpiahxp43uoaypr2w7d3/spack-src'
CCLD mount
CCLD umount
CCLD mountpoint
CCLD lsblk
CCLD findmnt
CCLD fstrim
CCLD losetup
CCLD zramctl
CCLD swapon
CCLD swapoff
CCLD blkid
CCLD findfs
CCLD wipefs
CCLD mkswap
CCLD swaplabel
CCLD fsck
CCLD eject
CCLD lsns
CCLD lslocks
CCLD copyfilerange
/usr/lib64/gcc/aarch64-suse-linux/7/../../../../aarch64-suse-linux/bin/ld: misc-utils/copyfilerange-copyfilerange.o: in function `copy_range':
/home/stage/root/spack-stage-util-linux-2.42-s2m3edj2xmcfrpiahxp43uoaypr2w7d3/spack-src/misc-utils/copyfilerange.c:146: undefined reference to `copy_file_range'
collect2: error: ld returned 1 exit status
The root cause of this error is that the copy_file_range system call function does not exist in the current kernel version of my system. My kernel version is as follows:
Linux linux-bftj 4.12.14-193-default SMP Tue Apr 9 13:29:32 UTC 2019 (85c4156) aarch64 aarch64 aarch64 GNU/Linux
However, due to my environment restrictions, I cannot upgrade the kernel. Is there a way to compile without upgrading the kernel? Also, I tried the --disable-copyfilerange option, but the compilation still failed.
The root cause of this error is that the
copy_file_rangesystem call function does not exist in the current kernel version of my system. My kernel version is as follows:However, due to my environment restrictions, I cannot upgrade the kernel. Is there a way to compile without upgrading the kernel? Also, I tried the --disable-copyfilerange option, but the compilation still failed.