NetApp / zufs-zuf

zero-copy file-system feeder. A Linux module which dispatch kernel’s VFS commands to user-space server.
Other
60 stars 27 forks source link

fail to build ZUFS on ubuntu 19.10, please help #3

Open gwnet opened 4 years ago

gwnet commented 4 years ago

could you please check why I cannot make the driver on 19.10. the module.mk is missing.

===below is detail error. wayne@ubuntu:~/zufs-zuf/fs/zuf$ sudo make -f fs/zuf/module.mk KDIR=linux-headers-5.3.0-46 make: fs/zuf/module.mk: No such file or directory make: *** No rule to make target 'fs/zuf/module.mk'. Stop. wayne@ubuntu:~/zufs-zuf/fs/zuf$ ls -l fs/zuf ls: cannot access 'fs/zuf': No such file or directory wayne@ubuntu:~/zufs-zuf/fs/zuf$ ls acl.c _extern.h inode.c Kconfig md.c md.h module.c Module.symvers _pr.h rw.c symlink.c t2.c xattr.c zuf.h zus_api.h directory.c file.c ioctl.c Makefile md_def.h mmap.c modules.order namei.c relay.h super.c t1.c t2.h zuf-core.c zuf-root.c wayne@ubuntu:~/zufs-zuf/fs/zuf$ ls -l total 340 -rw-r--r-- 1 wayne wayne 5961 Apr 18 01:00 acl.c -rw-r--r-- 1 wayne wayne 4143 Apr 18 01:00 directory.c -rw-r--r-- 1 wayne wayne 6886 Apr 18 01:00 _extern.h -rw-r--r-- 1 wayne wayne 22269 Apr 18 01:00 file.c -rw-r--r-- 1 wayne wayne 17620 Apr 18 01:00 inode.c -rw-r--r-- 1 wayne wayne 8309 Apr 18 01:00 ioctl.c -rw-r--r-- 1 wayne wayne 565 Apr 18 01:00 Kconfig -rw-r--r-- 1 wayne wayne 462 Apr 18 01:00 Makefile -rw-r--r-- 1 wayne wayne 17617 Apr 18 01:00 md.c -rw-r--r-- 1 wayne wayne 3562 Apr 18 01:00 md_def.h -rw-r--r-- 1 wayne wayne 7151 Apr 18 01:00 md.h -rw-r--r-- 1 wayne wayne 7920 Apr 18 01:00 mmap.c -rw-r--r-- 1 wayne wayne 1044 Apr 18 01:00 module.c -rw-r--r-- 1 root root 0 Apr 18 01:10 modules.order -rw-r--r-- 1 root root 0 Apr 18 01:05 Module.symvers -rw-r--r-- 1 wayne wayne 10917 Apr 18 01:00 namei.c -rw-r--r-- 1 wayne wayne 2331 Apr 18 01:00 _pr.h -rw-r--r-- 1 wayne wayne 2058 Apr 18 01:00 relay.h -rw-r--r-- 1 wayne wayne 28358 Apr 18 01:00 rw.c -rw-r--r-- 1 wayne wayne 22095 Apr 18 01:00 super.c -rw-r--r-- 1 wayne wayne 1788 Apr 18 01:00 symlink.c -rw-r--r-- 1 wayne wayne 4283 Apr 18 01:00 t1.c -rw-r--r-- 1 wayne wayne 8581 Apr 18 01:00 t2.c -rw-r--r-- 1 wayne wayne 1720 Apr 18 01:00 t2.h -rw-r--r-- 1 wayne wayne 8021 Apr 18 01:00 xattr.c -rw-r--r-- 1 wayne wayne 46954 Apr 18 01:00 zuf-core.c -rw-r--r-- 1 wayne wayne 9809 Apr 18 01:00 zuf.h -rw-r--r-- 1 wayne wayne 12255 Apr 18 01:00 zuf-root.c -rw-r--r-- 1 wayne wayne 25626 Apr 18 01:00 zus_api.h wayne@ubuntu:~/zufs-zuf/fs/zuf$

gwnet commented 4 years ago

I tried another way to build module, also failed. wayne@ubuntu:~/zufs-zuf/fs/zuf$ sudo make -C /lib/modules/5.3.0-46-generic/build M=/home/wayne/zufs-zuf/fs/zuf modules make: Entering directory '/usr/src/linux-headers-5.3.0-46-generic' Building modules, stage 2. MODPOST 0 modules make: Leaving directory '/usr/src/linux-headers-5.3.0-46-generic' wayne@ubuntu:~/zufs-zuf/fs/zuf$

