From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 77F6EA054F; Tue, 18 Feb 2020 21:14:22 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CB71A1C00D; Tue, 18 Feb 2020 21:14:21 +0100 (CET) Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) by dpdk.org (Postfix) with ESMTP id F3E101BFE9 for ; Tue, 18 Feb 2020 21:14:19 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1582056859; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tepVGaeNV9YW/qi6RPM5QQb4LxXyzpEKStT0Bq0XwRs=; b=XlxvCMyW+Tsn4n8YGRcY/aplABGv1hwQYVdRYQo4M5Is9IwLDJbhxHjaxSBI6YiJVyZ81b JEAjfMW5HpzqtrdCBY1o8epvEO+rFNt3FBYs6xbpQyzHEDS2X3NHDSlNGYEhNLNTYNclkR 0NbXJ7Ef+2UZeNqv7ovQaSJUaeFPKG4= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-13-r1SIflozM9udTVXI_eUD0g-1; Tue, 18 Feb 2020 15:14:09 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C9EC7107B7D9; Tue, 18 Feb 2020 20:14:07 +0000 (UTC) Received: from dmarchan.remote.csb (ovpn-204-34.brq.redhat.com [10.40.204.34]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2F0DA5D9E2; Tue, 18 Feb 2020 20:14:02 +0000 (UTC) From: David Marchand To: thomas@monjalon.net Cc: dev@dpdk.org, aconole@redhat.com, christian.ehrhardt@canonical.com, dodji@redhat.com, kevin.laatz@intel.com, Michael Santana Date: Tue, 18 Feb 2020 21:13:54 +0100 Message-Id: <20200218201354.18094-1-david.marchand@redhat.com> In-Reply-To: <20200217135929.30987-1-david.marchand@redhat.com> References: <20200217135929.30987-1-david.marchand@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-MC-Unique: r1SIflozM9udTVXI_eUD0g-1 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Subject: [dpdk-dev] [PATCH v3] ci: build and use libabigail 1.6 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" libabigail 1.2 (at least) reports changes in 'const' property as an ABI breakage [1]. This was fixed upstream in libabigail 1.4 [2], and a bug has been opened in launchpad [3]. But for now, build and use the last version 1.6 so that the ABI checks can be kept. 1: https://travis-ci.com/DPDK/dpdk/jobs/287872118#L2242 2: https://sourceware.org/git/gitweb.cgi?p=3Dlibabigail.git;a=3Dcommitdiff;= h=3D215b7eb4fe8b 3: https://bugs.launchpad.net/ubuntu/+source/libabigail/+bug/1863607 Signed-off-by: David Marchand Acked-by: Thomas Monjalon --- Changelog since v2: - used tarball instead of git, - moved libabigail compilation/install in a function, Changelog since v1: - keep extra_packages in ABI checks jobs, - fix configure step, --- .ci/linux-build.sh | 29 +++++++++++++++++++++++++++++ .travis.yml | 8 +++++++- 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index c7c3840fc..d500c4c00 100755 --- a/.ci/linux-build.sh +++ b/.ci/linux-build.sh @@ -14,6 +14,20 @@ on_error() { } trap on_error EXIT =20 +install_libabigail() { + version=3D$1 + instdir=3D$2 + + wget -q "http://mirrors.kernel.org/sourceware/libabigail/${version}.ta= r.gz" + tar -xf ${version}.tar.gz + cd $version && autoreconf -vfi && cd - + mkdir $version/build + cd $version/build && ../configure --prefix=3D$instdir && cd - + make -C $version/build all install + rm -rf $version + rm ${version}.tar.gz +} + if [ "$AARCH64" =3D "1" ]; then # convert the arch specifier OPTS=3D"$OPTS --cross-file config/arm/arm64_armv8_linux_gcc" @@ -38,6 +52,21 @@ if [ "$AARCH64" !=3D "1" ]; then fi =20 if [ "$ABI_CHECKS" =3D "1" ]; then + LIBABIGAIL_VERSION=3D${LIBABIGAIL_VERSION:-libabigail-1.6} + + if [ "$(cat libabigail/VERSION 2>/dev/null)" !=3D "$LIBABIGAIL_VERSION= " ]; then + rm -rf libabigail + # if we change libabigail, invalidate existing abi cache + rm -rf reference + fi + + if [ ! -d libabigail ]; then + install_libabigail $LIBABIGAIL_VERSION $(pwd)/libabigail + echo $LIBABIGAIL_VERSION > libabigail/VERSION + fi + + export PATH=3D$(pwd)/libabigail/bin:$PATH + REF_GIT_REPO=3D${REF_GIT_REPO:-https://dpdk.org/git/dpdk} REF_GIT_TAG=3D${REF_GIT_TAG:-v19.11} =20 diff --git a/.travis.yml b/.travis.yml index 22539d823..030064c94 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,6 +2,7 @@ language: c cache: ccache: true directories: + - libabigail - reference compiler: - gcc @@ -24,7 +25,10 @@ aarch64_packages: &aarch64_packages =20 extra_packages: &extra_packages - *required_packages - - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4, abigail-tools] + - [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4] + +libabigail_build_packages: &libabigail_build_packages + - [autoconf, automake, libtool, pkg-config, libxml2-dev, libdw-dev] =20 build_32b_packages: &build_32b_packages - *required_packages @@ -160,6 +164,7 @@ matrix: apt: packages: - *extra_packages + - *libabigail_build_packages - env: DEF_LIB=3D"shared" EXTRA_PACKAGES=3D1 ABI_CHECKS=3D1 arch: arm64 compiler: gcc @@ -167,5 +172,6 @@ matrix: apt: packages: - *extra_packages + - *libabigail_build_packages =20 script: ./.ci/${TRAVIS_OS_NAME}-build.sh --=20 2.23.0