CentOS 7.7(64비트)을 실행하는 라즈베리 파이4에서 zfs를 컴파일하려고 합니다. 나는 여기에 제공된 지침을 따랐습니다.https://github.com/zfsonlinux/zfs/wiki/Building-ZFS그러나 다음 오류를 극복할 수 없습니다.
checking kernel source version... 4.19.86-v8+
checking kernel file name for module symbols... Module.symvers
checking whether modules can be built... no
configure: error:
*** Unable to build an empty module.
다음은 전체 config.log에 대한 링크입니다. 실제로는 이해할 수 없습니다.https://pastebin.com/Whmg6hFw
내 시스템에 대한 몇 가지 배경 정보는 다음과 같습니다.
# uname -a
Linux localhost 4.19.86-v8+ #1 SMP PREEMPT Sat Dec 7 12:40:40 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux
# rpm -qa | grep kernel
kernel-4.19.86_v8+-1.aarch64
kernel-devel-4.19.86_v8+-1.aarch64
kernel-headers-4.19.86_v8+-1.aarch64
# cat /etc/system-release
CentOS Linux release 7.7.1908 (AltArch)
나는 공식 GitHub 저장소에서 어떤 문제도 없이 커널과 해당 rpm을 직접 컴파일했습니다. (이것이 버그의 일부인 경우를 대비하여 – 그렇게 생각하지는 않습니다.)https://github.com/raspberrypi/linux
도움을 주시면 감사하겠습니다. 미리 감사드립니다.
답변1
여기 있어줘서 고마워요https://github.com/zfsonlinux/나는 이 문제를 해결했습니다.
kernel-devel 패키지에는 arm64 대신 x86용으로 컴파일된 스크립트가 포함되어 있는 것 같습니다.
# file /usr/src/kernels/4.19.86-v8+/basic/fixdep
basic/fixdep: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), BuildID[sha1]=f96cf37e4ab3abdfa90880655b262c4ae72c937a, for GNU/Linux 3.2.0, not stripped
디렉터리의 다른 파일에 대한 결과도 srcipts
매우 유사합니다.
make scripts
커널 소스 디렉토리에서 실행하면 문제가 해결되었습니다.
# cd /usr/src/kernels/4.19.86-v8+/
# make scripts
...