# Kernel module compile fails, missing cp15_pmccntr_get



## Jacob Ritorto (Mar 3, 2016)

I'm trying to build the ZFS kernel module on my pi-b that's running a fresh install of snapshot FreeBSD-11.0-CURRENT-arm-armv6-RPI-B-20160217-r295683.img (and with a source checkout of r295683).

Am I doing something wrong, or should this module be able to build?

thxThanks
jake


```
root@rpi-b:/usr/src/sys/modules/zfs # make
Warning: Object directory not changed from original /usr/src/sys/modules/zfs
cc -O -pipe -DFREEBSD_NAMECACHE -DBUILDING_ZFS -mfloat-abi=softfp  -Werror -D_KERNEL -DKLD_MODULE -nostdinc  -I/usr/src/sys/modules/zfs/../../cddl/compat/opensolaris -I/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs -I/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/zmod -I/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common -I/usr/src/sys/modules/zfs/../.. -I/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/common/zfs -I/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/common -I. -I/usr/src/sys/modules/zfs/../.. -fno-common  -funwind-tables  -ffreestanding -fwrapv -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual  -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__  -Wmissing-include-dirs -fdiagnostics-show-option  -Wno-unknown-pragmas  -Wno-error-tautological-compare -Wno-error-empty-body  -Wno-error-parentheses-equality -Wno-error-unused-function  -Wno-error-pointer-sign -Wno-error-shift-negative-value -Wno-missing-prototypes -Wno-undef -Wno-strict-prototypes -Wno-cast-qual -Wno-parentheses -Wno-redundant-decls -Wno-missing-braces -Wno-uninitialized -Wno-unused -Wno-inline -Wno-switch -Wno-pointer-arith  -mllvm -arm-use-movt=0 -mfpu=none  -std=iso9899:1999 -include /usr/src/sys/modules/zfs/../../cddl/compat/opensolaris/sys/debug_compat.h -c /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/common/acl/acl_common.c -o acl_common.o
In file included from /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/common/acl/acl_common.c:31:
In file included from /usr/src/sys/modules/zfs/../../cddl/compat/opensolaris/sys/kmem.h:33:
In file included from /usr/src/sys/modules/zfs/../../cddl/compat/opensolaris/sys/proc.h:34:
In file included from /usr/src/sys/modules/zfs/../../sys/proc.h:66:
In file included from /usr/src/sys/modules/zfs/../../sys/_vm_domain.h:34:
In file included from /usr/src/sys/modules/zfs/../../sys/seq.h:70:
./machine/cpu.h:48:10: error: implicit declaration of function 'cp15_pmccntr_get' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
                return cp15_pmccntr_get();
                       ^
1 error generated.
*** Error code 1

Stop.
make: stopped in /usr/src/sys/modules/zfs
root@rpi-b:/usr/src/sys/modules/zfs #
```


----------



## SirDice (Mar 4, 2016)

No, this module should not be built. There's no support for ZFS on ARM. Yet, at least. Hopefully someday.


----------



## Jacob Ritorto (Mar 4, 2016)

Hm, so what about doing it now?  Is there a list of issues or something?  How can I help?


----------



## SirDice (Mar 4, 2016)

Have a look on the mailing lists. Several people have tried with varying degrees of success. Some are able to build the module but it'll quickly run out of steam and panic the system. Even on a 'standard' i386 ZFS is quite problematic as it's been developed from the ground up for 64 bit. The small amount of memory of the Pi is probably going to be an issue too. It might work better if we can get the new Raspberry Pi 3 going, which is a 64 bit architecture and has a bit more memory onboard.


----------

