k13132 / openwrt-dpdk

Data Plane Development Kit (DPDK) integration into OpenWrt
26 stars 12 forks source link

Openwrt 21.02 source code compilation dpdk failed #19

Closed smdx closed 1 day ago

smdx commented 1 day ago

Hello, I encountered a problem when compiling dpdk using openwrt21.02 source code. How can I solve it? Thank you

openwrt source code repository https://github.com/immortalwrt/immortalwrt Branches:openwrt 21.02 dpdk-20.11

GitHub Action ubuntu-20.04 depends: ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential bzip2 ccache clang cmake cpio curl device-tree-compiler ecj fastjar flex gawk gettext gcc-multilib g++-multilib git gnutls-dev gperf haveged help2man intltool lib32gcc-s1 libc6-dev-i386 libbpf-dev libelf-dev libfuse-dev libglib2.0-dev libgmp3-dev libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5 libncursesw5-dev libpython3-dev libreadline-dev libssl-dev libtool lld llvm lrzsz mkisofs msmtp nano ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 python3-pip python3-ply python3-docutils python3-pyelftools python3-setuptools qemu-utils re2c rsync scons squashfs-tools subversion swig texinfo uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev

config: CONFIG_SDK=y CONFIG_LIBC="glibc" CONFIG_LIBC_USE_GLIBC=y CONFIG_PACKAGE_libbpf=y CONFIG_PACKAGE_libelf=y

dpdk

CONFIG_LIBDPDK_ARCH_x86-64=y CONFIG_LIBDPDK_DRIVER_COMMON_IAVF=y CONFIG_LIBDPDK_DRIVER_E1000=y CONFIG_LIBDPDK_DRIVER_I40E=y CONFIG_LIBDPDK_DRIVER_ICE=y CONFIG_LIBDPDK_DRIVER_IXGBE=y CONFIG_LIBDPDK_DRIVER_VIRTIO=y CONFIG_PACKAGE_dpdk-tools=y CONFIG_PACKAGE_libdpdk=y CONFIG_PACKAGE_numactl=y CONFIG_VFIO_IOMMU_TYPE1=y CONFIG_VFIO_VIRQFD=y CONFIG_VFIO=y CONFIG_VFIO_NOIOMMU=y CONFIG_VFIO_PCI=y CONFIG_VFIO_PCI_MMAP=y CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y CONFIG_PROC_PAGE_MONITOR=y

