0

I'm trying to compile zfs on my raspberry pi4, running CentOS 7.7 (64bit). I followed the instructions provided here: https://github.com/zfsonlinux/zfs/wiki/Building-ZFS but can't get past the following error:

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.

Here is the link to the entire config.log - I couldn't really make sense of it: https://pastebin.com/Whmg6hFw

And here's some background information on my system:

# 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)

I compiled the kernel and their rpms myself from the official GitHub repo; no issues or whatsoever with those (just in case that's part of the error - although I don't think so). https://github.com/raspberrypi/linux

Any help appreciated - thanks in advance😉!

2
  • Maybe using a more recent gcc would help; 4.85 is very old (circa 2015). Commented Dec 9, 2019 at 23:37
  • Thanks - tested both gcc9.2 and 8.3; same result
    – mpbaum
    Commented Dec 10, 2019 at 22:56

1 Answer 1

1

Thanks to the folks over at https://github.com/zfsonlinux/ I managed to resolve the issue.

Looks like the kernel-devel package contained scripts that were compiled for x86 instead of arm64:

# 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

The result for the other files in the srcipts directory was very similar.

Running make scripts in the kernel-source directory resolved the issue:

# cd /usr/src/kernels/4.19.86-v8+/
# make scripts
...

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .