[dpdk-dev] Disabling CONFIG_RTE_EAL_VFIO breaks build on ARM

Yongseok Koh yskoh at mellanox.com
Thu Feb 22 15:42:47 CET 2018


Hi,

If I disable vfio by setting CONFIG_RTE_EAL_VFIO=n, I'm having the following compilation error.

> /download/dpdk/drivers/bus/fslmc/fslmc_vfio.c: In function ‘fslmc_get_container_group’:
> /download/dpdk/drivers/bus/fslmc/fslmc_vfio.c:97:2: error: implicit declaration of function ‘vfio_get_group_no’ [-Werror=implicit-function-declaration]
>   ret = vfio_get_group_no(SYSFS_FSL_MC_DEVICES, g_container, groupid);
>   ^
> /download/dpdk/drivers/bus/fslmc/fslmc_vfio.c:97:2: error: nested extern declaration of ‘vfio_get_group_no’ [-Werror=nested-externs]
> /download/dpdk/drivers/bus/fslmc/fslmc_vfio.c: In function ‘vfio_connect_container’:
> /download/dpdk/drivers/bus/fslmc/fslmc_vfio.c:131:2: error: implicit declaration of function ‘vfio_get_container_fd’ [-Werror=implicit-function-declaration]
>   fd = vfio_get_container_fd();
>   ^
> /download/dpdk/drivers/bus/fslmc/fslmc_vfio.c:131:2: error: nested extern declaration of ‘vfio_get_container_fd’ [-Werror=nested-externs]
> /download/dpdk/drivers/bus/fslmc/fslmc_vfio.c: In function ‘fslmc_vfio_setup_group’:
> /download/dpdk/drivers/bus/fslmc/fslmc_vfio.c:630:2: error: implicit declaration of function ‘vfio_get_group_fd’ [-Werror=implicit-function-declaration]
>   ret = vfio_get_group_fd(groupid);
>   ^
> /download/dpdk/drivers/bus/fslmc/fslmc_vfio.c:630:2: error: nested extern declaration of ‘vfio_get_group_fd’ [-Werror=nested-externs]
> /download/dpdk/drivers/bus/fslmc/fslmc_vfio.c:640:3: error: implicit declaration of function ‘rte_vfio_clear_group’ [-Werror=implicit-function-declaration]
>    rte_vfio_clear_group(vfio_group.fd);
>    ^
> /download/dpdk/drivers/bus/fslmc/fslmc_vfio.c:640:3: error: nested extern declaration of ‘rte_vfio_clear_group’ [-Werror=nested-externs]


So, I tried to disable CONFIG_RTE_LIBRTE_FSLMC_BUS, then another error on linkage.
Looks like there're dependencies and those should've been properly addressed??

> /bin/ld: cannot find -lrte_bus_fslmc
> collect2: error: ld returned 1 exit status
> make[5]: *** [dpdk-procinfo] Error 1
> make[4]: *** [proc_info] Error 2
> make[4]: *** Waiting for unfinished jobs....
> /bin/ld: cannot find -lrte_bus_fslmc
> collect2: error: ld returned 1 exit status
> make[5]: *** [dpdk-test-crypto-perf] Error 1
> make[4]: *** [test-crypto-perf] Error 2
> /bin/ld: cannot find -lrte_bus_fslmc
> collect2: error: ld returned 1 exit status
> make[5]: *** [dpdk-pdump] Error 1
> make[4]: *** [pdump] Error 2
>   LD dpdk-test-eventdev
> /bin/ld: cannot find -lrte_bus_fslmc
> collect2: error: ld returned 1 exit status
> make[5]: *** [dpdk-test-eventdev] Error 1
> make[4]: *** [test-eventdev] Error 2
>   LD testbbdev
> /bin/ld: cannot find -lrte_bus_fslmc
> collect2: error: ld returned 1 exit status
> make[5]: *** [testbbdev] Error 1
> make[4]: *** [test-bbdev] Error 2
>   LD testpmd
> /bin/ld: cannot find -lrte_bus_fslmc
> collect2: error: ld returned 1 exit status
> make[5]: *** [testpmd] Error 1
> make[4]: *** [test-pmd] Error 2
> make[3]: *** [app] Error 2
> make[2]: *** [all] Error 2
> make[1]: *** [pre_install] Error 2
> make: *** [install] Error 2



Thanks,
Yongseok



More information about the dev mailing list