patch 'build: add libarchive to optional external dependencies' has been queued to stable release 21.11.6

Kevin Traynor ktraynor at redhat.com
Mon Nov 20 14:58:43 CET 2023


On 17/11/2023 09:00, Richardson, Bruce wrote:
> After applying this patch, the link of DPDK may fail if all dependencies of libarchive are not installed. For some reason the install of the libarchive-dev package on many distros does not install all correct dependencies and the user needs to install a few other dev packages manually. (To me, this looks like something that could do with being fixed in the packages - it's not something we can really control)
> 
> Srikanth, do you think this patch needs to be backported? If there is no compelling need, I'd maybe avoid doing so to avoid possible unexpected build issues for users.
> 

Hi Bruce. Thanks for highlighting this.

I just hit this issue myself with 23.11-rc3 and had to install 
lz4-devel, bzip2-devel and libacl-devel to be able to link.

I don't think we should take this patch, so I'm going to drop from 21.11 
backports.

thanks,
Kevin.

> /Bruce
> 
>> -----Original Message-----
>> From: Kevin Traynor <ktraynor at redhat.com>
>> Sent: Thursday, November 16, 2023 1:23 PM
>> To: Srikanth Yalavarthi <syalavarthi at marvell.com>
>> Cc: Richardson, Bruce <bruce.richardson at intel.com>; dpdk stable
>> <stable at dpdk.org>
>> Subject: patch 'build: add libarchive to optional external dependencies'
>> has been queued to stable release 21.11.6
>>
>> Hi,
>>
>> FYI, your patch has been queued to stable release 21.11.6
>>
>> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
>> It will be pushed if I get no objections before 11/21/23. So please
>> shout if anyone has objections.
>>
>> Also note that after the patch there's a diff of the upstream commit vs
>> the
>> patch applied to the branch. This will indicate if there was any rebasing
>> needed to apply to the stable branch. If there were code changes for
>> rebasing
>> (ie: not only metadata diffs), please double check that the rebase was
>> correctly done.
>>
>> Queued patches are on a temporary branch at:
>> https://github.com/kevintraynor/dpdk-stable
>>
>> This queued commit can be viewed at:
>> https://github.com/kevintraynor/dpdk-
>> stable/commit/aa40722948ac2dc15f93b8598f560029c757b645
>>
>> Thanks.
>>
>> Kevin
>>
>> ---
>>  From aa40722948ac2dc15f93b8598f560029c757b645 Mon Sep 17 00:00:00 2001
>> From: Srikanth Yalavarthi <syalavarthi at marvell.com>
>> Date: Sun, 5 Nov 2023 20:12:43 -0800
>> Subject: [PATCH] build: add libarchive to optional external dependencies
>>
>> [ upstream commit 22f7184e8b5f1b546ac26dd0bde8c3c6038a7e03 ]
>>
>> In order to avoid linking with Libs.private, libarchive
>> is not added to ext_deps during the meson setup stage.
>>
>> Since libarchive is not added to ext_deps, cross-compilation
>> or native compilation with libarchive installed in non-standard
>> location fails with errors related to "cannot find -larchive"
>> or "archive.h: No such file or directory". In order to fix the
>> build failures, user is required to define the 'c_args' and
>> 'c_link_args' with '-I<includedir>' and '-L<libdir>'.
>>
>> This patch adds libarchive to ext_deps and further would not
>> require setting c_args and c_link_args externally.
>>
>> Fixes: 40edb9c0d36b ("eal: handle compressed firmware")
>>
>> Signed-off-by: Srikanth Yalavarthi <syalavarthi at marvell.com>
>> Acked-by: Bruce Richardson <bruce.richardson at intel.com>
>> ---
>>   config/meson.build  | 5 -----
>>   lib/eal/meson.build | 3 +++
>>   2 files changed, 3 insertions(+), 5 deletions(-)
>>
>> diff --git a/config/meson.build b/config/meson.build
>> index a79a3ed39c..b40302da02 100644
>> --- a/config/meson.build
>> +++ b/config/meson.build
>> @@ -208,9 +208,4 @@ libarchive = dependency('libarchive', required: false,
>> method: 'pkg-config')
>>   if libarchive.found()
>>       dpdk_conf.set('RTE_HAS_LIBARCHIVE', 1)
>> -    # Push libarchive link dependency at the project level to support
>> -    # statically linking dpdk apps. Details at:
>> -    # https://inbox.dpdk.org/dev/20210605004024.660267a1@sovereign/
>> -    add_project_link_arguments('-larchive', language: 'c')
>> -    dpdk_extra_ldflags += '-larchive'
>>   endif
>>
>> diff --git a/lib/eal/meson.build b/lib/eal/meson.build
>> index 1722924f67..f223c6d7a5 100644
>> --- a/lib/eal/meson.build
>> +++ b/lib/eal/meson.build
>> @@ -23,4 +23,7 @@ if dpdk_conf.has('RTE_USE_LIBBSD')
>>       ext_deps += libbsd
>>   endif
>> +if dpdk_conf.has('RTE_HAS_LIBARCHIVE')
>> +    ext_deps += libarchive
>> +endif
>>   if cc.has_function('getentropy', prefix : '#include <unistd.h>')
>>       cflags += '-DRTE_LIBEAL_USE_GETENTROPY'
>> --
>> 2.41.0
>>
>> ---
>>    Diff of the applied patch vs upstream commit (please double-check if
>> non-empty:
>> ---
>> --- -	2023-11-16 13:21:53.587627939 +0000
>> +++ 0043-build-add-libarchive-to-optional-external-dependenci.patch
>> 	2023-11-16 13:21:52.506946538 +0000
>> @@ -1 +1 @@
>> -From 22f7184e8b5f1b546ac26dd0bde8c3c6038a7e03 Mon Sep 17 00:00:00 2001
>> +From aa40722948ac2dc15f93b8598f560029c757b645 Mon Sep 17 00:00:00 2001
>> @@ -5,0 +6,2 @@
>> +[ upstream commit 22f7184e8b5f1b546ac26dd0bde8c3c6038a7e03 ]
>> +
>> @@ -20 +21,0 @@
>> -Cc: stable at dpdk.org
>> @@ -30 +31 @@
>> -index 39ed4ba7d3..d732154731 100644
>> +index a79a3ed39c..b40302da02 100644
>> @@ -33 +34 @@
>> -@@ -252,9 +252,4 @@ libarchive = dependency('libarchive', required:
>> false, method: 'pkg-config')
>> +@@ -208,9 +208,4 @@ libarchive = dependency('libarchive', required:
>> false, method: 'pkg-config')
>> @@ -44 +45 @@
>> -index 9942104386..e1d6c4cf17 100644
>> +index 1722924f67..f223c6d7a5 100644
>> @@ -47 +48 @@
>> -@@ -22,4 +22,7 @@ if dpdk_conf.has('RTE_USE_LIBBSD')
>> +@@ -23,4 +23,7 @@ if dpdk_conf.has('RTE_USE_LIBBSD')
> 



More information about the stable mailing list