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 92C73A0A0C; Thu, 1 Jul 2021 15:05:59 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1D14540141; Thu, 1 Jul 2021 15:05:59 +0200 (CEST) Received: from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113]) by mails.dpdk.org (Postfix) with ESMTP id C770D4003E for ; Thu, 1 Jul 2021 15:05:57 +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 3C2487F57F; Thu, 1 Jul 2021 16:05:57 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru 3C2487F57F DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=oktetlabs.ru; s=default; t=1625144757; bh=BXNEtZFuZ6Gs1wrfB5+Mtak7oNWYEOGKPRe0D60jrJw=; h=Subject:To:Cc:References:From:Date:In-Reply-To; b=wKhbo8vT0XNWnnfwxvqz0plSy4u7TXbsYDwCRTpEHjYAVzSZ3qdBLLhM/6gPDm2aw +VUW2MW1h3xPpYgJNrchFkGOLOJR73Nk8nQ4y7ZQ4bDVwpkH+VseWngXum5W7OmQIE FS5vqbLxL3unFse+ouhWs38wXVghRpKnJi2SZS0A= 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> From: Andrew Rybchenko Organization: OKTET Labs Message-ID: Date: Thu, 1 Jul 2021 16:05:56 +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" @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.