Message ID | 20210128103224.331608-1-sunil.pai.g@intel.com |
---|---|
State | Accepted |
Headers | show |
Series | [ovs-dev,v2] acinclude: Remove default library for DPDK. | expand |
On 28/01/2021 10:32, Sunil Pai G wrote: > The default DPDK library used before this patch > in case pkg-config fails to find libdpdk is only > valid for make based DPDK builds. Hence remove them. > > As a consequence, now this error message [1] is thrown > when pkg-config cannot find libdpdk instead of proceeding > to check for a faulty pkg-config and reporting > incorrect error message [2]. > > Also, update the documentation to export > PKG_CONFIG_PATH since on some systems, the default > install path for DPDK libraries is not present in the default > search path of pkg-config. > Ex: for Fedora 32 > default pkg-config search path: > /usr/lib64/pkgconfig:/usr/share/pkgconfig > > while by default Meson installs DPDK libraries at: > /usr/local/lib64/pkgconfig > > [1] Package libdpdk was not found in the pkg-config search path. > Perhaps you should add the directory containing `libdpdk.pc' > to the PKG_CONFIG_PATH environment variable > Package 'libdpdk', required by 'virtual:world', not found > > [2] checking for DPDK... no > checking for faulty pkg-config version... yes > configure: error: Please upgrade pkg-config > > Also, update the build documentation for AVX512 optimization. > > Fixes: 252e1e576443 ("dpdk: Update to use DPDK v20.11.") > Reported-by: Kevin Traynor <ktraynor@redhat.com> > Tested-at: https://github.com/Sunil-Pai-G/ovs/actions/runs/514412775 It doesn't seem necessary to have ^ in the commit log but may be useful after the cutline? I guess it can be stripped out when applying. > Signed-off-by: Sunil Pai G <sunil.pai.g@intel.com> > It resolved issue with incorrect reporting about pkg-config version on Fedora and improves the docs. Acked-by: Kevin Traynor <ktraynor@redhat.com>
On 1/28/21 1:34 PM, Kevin Traynor wrote: > On 28/01/2021 10:32, Sunil Pai G wrote: >> The default DPDK library used before this patch >> in case pkg-config fails to find libdpdk is only >> valid for make based DPDK builds. Hence remove them. >> >> As a consequence, now this error message [1] is thrown >> when pkg-config cannot find libdpdk instead of proceeding >> to check for a faulty pkg-config and reporting >> incorrect error message [2]. >> >> Also, update the documentation to export >> PKG_CONFIG_PATH since on some systems, the default >> install path for DPDK libraries is not present in the default >> search path of pkg-config. >> Ex: for Fedora 32 >> default pkg-config search path: >> /usr/lib64/pkgconfig:/usr/share/pkgconfig >> >> while by default Meson installs DPDK libraries at: >> /usr/local/lib64/pkgconfig >> >> [1] Package libdpdk was not found in the pkg-config search path. >> Perhaps you should add the directory containing `libdpdk.pc' >> to the PKG_CONFIG_PATH environment variable >> Package 'libdpdk', required by 'virtual:world', not found >> >> [2] checking for DPDK... no >> checking for faulty pkg-config version... yes >> configure: error: Please upgrade pkg-config >> >> Also, update the build documentation for AVX512 optimization. >> >> Fixes: 252e1e576443 ("dpdk: Update to use DPDK v20.11.") >> Reported-by: Kevin Traynor <ktraynor@redhat.com> > >> Tested-at: https://github.com/Sunil-Pai-G/ovs/actions/runs/514412775 > > It doesn't seem necessary to have ^ in the commit log but may be useful > after the cutline? I guess it can be stripped out when applying. > >> Signed-off-by: Sunil Pai G <sunil.pai.g@intel.com> >> > > It resolved issue with incorrect reporting about pkg-config version on > Fedora and improves the docs. > > Acked-by: Kevin Traynor <ktraynor@redhat.com> > Thanks! Applied to master and branch-2.15. Best regards, Ilya Maximets.
diff --git a/Documentation/intro/install/dpdk.rst b/Documentation/intro/install/dpdk.rst index a595417ce..3a24e54f9 100644 --- a/Documentation/intro/install/dpdk.rst +++ b/Documentation/intro/install/dpdk.rst @@ -88,6 +88,19 @@ Install DPDK $ sudo ninja -C build install $ sudo ldconfig + Check if libdpdk can be found by pkg-config:: + + $ pkg-config --modversion libdpdk + + The above command should return the DPDK version installed. If not found, + export the path to the installed DPDK libraries:: + + $ export PKG_CONFIG_PATH=/path/to/installed/".pc" file/for/DPDK + + For example, On Fedora 32:: + + $ export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig + Detailed information can be found at `DPDK documentation`_. #. (Optional) Configure and export the DPDK shared library location @@ -97,11 +110,9 @@ Install DPDK Exporting the path to library is not necessary if the DPDK libraries are system installed. For libraries installed using a prefix, export the path - to this library and also update the $PKG_CONFIG_PATH for use - before building OVS:: + to this library:: $ export LD_LIBRARY_PATH=/path/to/installed/DPDK/libraries - $ export PKG_CONFIG_PATH=/path/to/installed/".pc" file/for/DPDK .. note:: @@ -152,7 +163,7 @@ has to be configured to build against the DPDK library (``--with-dpdk``). An example that enables the AVX512 optimizations is:: - $ ./configure --with-dpdk=$DPDK_BUILD CFLAGS="-Ofast -msse4.2 -mpopcnt" + $ ./configure --with-dpdk=static CFLAGS="-Ofast -msse4.2 -mpopcnt" #. Build and install OVS, as described in :ref:`general-building` diff --git a/acinclude.m4 b/acinclude.m4 index a67e397b6..435685c93 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -350,16 +350,12 @@ AC_DEFUN([OVS_CHECK_DPDK], [ "shared") PKG_CHECK_MODULES([DPDK], [libdpdk], [ DPDK_INCLUDE="$DPDK_CFLAGS" - DPDK_LIB="$DPDK_LIBS"], [ - DPDK_INCLUDE="-I/usr/local/include/dpdk -I/usr/include/dpdk" - DPDK_LIB="-ldpdk"]) + DPDK_LIB="$DPDK_LIBS"]) ;; "static" | "yes") PKG_CHECK_MODULES_STATIC([DPDK], [libdpdk], [ DPDK_INCLUDE="$DPDK_CFLAGS" - DPDK_LIB="$DPDK_LIBS"], [ - DPDK_INCLUDE="-I/usr/local/include/dpdk -I/usr/include/dpdk" - DPDK_LIB="-ldpdk"]) + DPDK_LIB="$DPDK_LIBS"]) dnl Statically linked private DPDK objects of form dnl -l:file.a must be positioned between
The default DPDK library used before this patch in case pkg-config fails to find libdpdk is only valid for make based DPDK builds. Hence remove them. As a consequence, now this error message [1] is thrown when pkg-config cannot find libdpdk instead of proceeding to check for a faulty pkg-config and reporting incorrect error message [2]. Also, update the documentation to export PKG_CONFIG_PATH since on some systems, the default install path for DPDK libraries is not present in the default search path of pkg-config. Ex: for Fedora 32 default pkg-config search path: /usr/lib64/pkgconfig:/usr/share/pkgconfig while by default Meson installs DPDK libraries at: /usr/local/lib64/pkgconfig [1] Package libdpdk was not found in the pkg-config search path. Perhaps you should add the directory containing `libdpdk.pc' to the PKG_CONFIG_PATH environment variable Package 'libdpdk', required by 'virtual:world', not found [2] checking for DPDK... no checking for faulty pkg-config version... yes configure: error: Please upgrade pkg-config Also, update the build documentation for AVX512 optimization. Fixes: 252e1e576443 ("dpdk: Update to use DPDK v20.11.") Reported-by: Kevin Traynor <ktraynor@redhat.com> Tested-at: https://github.com/Sunil-Pai-G/ovs/actions/runs/514412775 Signed-off-by: Sunil Pai G <sunil.pai.g@intel.com> --- v1 -> v2: 1. Update DPDK build docs as per comments on v1. 2. Update doc of AVX512 optimization for meson built DPDK. --- Documentation/intro/install/dpdk.rst | 19 +++++++++++++++---- acinclude.m4 | 8 ++------ 2 files changed, 17 insertions(+), 10 deletions(-)