OpenFastPath / ofp

OpenFastPath project
BSD 3-Clause "New" or "Revised" License
349 stars 126 forks source link

`scripts/devbuild_ofp_odp_dpdk.sh` need to be update #290

Open LinArcX opened 9 months ago

LinArcX commented 9 months ago

Hi. I tried to integrate dpdk with odp and ofp: https://github.com/OpenFastPath/ofp/blob/master/docs/ofp-user-guide.adoc#using-ofp-with-odp-dpdk

This script: scripts/devbuild_ofp_odp_dpdk.sh firstly fetches the source code of dpdk through here: http://dpdk.org/git/dpdk-stable

But this address doesn't exist.

JereLeppanen commented 9 months ago

Please use scripts/check-dpdk.sh script instead. It assumes that dpdk-dev/dpdk-devel has been installed.

LinArcX commented 9 months ago

dpdk-dev is in repositories? I can't find it in the repo of Debian 11. (and I don't want to install it from the repo. I want to build everything by myself) By the way, I could manage to build dpdk separately like this:

git clone https://github.com/DPDK/dpdk
pushd dpdk
git checkout v22.11
PKG_CONFIG_LIBDIR=/usr/lib/i386-linux-gnu/pkgconfig meson setup -Dc_args='-m32' -Dc_link_args='-m32' -Dexamples=all build
pushd build
ninja
sudo meson install
sudo ldconfig
popd
popd

And also I could successfully build odp-dpdk like this:

git clone https://github.com/OpenDataPlane/odp-dpdk
pushd odp-dpdk
./bootstrap
PKG_CONFIG_PATH=/usr/local/lib/x86_64-linux-gnu/pkgconfig ./configure --enable-dpdk --build=i386-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"
make -j4
make install
popd

But when I try to build ofp using odp-dpdk and dpdk that I built previously like this:

git clone https://github.com/OpenFastPath/ofp
pushd ofp
./bootstrap
PKG_CONFIG_PATH=/usr/lib/i386-linux-gnu/pkgconfig ./configure --build=i386-linux-gnu --with-odp=/usr/local/lib --with-odp-lib=odp-dpdk "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"
make -j4
make install
popd

I will receive this error:

checking for libodp-dpdk >= 1.35.0.0... no
configure: error: Package requirements (libodp-dpdk >= 1.35.0.0) were not met:

No package 'libodp-dpdk' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables ODP_CFLAGS
and ODP_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
bogdanPricope commented 9 months ago

or -PKG_CONFIG_PATH=$(pwd)/../dpdk/install/lib64/pkgconfig:${PKG_CONFIG_PATH} ./configure --prefix=$(pwd)/install +PKG_CONFIG_PATH=$(pwd)/../dpdk/install/lib/x86_64-linux-gnu/pkgconfig:${PKG_CONFIG_PATH} ./configure --prefix=$(pwd)/install

JereLeppanen commented 8 months ago

Sorry, I left you hanging for a long time, so probably no longer relevant, but anyway if dpdk is installed in a non-standard place, something like this should work (dpdk 22.11):

PKG_CONFIG_PATH=<dpdk_install_path>/lib64/pkgconfig:$PKG_CONFIG_PATH scripts/check-dpdk.sh