Open captain-haddock17 opened 4 years ago
Old OsX? If so, delete them from spl/module/spkl/KernelExports/zfs.exports
I found out that decmpfs
source code is part of Apple's Opensource kernel.
57209 31 jan 19:13 ./xnu-4903.270.47/bsd/kern/decmpfs.c
8123 31 jan 19:13 ./xnu-4903.270.47/bsd/sys/decmpfs.h
I'm not quite comfortable with autogen
and automate
& al.
so as to declare these kernel source code. Sorry, William
Hmm did they change something.. check
# grep decmpfs spl/module/spl/KernelExports/allsymbols
$ grep decmpfs -n spl/module/spl/KernelExports/allsymbols
7288:_decmpfs_cnode_destroy 7289:_decmpfs_cnode_get_vnode_cached_size 7290:_decmpfs_cnode_get_vnode_state 7291:_decmpfs_cnode_init 7292:_decmpfs_cnode_set_vnode_state 7293:_decmpfs_ctx 7294:_decmpfs_decompress_file 7295:_decmpfs_file_is_compressed 7296:_decmpfs_free_compressed_data 7297:_decmpfs_hides_rsrc 7298:_decmpfs_hides_xattr 7299:_decmpfs_init 7300:_decmpfs_lock_compressed_data 7301:_decmpfs_pagein_compressed 7302:_decmpfs_read_compressed 7303:_decmpfs_trylock_compressed_data 7304:_decmpfs_unlock_compressed_data 7305:_decmpfs_update_attributes 7306:_decmpfs_validate_compressed_file 8586:_hfs_lazy_init_decmpfs_cnode 13842:_register_decmpfs_decompressor 16759:_unregister_decmpfs_decompressor
So they did, updating my mojave now and let's see if I get the same issue
Hmm no it appears normal, did you update xcode and it's component ? decmpfs_cnode_alloc
doesn't exist in 10.13 and earlier, but still in latest Catalina
bash-3.2# uname -a
Darwin o3xtest.local 18.6.0 Darwin Kernel Version 18.6.0: Thu Apr 25 23:16:27 PDT 2019; root:xnu-4903.261.4~2/DEVELOPMENT_X86_64 x86_64
bash-3.2# sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.6
BuildVersion: 18G103
bash-3.2# nm -gj /System/Library/Kernels/kernel|grep decmpfs
_decmpfs_cnode_alloc
mine is:
$ uname -a
Darwin macpro.home 18.7.0 Darwin Kernel Version 18.7.0: Mon Feb 10 21:08:45 PST 2020; root:xnu-4903.278.28~1/RELEASE_X86_64 x86_64
$ sw_vers
ProductName: Mac OS X ProductVersion: 10.14.6 BuildVersion: 18G4032
$ nm -gj /System/Library/Kernels/kernel|grep decmpfs
_decmpfs_cnode_alloc _decmpfs_cnode_cmp_type _decmpfs_cnode_destroy _decmpfs_cnode_free _decmpfs_cnode_get_vnode_cached_size _decmpfs_cnode_get_vnode_state _decmpfs_cnode_init _decmpfs_cnode_set_vnode_state _decmpfs_ctx _decmpfs_decompress_file _decmpfs_file_is_compressed _decmpfs_free_compressed_data _decmpfs_hides_rsrc _decmpfs_hides_xattr _decmpfs_init _decmpfs_lock_compressed_data _decmpfs_pagein_compressed _decmpfs_read_compressed _decmpfs_trylock_compressed_data _decmpfs_unlock_compressed_data _decmpfs_update_attributes _decmpfs_validate_compressed_file _register_decmpfs_decompressor _unregister_decmpfs_decompressor
As I understand,
_decmpfs_cnode_alloc _decmpfs_cnode_free
are already present on my system. but not found at link time.
Good, it's in there. Something else must be going on with the build.
Yes, zfs.exports ask for them, the we produce all symbols in to allsymbols, then when spl links, it links against them. ZFS will complain they dont exist, but carry on.
Hi Jörgen, I can't carry on with this for now. Could you please give me a corrected build script ? Thanks a lot, William
Can you start again with sources? I have re-compiled everything on Mojave to make sure it works. You have shown that your kernel does have the decmpfs_cnode_alloc function.
Dear ZFS developers !
Id like to compile ZFS from sources, by following instructions in Installing from sourc.
Launching
./zfsadmin.sh
for configuration and compilation, I got somme errors on:bin/sh ../../../libtool --tag=CC --silent --mode=link clang -Wall -Wshadow -Wstrict-prototypes -fno-strict-aliasing -g -Os -Wno-tautological-constant-out-of-range-compare -lstdc++ -o kextsymboltool kextsymboltool.o ./kextsymboltool -arch x86_64 -import allsymbols -export zfs.exports -output KernelExports_64