===detail info=== wayne@ubuntu:~/zufs-zuf/fs/zuf$ sudo make -C /lib/modules/5.3.0-46-generic/build M=/home/wayne/zufs-zuf/fs/zuf modules -d GNU Make 4.2.1 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Reading makefiles... Reading makefile 'Makefile'... Reading makefile 'scripts/Kbuild.include' (search path) (no ~ expansion)... Reading makefile 'scripts/subarch.include' (search path) (no ~ expansion)... make: Entering directory '/usr/src/linux-headers-5.3.0-46-generic' Reading makefile 'include/config/auto.conf' (search path) (no ~ expansion)... Reading makefile 'arch/x86/Makefile' (search path) (no ~ expansion)... Reading makefile 'scripts/Makefile.kcov' (search path) (no ~ expansion)... Reading makefile 'scripts/Makefile.gcc-plugins' (search path) (no ~ expansion)... Reading makefile 'scripts/Makefile.kasan' (search path) (no ~ expansion)... Reading makefile 'scripts/Makefile.extrawarn' (search path) (no ~ expansion)... Reading makefile 'scripts/Makefile.ubsan' (search path) (no ~ expansion)... Updating makefiles.... Considering target file 'scripts/Makefile.ubsan'. Looking for an implicit rule for 'scripts/Makefile.ubsan'. No implicit rule found for 'scripts/Makefile.ubsan'. Finished prerequisites of target file 'scripts/Makefile.ubsan'. No need to remake target 'scripts/Makefile.ubsan'. Considering target file 'scripts/Makefile.extrawarn'. Looking for an implicit rule for 'scripts/Makefile.extrawarn'. No implicit rule found for 'scripts/Makefile.extrawarn'. Finished prerequisites of target file 'scripts/Makefile.extrawarn'. No need to remake target 'scripts/Makefile.extrawarn'. Considering target file 'scripts/Makefile.kasan'. Looking for an implicit rule for 'scripts/Makefile.kasan'. No implicit rule found for 'scripts/Makefile.kasan'. Finished prerequisites of target file 'scripts/Makefile.kasan'. No need to remake target 'scripts/Makefile.kasan'. Considering target file 'scripts/Makefile.gcc-plugins'. Looking for an implicit rule for 'scripts/Makefile.gcc-plugins'. No implicit rule found for 'scripts/Makefile.gcc-plugins'. Finished prerequisites of target file 'scripts/Makefile.gcc-plugins'. No need to remake target 'scripts/Makefile.gcc-plugins'. Considering target file 'scripts/Makefile.kcov'. Looking for an implicit rule for 'scripts/Makefile.kcov'. No implicit rule found for 'scripts/Makefile.kcov'. Finished prerequisites of target file 'scripts/Makefile.kcov'. No need to remake target 'scripts/Makefile.kcov'. Considering target file 'arch/x86/Makefile'. Looking for an implicit rule for 'arch/x86/Makefile'. No implicit rule found for 'arch/x86/Makefile'. Finished prerequisites of target file 'arch/x86/Makefile'. No need to remake target 'arch/x86/Makefile'. Considering target file 'include/config/auto.conf'. File 'include/config/auto.conf' does not exist. Finished prerequisites of target file 'include/config/auto.conf'. Must remake target 'include/config/auto.conf'. Putting child 0x55e1ed264870 (include/config/auto.conf) PID 15487 on the chain. Live child 0x55e1ed264870 (include/config/auto.conf) PID 15487 Reaping winning child 0x55e1ed264870 PID 15487 Removing child 0x55e1ed264870 PID 15487 from chain. Successfully remade target file 'include/config/auto.conf'. Considering target file 'scripts/subarch.include'. Looking for an implicit rule for 'scripts/subarch.include'. No implicit rule found for 'scripts/subarch.include'. Finished prerequisites of target file 'scripts/subarch.include'. No need to remake target 'scripts/subarch.include'. Considering target file 'scripts/Kbuild.include'. Looking for an implicit rule for 'scripts/Kbuild.include'. No implicit rule found for 'scripts/Kbuild.include'. Finished prerequisites of target file 'scripts/Kbuild.include'. No need to remake target 'scripts/Kbuild.include'. Considering target file 'Makefile'. Looking for an implicit rule for 'Makefile'. No implicit rule found for 'Makefile'. Finished prerequisites of target file 'Makefile'. No need to remake target 'Makefile'. Updating goal targets.... Considering target file 'modules'. File 'modules' does not exist. Considering target file 'module/home/wayne/zufs-zuf/fs/zuf'. File 'module/home/wayne/zufs-zuf/fs/zuf' does not exist. Considering target file 'prepare'. File 'prepare' does not exist. Finished prerequisites of target file 'prepare'. Must remake target 'prepare'. Successfully remade target file 'prepare'. Considering target file 'Module.symvers'. File 'Module.symvers' does not exist. Finished prerequisites of target file 'Module.symvers'. Must remake target 'Module.symvers'. Putting child 0x55e1ed25d4a0 (Module.symvers) PID 15494 on the chain. Live child 0x55e1ed25d4a0 (Module.symvers) PID 15494 Reaping winning child 0x55e1ed25d4a0 PID 15494 Removing child 0x55e1ed25d4a0 PID 15494 from chain. Successfully remade target file 'Module.symvers'. Considering target file 'prepare'. File 'prepare' was considered already. Considering target file 'Module.symvers'. File 'Module.symvers' was considered already. Finished prerequisites of target file 'module/home/wayne/zufs-zuf/fs/zuf'. Must remake target 'module/home/wayne/zufs-zuf/fs/zuf'. Putting child 0x55e1ed2635e0 (module/home/wayne/zufs-zuf/fs/zuf) PID 15501 on the chain. Live child 0x55e1ed2635e0 (module/home/wayne/zufs-zuf/fs/zuf) PID 15501 GNU Make 4.2.1 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Reading makefiles... Reading makefile 'scripts/Makefile.build'... Reading makefile 'include/config/auto.conf' (search path) (don't care) (no ~ expansion)... Reading makefile 'scripts/Kbuild.include' (search path) (no ~ expansion)... Reading makefile '/home/wayne/zufs-zuf/fs/zuf/Makefile' (search path) (no ~ expansion)... Reading makefile 'scripts/Makefile.lib' (search path) (no ~ expansion)... Updating makefiles.... Considering target file 'scripts/Makefile.lib'. Looking for an implicit rule for 'scripts/Makefile.lib'. No implicit rule found for 'scripts/Makefile.lib'. Finished prerequisites of target file 'scripts/Makefile.lib'. No need to remake target 'scripts/Makefile.lib'. Considering target file '/home/wayne/zufs-zuf/fs/zuf/Makefile'. Looking for an implicit rule for '/home/wayne/zufs-zuf/fs/zuf/Makefile'. Trying pattern rule with stem 'Makefile'. Trying implicit prerequisite '/home/wayne/zufs-zuf/fs/zuf/Makefile_shipped'. Trying pattern rule with stem 'Makefile'. Trying implicit prerequisite '/home/wayne/zufs-zuf/fs/zuf/Makefile_shipped'. Looking for a rule with intermediate file '/home/wayne/zufs-zuf/fs/zuf/Makefile_shipped'. Avoiding implicit rule recursion. No implicit rule found for '/home/wayne/zufs-zuf/fs/zuf/Makefile'. Finished prerequisites of target file '/home/wayne/zufs-zuf/fs/zuf/Makefile'. No need to remake target '/home/wayne/zufs-zuf/fs/zuf/Makefile'. Considering target file 'scripts/Kbuild.include'. Looking for an implicit rule for 'scripts/Kbuild.include'. No implicit rule found for 'scripts/Kbuild.include'. Finished prerequisites of target file 'scripts/Kbuild.include'. No need to remake target 'scripts/Kbuild.include'. Considering target file 'include/config/auto.conf'. Looking for an implicit rule for 'include/config/auto.conf'. No implicit rule found for 'include/config/auto.conf'. Finished prerequisites of target file 'include/config/auto.conf'. No need to remake target 'include/config/auto.conf'. Considering target file 'scripts/Makefile.build'. Looking for an implicit rule for 'scripts/Makefile.build'. No implicit rule found for 'scripts/Makefile.build'. Finished prerequisites of target file 'scripts/Makefile.build'. No need to remake target 'scripts/Makefile.build'. Updating goal targets.... Considering target file 'build'. File 'build' does not exist. Considering target file '/home/wayne/zufs-zuf/fs/zuf/modules.order'. Considering target file 'FORCE'. File 'FORCE' does not exist. Finished prerequisites of target file 'FORCE'. Must remake target 'FORCE'. Successfully remade target file 'FORCE'. Considering target file 'FORCE'. File 'FORCE' was considered already. Finished prerequisites of target file '/home/wayne/zufs-zuf/fs/zuf/modules.order'. Prerequisite 'FORCE' of target '/home/wayne/zufs-zuf/fs/zuf/modules.order' does not exist. Must remake target '/home/wayne/zufs-zuf/fs/zuf/modules.order'. Putting child 0x55bf0fdcad00 (/home/wayne/zufs-zuf/fs/zuf/modules.order) PID 15502 on the chain. Live child 0x55bf0fdcad00 (/home/wayne/zufs-zuf/fs/zuf/modules.order) PID 15502 Reaping winning child 0x55bf0fdcad00 PID 15502 Removing child 0x55bf0fdcad00 PID 15502 from chain. Successfully remade target file '/home/wayne/zufs-zuf/fs/zuf/modules.order'. Finished prerequisites of target file 'build'. Must remake target 'build'. Successfully remade target file 'build'. Reaping winning child 0x55e1ed2635e0 PID 15501 Removing child 0x55e1ed2635e0 PID 15501 from chain. Successfully remade target file 'module/home/wayne/zufs-zuf/fs/zuf'. Considering target file 'module/home/wayne/zufs-zuf/fs/zuf'. File 'module/home/wayne/zufs-zuf/fs/zuf' was considered already. Finished prerequisites of target file 'modules'. Must remake target 'modules'. Putting child 0x55e1ed2635e0 (modules) PID 15511 on the chain. Live child 0x55e1ed2635e0 (modules) PID 15511 Building modules, stage 2. Reaping winning child 0x55e1ed2635e0 PID 15511 Live child 0x55e1ed2635e0 (modules) PID 15512 GNU Make 4.2.1 Built for x86_64-pc-linux-gnu Copyright (C) 1988-2016 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Reading makefiles... Reading makefile 'scripts/Makefile.modpost'... Reading makefile 'include/config/auto.conf' (search path) (no ~ expansion)... Reading makefile 'scripts/Kbuild.include' (search path) (no ~ expansion)... Reading makefile '/home/wayne/zufs-zuf/fs/zuf/Makefile' (search path) (no ~ expansion)... Reading makefile 'scripts/Makefile.lib' (search path) (no ~ expansion)... Updating makefiles.... Considering target file 'scripts/Makefile.lib'. Looking for an implicit rule for 'scripts/Makefile.lib'. No implicit rule found for 'scripts/Makefile.lib'. Finished prerequisites of target file 'scripts/Makefile.lib'. No need to remake target 'scripts/Makefile.lib'. Considering target file '/home/wayne/zufs-zuf/fs/zuf/Makefile'. Looking for an implicit rule for '/home/wayne/zufs-zuf/fs/zuf/Makefile'. Trying pattern rule with stem 'Makefile'. Trying implicit prerequisite '/home/wayne/zufs-zuf/fs/zuf/Makefile_shipped'. Trying pattern rule with stem 'Makefile'. Trying implicit prerequisite '/home/wayne/zufs-zuf/fs/zuf/Makefile_shipped'. Looking for a rule with intermediate file '/home/wayne/zufs-zuf/fs/zuf/Makefile_shipped'. Avoiding implicit rule recursion. No implicit rule found for '/home/wayne/zufs-zuf/fs/zuf/Makefile'. Finished prerequisites of target file '/home/wayne/zufs-zuf/fs/zuf/Makefile'. No need to remake target '/home/wayne/zufs-zuf/fs/zuf/Makefile'. Considering target file 'scripts/Kbuild.include'. Looking for an implicit rule for 'scripts/Kbuild.include'. No implicit rule found for 'scripts/Kbuild.include'. Finished prerequisites of target file 'scripts/Kbuild.include'. No need to remake target 'scripts/Kbuild.include'. Considering target file 'include/config/auto.conf'. Looking for an implicit rule for 'include/config/auto.conf'. No implicit rule found for 'include/config/auto.conf'. Finished prerequisites of target file 'include/config/auto.conf'. No need to remake target 'include/config/auto.conf'. Considering target file 'scripts/Makefile.modpost'. Looking for an implicit rule for 'scripts/Makefile.modpost'. No implicit rule found for 'scripts/Makefile.modpost'. Finished prerequisites of target file 'scripts/Makefile.modpost'. No need to remake target 'scripts/Makefile.modpost'. Updating goal targets.... Considering target file '_modpost'. File '_modpost' does not exist. Considering target file 'modpost'. File 'modpost' does not exist. Finished prerequisites of target file 'modpost'. Must remake target 'modpost'. Putting child 0x5580cb2294d0 (modpost) PID 15514 on the chain. Live child 0x5580cb2294d0 (modpost) PID 15514 MODPOST 0 modules Reaping winning child 0x5580cb2294d0 PID 15514 Removing child 0x5580cb2294d0 PID 15514 from chain. Successfully remade target file 'modpost'. Considering target file 'modpost'. File 'modpost' was considered already. Finished prerequisites of target file '_modpost'. Must remake target '_modpost'. Successfully remade target file '_modpost'. Reaping winning child 0x55e1ed2635e0 PID 15512 Removing child 0x55e1ed2635e0 PID 15512 from chain. Successfully remade target file 'modules'. make: Leaving directory '/usr/src/linux-headers-5.3.0-46-generic'