From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by dpdk.org (Postfix) with ESMTP id 97A1054AE for ; Wed, 27 Feb 2019 13:03:51 +0100 (CET) Received: by mail-wm1-f65.google.com with SMTP id n19so5541836wmi.1 for ; Wed, 27 Feb 2019 04:03:51 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:content-transfer-encoding:user-agent:mime-version; bh=T2G4ZN1a8En4Nw4VO26owgD+59jvDsfJINjbsvwJPfM=; b=cwKnUxrYhf6MXm+TWFO0Zp5XCsL/0FDfLbXa6i4xg+k4Ib6TzgRZsEt+9c0SAORCtF SBEqYEZ7yfOfOb1JPPOH9LtPIKFrGAsFmMtp+SfcJZ5z42hPKi0lJUfz0TKDlsH4EBVo /jpbm7MZievQphVC6yj1Ik87OD7bMJ19LTSEN9PhGA5sXyeLBy5UPlwsc9vhnSgrglp4 o5VVH0Mz6dgNRdD4LIZ3wgV9EA0AdwANeHRtV7C0n3czD3ErVeRXyhsxvA4qQChuEdAE v32fVgzSHeEuAugtC9fvq2Y/1fbjd33ssRYwzat3x+NdpIhzUglwbXezTOIrD6BG+z/Q ZZeQ== X-Gm-Message-State: AHQUAuZrS2jYj8UOR7jSVrU8u/LbP6Of1CJyBwBfpgIdRf53hNXWwTau HwVMpgmrBrEBQh9Wk/fVQiQ= X-Google-Smtp-Source: AHgI3IblrG0h4xVZC1FtgDlN8/cOG9sgkrAxnOBSaw72AOfYr5gjrDssB032GBvMnOdRnGAnjJ/9dg== X-Received: by 2002:a1c:5fc5:: with SMTP id t188mr2010928wmb.86.1551269030747; Wed, 27 Feb 2019 04:03:50 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:b00c:66c8:99df:336]) by smtp.gmail.com with ESMTPSA id t18sm1836285wmt.8.2019.02.27.04.03.49 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 27 Feb 2019 04:03:49 -0800 (PST) Message-ID: <2d6c66c6e0e27fd3e18603a006725a8e901b530e.camel@debian.org> From: Luca Boccassi To: Thomas Monjalon Cc: Bruce Richardson , dev@dpdk.org Date: Wed, 27 Feb 2019 12:03:48 +0000 In-Reply-To: <3452725.6pELxiebTM@xps> References: <20190103175725.5836-1-bluca@debian.org> <20190227094746.GA91912@bricha3-MOBL.ger.corp.intel.com> <30cb42a8b2e0f0de063bc783fef8e4a4d86dbc52.camel@debian.org> <3452725.6pELxiebTM@xps> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.30.5-1 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v8 6/6] build: use dependency for pcap and fallback to find_library X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Feb 2019 12:03:51 -0000 On Wed, 2019-02-27 at 11:56 +0100, Thomas Monjalon wrote: > 27/02/2019 11:50, Luca Boccassi: > > On Wed, 2019-02-27 at 09:47 +0000, Bruce Richardson wrote: > > > On Wed, Feb 27, 2019 at 09:33:12AM +0100, Thomas Monjalon wrote: > > > > 26/02/2019 18:49, Luca Boccassi: > > > > > On Tue, 2019-02-26 at 17:46 +0000, luca.boccassi@gmail.com > > > > > wrote: > > > > > > From: Luca Boccassi > > > > > >=20 > > > > > > pcap has historically shipped a custom pcap-config binary > > > > > > tool > > > > > > which > > > > > > does the job of pkg-config. It was never compatible with > > > > > > cross > > > > > > compilation. > > > > > > Meson uses it when using dependency(), which then means > > > > > > cross > > > > > > compilation fails. > > > > > > Set pcap-config to empty in the meson cross compilation > > > > > > files > > > > > > so > > > > > > that Meson will not use it, and add a fallback in case > > > > > > dependency() fails. > > > > > > libpcap 1.9.0 finally ships a pkg-config file so everything > > > > > > will > > > > > > work out of the box in the future. > > > > > >=20 > > > > > > Signed-off-by: Luca Boccassi > > > > > > --- > > > > > > v8: added back pcap change separately. Tested with bootlin > > > > > > cross-compilation toolchain, everything seems to work. > > > > >=20 > > > > > I had some time to invest so I added back this change, in a > > > > > way > > > > > that > > > > > works with cross compilation too. Given the series wasn't > > > > > merged > > > > > yet > > > > > and there was a conflict I've done a v8 rather than a single > > > > > separate > > > > > patch, but it's independent from the rest. > > > > >=20 > > > > > More testing is of course welcome! > > > >=20 > > > > I still see the same error when cross-compiling: > > > >=20 > > > > /usr/include/stdint.h:109: error: "__INT64_C" redefined > > > >=20 > > > Can patches 1-5 be merged anyway, leaving 6 for later? > > >=20 > > > /Bruce > >=20 > > Yes please... >=20 > Yes, sure. I am checking other patches to push them. Thanks! > > Thomas, could you please give me detailed instructions on how to > > repro? > > I used the bootlin toolchain you linked me last time, and passed -- > > cross-file config/arm/arm64_armv8_linuxapp_gcc to Meson, and > > everything > > built fine both with and without an arm64 build of libpcap in the > > sysroot. With the previous version that I removed it would fail. > > Not > > sure what I'm missing! >=20 > I'm running devtools/test-meson-builds.sh on my ArchLinux which has > aarch64-linux-gnu-gcc 8.2.0 but no arm pcap I guess. The script is working fine too - I have the toolchain in /tmp so I simply run it with PATH=3D/tmp/toolchain/bin:$PATH and everything built fine including the arm targets. The key part in the patch was adding pcap-config =3D '' to the various arm configs, could you please double check that it was applied correctly? Without that, Meson finds and calls the native pcap-config which gives wrong (native) flags and causes the errors you are seeing. Otherwise I'm a bit lost, I can't understand why it's all working here and not there. meson --werror -Dexamples=3Dall --default-library=3Dshared --cross-file con= fig/arm/arm64_armv8_linuxapp_gcc /home/bluca/git/dpdk/devtools/.. build-arm= 64-armv8 The Meson build system Version: 0.49.2 Source dir: /home/bluca/git/dpdk Build dir: /home/bluca/git/dpdk/build-arm64-armv8 Build type: cross build Project name: DPDK Project version: 19.05.0-rc0 Native C compiler: ccache gcc (gcc 8.2.0 "gcc (Debian 8.2.0-21) 8.2.0") Cross C compiler: aarch64-linux-gnu-gcc (gcc 7.3.0) Host machine cpu family: aarch64 Host machine cpu: armv8-a Target machine cpu family: aarch64 Target machine cpu: armv8-a <...> $ file build-arm64-armv8/lib/librte_eal.so.9.1=20 build-arm64-armv8/lib/librte_eal.so.9.1: ELF 64-bit LSB pie executable, ARM= aarch64, version 1 (SYSV), dynamically linked, not stripped --=20 Kind regards, Luca Boccassi