On 5-11-2018 22:04, Stefano Ricci wrote:
Hello,
I'm trying to compile ceph with zfs on linux from scratch version 8.2
but the compilation fails with the following errors:
Scanning dependencies of target os_zfs_objs
[ 33%] Building CXX object
src/os/CMakeFiles/os_zfs_objs.dir/filestore/ZFSFileStoreBackend.cc.o
[ 34%] Building CXX object src/os/CMakeFiles/os_zfs_objs.dir/fs/ZFS.cc.o
In file included from /usr/include/libzfs/libnvpair.h:28:0,
from /usr/include/libzfs/libzfs.h:36,
from /sources/ceph-13.2.2/src/os/fs/ZFS.cc:5:
/usr/include/libzfs/sys/nvpair.h:91:2: error: 'uint32_t' does not name
a type; did you mean 'u_int32_t'?
uint32_t nvl_nvflag; /* persistent flags */
^~~~~~~~
u_int32_t
Hi Stefano,
[ Most of the same errors deleted. ]
But it sure looks like it is missing a types header file.
The FreeBSD version of ZFS code seems to take uint32_t to be existant.
I have quite a few in /usr/include, but on FreeBSD they are mostly inet
related.
But I guess that FreeBSD picks it from:
/usr/include/sys/_stdint.h:typedef __uint32_t uint32_t;
Next to that I'm not sure that the ZFS part of the filestore has been
given much attention. I do port to ZFS on FreeBSD but doing so without
much of any of the included ZFS stuff in Ceph.
--WjW