Hi everyone, I faced an issue today with install directory for rte_kni and igb_uio. Modules are installed to '/usr/src/...' instead of '/lib/modules/...'.
Right now install_dir for both modules is set to: install_dir: kernel_dir + '/../extra/dpdk' where 'kernel_dir' is set manually or automatically to: kernel_version = run_command('uname', '-r').stdout().strip() kernel_dir = '/lib/modules/' + kernel_version + '/build' I believe the intention of using '/../extra/dpdk' was to come back to '/lib/modules/kernel_version/' and install the modules there, but as '/lib/modules/kernel_version/build' is a symlink, we actually get into the '/usr/src/linux-headers-kernel-version' and install modules there. I see two possible solutions here: 1. Add new 'kernel_install_dir' option. If it is not set, set it automatically: kernel_version = run_command('uname', '-r').stdout().strip() kernel_install_dir = '/lib/modules/' + kernel_version and set install_dir to: install_dir: kernel_install_dir + '/extra/dpdk' 2. Replace 'kernel_dir' option with new option 'kernel_version', and do the following: if kernel_version == '' kernel_version = run_command('uname', '-r').stdout().strip() then set 'kernel_dir' and 'kernel_install_dir' accordingly: kernel_dir = '/lib/modules/' + kernel_version + '/build' kernel_install_dir = 'lib/modules/' + kernel_version and use it for building and installation: custom_target('rte_kni', ... command: ['make', '-j4', '-C', kernel_dir, ... install_dir: kernel_install_dir + '/extra/dpdk', ... I prefer the second one and already have a patch. Can send the patch if maintainers are good with the solution. Best regards, Igor