2024-11-02T09:28:04.8831898Z make[3]: Entering directory '/workdir/openwrt/package/new/kmod-vfio-pci'
2024-11-02T09:28:06.6830457Z mkdir -p /workdir/openwrt/staging_dir/target-x86_64_glibc/root-x86/stamp
2024-11-02T09:28:06.6859424Z SHELL= flock /workdir/openwrt/tmp/.root-copy.flock -c 'cp -fpR /workdir/openwrt/build_dir/target-x86_64_glibc/linux-x86_64/vfio-pci/.pkgdir/kmod-vfio-pci/. /workdir/openwrt/staging_dir/target-x86_64_glibc/root-x86/'
2024-11-02T09:28:06.6914464Z touch /workdir/openwrt/staging_dir/target-x86_64_glibc/root-x86/stamp/.kmod-vfio-pci_installed
2024-11-02T09:28:06.7000022Z echo "kmod-vfio-pci" >> /workdir/openwrt/staging_dir/target-x86_64_glibc/pkginfo/kmod-vfio-pci.default.install
2024-11-02T09:28:06.7018484Z make[3]: Leaving directory '/workdir/openwrt/package/new/kmod-vfio-pci'
2024-11-02T09:28:06.7024190Z time: package/new/kmod-vfio-pci/compile#1.69#0.15#1.82
2024-11-02T09:28:06.7135775Z make[3]: Entering directory '/workdir/openwrt/package/new/numactl'
2024-11-02T09:28:08.4980782Z mkdir -p /workdir/openwrt/dl
2024-11-02T09:28:08.5013550Z SHELL= flock /workdir/openwrt/tmp/.numactl-2.0.14.tar.gz.flock -c '    /workdir/openwrt/scripts/download.pl "/workdir/openwrt/dl" "numactl-2.0.14.tar.gz" "1ee27abd07ff6ba140aaf9bc6379b37825e54496e01d6f7343330cf1a4487035" "" "https://codeload.github.com/numactl/numactl/tar.gz/v2.0.14?"    '
2024-11-02T09:28:08.5491947Z mkdir -p /workdir/openwrt/staging_dir/target-x86_64_glibc/root-x86/stamp
2024-11-02T09:28:08.5518879Z SHELL= flock /workdir/openwrt/tmp/.root-copy.flock -c 'cp -fpR /workdir/openwrt/build_dir/target-x86_64_glibc/numactl-2.0.14/.pkgdir/numactl/. /workdir/openwrt/staging_dir/target-x86_64_glibc/root-x86/'
2024-11-02T09:28:08.5561063Z touch /workdir/openwrt/staging_dir/target-x86_64_glibc/root-x86/stamp/.numactl_installed
2024-11-02T09:28:08.5647679Z echo "numactl" >> /workdir/openwrt/staging_dir/target-x86_64_glibc/pkginfo/numactl.default.install
2024-11-02T09:28:08.5666177Z mkdir -p /workdir/openwrt/staging_dir/target-x86_64_glibc/root-x86/stamp
2024-11-02T09:28:08.5692778Z SHELL= flock /workdir/openwrt/tmp/.root-copy.flock -c 'cp -fpR /workdir/openwrt/build_dir/target-x86_64_glibc/numactl-2.0.14/.pkgdir/libnuma/. /workdir/openwrt/staging_dir/target-x86_64_glibc/root-x86/'
2024-11-02T09:28:08.5732199Z touch /workdir/openwrt/staging_dir/target-x86_64_glibc/root-x86/stamp/.libnuma_installed
2024-11-02T09:28:08.5753877Z echo "libnuma" >> /workdir/openwrt/staging_dir/target-x86_64_glibc/pkginfo/numactl.default.install
2024-11-02T09:28:08.5772011Z make[3]: Leaving directory '/workdir/openwrt/package/new/numactl'
2024-11-02T09:28:08.5777228Z time: package/new/numactl/compile#1.71#0.18#1.87
2024-11-02T09:28:08.5887402Z make[3]: Entering directory '/workdir/openwrt/package/new/dpdk'
2024-11-02T09:28:10.3546587Z mkdir -p /workdir/openwrt/dl
2024-11-02T09:28:10.3577304Z SHELL= flock /workdir/openwrt/tmp/.dpdk-20.11.tar.gz.flock -c '    /workdir/openwrt/scripts/download.pl "/workdir/openwrt/dl" "dpdk-20.11.tar.gz" "c29bb5710d068efd2bc2c51d73ced4d3ca0dc0f5473874350a0eb3d9c3e50af4" "" "https://codeload.github.com/DPDK/dpdk/tar.gz/v20.11?"    '
2024-11-02T09:28:10.5206743Z mkdir -p /workdir/openwrt/staging_dir/target-x86_64_glibc/root-x86/stamp
2024-11-02T09:28:10.5233991Z SHELL= flock /workdir/openwrt/tmp/.root-copy.flock -c 'cp -fpR /workdir/openwrt/build_dir/target-x86_64_glibc/dpdk-20.11/.pkgdir/libdpdk/. /workdir/openwrt/staging_dir/target-x86_64_glibc/root-x86/'
2024-11-02T09:28:10.5768486Z touch /workdir/openwrt/staging_dir/target-x86_64_glibc/root-x86/stamp/.libdpdk_installed
2024-11-02T09:28:10.5963932Z mkdir -p /workdir/openwrt/bin/targets/x86/64-glibc/packages /workdir/openwrt/build_dir/target-x86_64_glibc/dpdk-20.11/ipkg-x86_64/libdpdk/CONTROL /workdir/openwrt/staging_dir/target-x86_64_glibc/pkginfo
2024-11-02T09:28:10.5990657Z install -d -m0755 /workdir/openwrt/build_dir/target-x86_64_glibc/dpdk-20.11/ipkg-x86_64/libdpdk/usr/lib
2024-11-02T09:28:10.6018490Z install -m0755 /workdir/openwrt/build_dir/target-x86_64_glibc/dpdk-20.11/ipkg-install/usr/lib/librte_*.so.* /workdir/openwrt/build_dir/target-x86_64_glibc/dpdk-20.11/ipkg-x86_64/libdpdk/usr/lib/
2024-11-02T09:28:10.6542200Z find /workdir/openwrt/build_dir/target-x86_64_glibc/dpdk-20.11/ipkg-x86_64/libdpdk -name 'CVS' -o -name '.svn' -o -name '.#*' -o -name '*~'| xargs -r rm -rf
2024-11-02T09:28:11.2773512Z Package libdpdk is missing dependencies for the following libraries:
2024-11-02T09:28:11.2780227Z libbpf.so.0
2024-11-02T09:28:11.2780770Z libelf.so.1
2024-11-02T09:28:11.2785968Z make[3]: *** [Makefile:103: /workdir/openwrt/bin/packages/x86_64/base/libdpdk_20.11-0_x86_64.ipk] Error 1
2024-11-02T09:28:11.2787758Z make[3]: Leaving directory '/workdir/openwrt/package/new/dpdk'
2024-11-02T09:28:11.2793260Z time: package/new/dpdk/compile#2.38#0.71#2.69
2024-11-02T09:28:11.2800351Z     ERROR: package/new/dpdk failed to build.
2024-11-02T09:28:11.2803843Z make[2]: *** [package/Makefile:120: package/new/dpdk/compile] Error 1
2024-11-02T09:28:11.2811645Z make[2]: Leaving directory '/workdir/openwrt'
2024-11-02T09:28:11.2846833Z make[1]: *** [package/Makefile:114: /workdir/openwrt/staging_dir/target-x86_64_glibc/stamp/.package_compile] Error 2
2024-11-02T09:28:11.2854003Z make[1]: Leaving directory '/workdir/openwrt'
2024-11-02T09:28:11.2893789Z make: *** [/workdir/openwrt/include/toplevel.mk:230: world] Error 2
2024-11-02T09:28:11.2948291Z ##[error]Process completed with exit code 2.
zokl commented 1 day ago

Hello, there is an issue with missing libraries libbpf and libelf. Please add to compilation dependency for libdpdk : +libbpf +libelf. DPDK 20.11 is too old. Try to use new openwrt with new version of dpdk.