I'm trying to compile OpenZFS following instruction at https://openzfsonosx.org/wiki/Install. The machine I've using is a VM hosted on VMWare Fusion:
1. Boot from ISO to recovery, in terminal execute:
- Code: Select all
nvram boot-args="-v keepsyms=1"
csrutil disable
spctl kext-consent disable
2. Reboot machine to main disk, and in terminal:
- Code: Select all
xcode-select --install
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew install automake libtool gawk coreutils
mkdir -p ~/Developer ~/bin
chmod 700 ~/Developer ~/bin
chmod +a "group:everyone deny delete" ~/Developer ~/bin
echo 'export PATH=$HOME/bin:$PATH' >> ~/.zshrc
source ~/.zshrc
cd ~/Developer/
git clone https://gist.github.com/7713854.git zfsadm-repo
cp zfsadm-repo/zfsadm ~/bin/
3. Then from Developer folder in Terminal, run zfsadm that ends with an error:
- Code: Select all
config.status: executing libtool commands
/Library/Developer/CommandLineTools/usr/bin/make all-recursive
Making all in scripts
make[2]: Nothing to be done for `all'.
Making all in module
Making all in spl
Making all in KernelExports
depbase=`echo kextsymboltool.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\
clang -DHAVE_CONFIG_H -include ../../../spl_config.h -Wall -Wshadow -Wstrict-prototypes -fno-strict-aliasing -g -Os -Wno-tautological-constant-out-of-range-compare -MT kextsymboltool.o -MD -MP -MF $depbase.Tpo -c -o kextsymboltool.o kextsymboltool.c &&\
mv -f $depbase.Tpo $depbase.Po
/usr/bin/nm -B -gj /System/Library/Kernels/kernel > allsymbols
/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
exported name not in import list: _fo_read
exported name not in import list: _fo_write
exported name not in import list: _fp_drop
exported name not in import list: _fp_drop_written
exported name not in import list: _fp_lookup
make[4]: *** [KernelExports] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
Please help!