From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4DC53A0A0C; Fri, 2 Jul 2021 10:43:10 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3A36941354; Fri, 2 Jul 2021 10:43:10 +0200 (CEST) Received: from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113]) by mails.dpdk.org (Postfix) with ESMTP id 0CA3040686 for ; Fri, 2 Jul 2021 10:43:09 +0200 (CEST) Received: from [192.168.38.17] (aros.oktetlabs.ru [192.168.38.17]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by shelob.oktetlabs.ru (Postfix) with ESMTPSA id B83007F529; Fri, 2 Jul 2021 11:43:08 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru B83007F529 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=oktetlabs.ru; s=default; t=1625215388; bh=T19bIb2Jcb5HRB7jH2747RBpLBR0OoS8krTkk3MP4E8=; h=Subject:From:To:Cc:References:Date:In-Reply-To; b=gZth6lnCoIu3p08gQx0q9P/juAgAREmEgNk+OzcB/lGMde5C1BaTWXTv57Fwj1z/B BETDVqI/lULU3+bhf0IrgjOP8DYESiGS0bgHqDL5uvHUmGc3o/1/wS0bsuSRNJHGKu LMzNLZDZdop5na9MQRYxr7h5np6IRIWf8I08Ohog= From: Andrew Rybchenko To: David Marchand , Bruce Richardson Cc: Thomas Monjalon , dev , Igor Romanov , Andy Moreton , Ivan Malov References: <20210527152510.1551026-1-andrew.rybchenko@oktetlabs.ru> <20210618134032.1922012-20-andrew.rybchenko@oktetlabs.ru> <23888533.A65Z59arLz@thomas> <8a3c653e-65db-fc48-253c-db78037635f3@oktetlabs.ru> Organization: OKTET Labs Message-ID: <0704be2b-674b-5e04-2c0e-ad8b0c528bf5@oktetlabs.ru> Date: Fri, 2 Jul 2021 11:43:08 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH v3 19/20] net/sfc: support flow action COUNT in transfer rules X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi David, On 7/1/21 4:05 PM, Andrew Rybchenko wrote: > @Bruce, see below. > > On 7/1/21 3:34 PM, David Marchand wrote: >> On Thu, Jul 1, 2021 at 11:22 AM Andrew Rybchenko >> wrote: >>> The build works fine for me on FC34, but it has >>> libatomic-11.1.1-3.fc34.x86_64 installed. >> >> I first produced the issue on my "old" FC32. >> Afaics, for FC33 and later, gcc now depends on libatomic and the >> problem won't be noticed. >> FC32 and before are EOL, but I then reproduced the issue on RHEL 8 >> (and Intel CI reported it on Centos 8 too). > > I see. Thanks for the clarification. > >>> >>> I'd like to understand what we're trying to solve here. >>> Are we trying to make meson to report the missing library >>> correctly? >>> >>> If so, I think I can do simple check using cc.links() >>> which will fail if the library is not found. I'll >>> test that it works as expected if the library is not >>> completely installed. >>> >> >> I tried below diff, and it works for me. >> "works" as in net/sfc gets disabled without libatomic installed: >> >> diff --git a/drivers/net/sfc/meson.build b/drivers/net/sfc/meson.build >> index 32b58e3d76..8d62aad774 100644 >> --- a/drivers/net/sfc/meson.build >> +++ b/drivers/net/sfc/meson.build >> @@ -15,6 +15,7 @@ endif >> if (arch_subdir != 'x86' or not dpdk_conf.get('RTE_ARCH_64')) and >> (arch_subdir != 'arm' or not >> host_machine.cpu_family().startswith('aarch64')) >> build = false >> reason = 'only supported on x86_64 and aarch64' >> + subdir_done() > > @Bruce Shouldn't we add subdir_done() after all build = false > cases? As I understand it is OK for minimum supported meson > version. > >> endif >> >> extra_flags = [] >> @@ -46,6 +47,14 @@ endif >> >> # for gcc compiles we need -latomic for 128-bit atomic ops >> if cc.get_id() == 'gcc' >> + code = '''#include >> + void main() { printf("Atomilink me.\n"); } >> + ''' >> + if not cc.links(code, args: '-latomic', name: 'libatomic link check') >> + build = false >> + reason = 'missing dependency, "libatomic"' >> + subdir_done() >> + endif >> ext_deps += cc.find_library('atomic') >> endif > > Many thanks, LGTM. I'll pick it up and add comments why > it is checked this way. > I've send v4 with the problem fixed. However, I'm afraid build test systems should be updated to have libatomic correctly installed. Otherwise, they do not really check net/sfc build. Andrew.