From patchwork Fri Jan 19 02:00:10 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Github ODP bot X-Patchwork-Id: 125071 Delivered-To: patch@linaro.org Received: by 10.46.66.141 with SMTP id h13csp84680ljf; Thu, 18 Jan 2018 18:04:53 -0800 (PST) X-Google-Smtp-Source: ACJfBosb8tx8D83UPk7AeBO6i5dpgNmY8mnVWexzbBNmo+6HDuc/uyXrthLS4Ynt1TYaMDZK01pI X-Received: by 10.237.42.20 with SMTP id c20mr29945258qtd.240.1516327493228; Thu, 18 Jan 2018 18:04:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516327493; cv=none; d=google.com; s=arc-20160816; b=SNiTETpP1sSG++zcGQXHhL7BDDdt5YKGGhOgFaCu6nJRF1oaNM5LS/P3B26XnTPySb 3jUNVqIf+lkZGwn4XGqwiyJmfoOwzkl6EineZl2KaYkYO2cxUYDjTq5vvxjmptCS5zAX BL6dMPZ+BXE4qogIJTHiwHIVCnl7+XTW3exV5I6BE8yOP+cIDPahAT5KRg5Y5nrFOXRZ eoXdDj7AMbf44jZlhfSGZUzoniqRFQKWLWMhGeCZCDAREFeyLo9NV9YAreX1GHRNyfZl NlDhg4+Z2HIQYcdJ9VKtLriZsvjFvfI6slcBcXCFexU13PVjRl9jm8zGTV5xjMiSgspg vISg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:github-pr-num :references:in-reply-to:message-id:date:to:from:delivered-to :arc-authentication-results; bh=AKZRkpSDm8UqcQjYXH8Rv/xmQOKreXE74O6pbK/yc+M=; b=XMtAabbpJgnR20kyzZj2/XuR3Ny6d06MoX77ayO58ginJGOmHP9OuvC/q6Qaa3BA97 9Fwmci/wBdeJznW+8hEH65W29Vcn7M6J8iVVWSlMzLSlNC4Cy7PmaNfMTEfBfBS3b1vq GFBwmSQPl0r+8HOlXoxA2pYZ8ZsgO7LciWnCNcDBBpO40BwwXLNJd5JO90O9GlZTBxIB CuqNqxv1/jmIn1R8QYiOZdsh8nId8QpdrJ4B8SDAQjBuPxSzmItIKKswkM3fiLw8NLpx K0H64uqWdpnJWaKkQZRCiYzjNE6SxqaXBx3usLn+ZgnR+gZ6Uqb4LN6KaA8M+ZH1Kzc2 BWxA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Return-Path: Received: from lists.linaro.org (ec2-54-197-127-237.compute-1.amazonaws.com. [54.197.127.237]) by mx.google.com with ESMTP id x22si613445qka.31.2018.01.18.18.04.53; Thu, 18 Jan 2018 18:04:53 -0800 (PST) Received-SPF: pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) client-ip=54.197.127.237; Authentication-Results: mx.google.com; spf=pass (google.com: domain of lng-odp-bounces@lists.linaro.org designates 54.197.127.237 as permitted sender) smtp.mailfrom=lng-odp-bounces@lists.linaro.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=yandex.ru Received: by lists.linaro.org (Postfix, from userid 109) id E4E13617CA; Fri, 19 Jan 2018 02:04:52 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on ip-10-142-244-252 X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2 autolearn=disabled version=3.4.0 Received: from [127.0.0.1] (localhost [127.0.0.1]) by lists.linaro.org (Postfix) with ESMTP id 54076627D9; Fri, 19 Jan 2018 02:02:29 +0000 (UTC) X-Original-To: lng-odp@lists.linaro.org Delivered-To: lng-odp@lists.linaro.org Received: by lists.linaro.org (Postfix, from userid 109) id C8858627D0; Fri, 19 Jan 2018 02:02:21 +0000 (UTC) Received: from forward104p.mail.yandex.net (forward104p.mail.yandex.net [77.88.28.107]) by lists.linaro.org (Postfix) with ESMTPS id 4F89F627B1 for ; Fri, 19 Jan 2018 02:01:15 +0000 (UTC) Received: from mxback12g.mail.yandex.net (mxback12g.mail.yandex.net [IPv6:2a02:6b8:0:1472:2741:0:8b7:91]) by forward104p.mail.yandex.net (Yandex) with ESMTP id 3FE5F185070 for ; Fri, 19 Jan 2018 05:01:14 +0300 (MSK) Received: from smtp2p.mail.yandex.net (smtp2p.mail.yandex.net [2a02:6b8:0:1472:2741:0:8b6:7]) by mxback12g.mail.yandex.net (nwsmtp/Yandex) with ESMTP id uqbx8TZ1MT-1EXWlU9Q; Fri, 19 Jan 2018 05:01:14 +0300 Received: by smtp2p.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id MJUZq2jn8X-17JqPgjV; Fri, 19 Jan 2018 05:01:07 +0300 (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (Client certificate not present) From: Github ODP bot To: lng-odp@lists.linaro.org Date: Fri, 19 Jan 2018 05:00:10 +0300 Message-Id: <1516327210-19457-7-git-send-email-odpbot@yandex.ru> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1516327210-19457-1-git-send-email-odpbot@yandex.ru> References: <1516327210-19457-1-git-send-email-odpbot@yandex.ru> Github-pr-num: 402 Subject: [lng-odp] [PATCH v3 6/6] travis: test ODP with shared DPDK X-BeenThere: lng-odp@lists.linaro.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: "The OpenDataPlane \(ODP\) List" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lng-odp-bounces@lists.linaro.org Sender: "lng-odp" From: Dmitry Eremin-Solenikov Add testcase compiling and running ODP with shared DPDK lib Signed-off-by: Dmitry Eremin-Solenikov --- /** Email created from pull request 402 (lumag:travis-upd) ** https://github.com/Linaro/odp/pull/402 ** Patch: https://github.com/Linaro/odp/pull/402.patch ** Base sha: 5a4502fc6bc53e6503169da3028f456b64811a0b ** Merge commit sha: bec38d48297ebf78da7d67c986b91604e4597080 **/ .travis.yml | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3f6f70795..acaba7a04 100644 --- a/.travis.yml +++ b/.travis.yml @@ -74,6 +74,7 @@ env: - CONF="--enable-schedule-iquery" - CONF="--enable-schedule-scalable" - CONF="--enable-dpdk-zero-copy" + - DPDK_SHARED="y" - CROSS_ARCH="arm64" - CROSS_ARCH="armhf" CFLAGS="-march=armv7-a" - CROSS_ARCH="powerpc" @@ -194,7 +195,14 @@ install: esac - | if [ -n "$TARGET" ] ; then - if [ ! -f "dpdk/${TARGET}/lib/libdpdk.a" ] ; then + # force DPDK rebuild if it does not match shared/non-shared requirement + if [ -n "$DPDK_SHARED" -a ! -f "dpdk/${TARGET}/lib/libdpdk.so" ] ; then + rm -rf dpdk/"$TARGET" + fi + if [ -z "$DPDK_SHARED" -a ! -f "dpdk/${TARGET}/lib/libdpdk.a" ] ; then + rm -rf dpdk/"$TARGET" + fi + if [ ! -f "dpdk/${TARGET}/lib/libdpdk.a" -a ! -f "dpdk/${TARGET}/lib/libdpdk.so" ]; then git -c advice.detachedHead=false clone -q --depth=1 --single-branch --branch=v${DPDK_VERS} http://dpdk.org/git/dpdk dpdk pushd dpdk git log --oneline --decorate @@ -210,6 +218,11 @@ install: if test -n "${DPDK_MACHINE}" ; then sed -ri 's,(CONFIG_RTE_MACHINE=).*,\1"'${DPDK_MACHINE}'",' .config fi + if test -n "${DPDK_SHARED}" ; then + sed -ri 's,(CONFIG_RTE_BUILD_SHARED_LIB=).*,\1y,' .config + export LD_LIBRARY_PATH="`pwd`/${TARGET}:$LD_LIBRARY_PATH" + echo $LD_LIBRARY_PATH + fi if test -n "$CROSS_ARCH" ; then sed -ri -e 's,(CONFIG_RTE_EAL_IGB_UIO=).*,\1n,' .config sed -ri -e 's,(CONFIG_RTE_KNI_KMOD=).*,\1n,' .config @@ -254,11 +267,17 @@ script: - pushd $HOME - echo "Dynamic link.." - ${CC} ${CFLAGS} ${OLDPWD}/example/hello/odp_hello.c -o odp_hello_inst_dynamic `PKG_CONFIG_PATH=${HOME}/odp-install/lib/pkgconfig:${PKG_CONFIG_PATH} pkg-config --cflags --libs libodp-linux` - - echo "Static link.." - - ${CC} ${CFLAGS} ${OLDPWD}/example/hello/odp_hello.c -o odp_hello_inst_static `PKG_CONFIG_PATH=${HOME}/odp-install/lib/pkgconfig:${PKG_CONFIG_PATH} pkg-config --cflags --libs libodp-linux --static` -static - if [ -z "$CROSS_ARCH" ] ; then - LD_LIBRARY_PATH="${HOME}/odp-install/lib:$LD_LIBRARY_PATH" ./odp_hello_inst_dynamic ; - ./odp_hello_inst_static ; + LD_LIBRARY_PATH="${HOME}/odp-install/lib:$LD_LIBRARY_PATH" ./odp_hello_inst_dynamic ; + fi + - echo "Static link.." + - | + # it is not possible to do static linking if we only have shared DPDK library. Compiler complains about missing -ldpdk + if [ -z "$TARGET" -o -z "$DPDK_SHARED" ] ; then + ${CC} ${CFLAGS} ${OLDPWD}/example/hello/odp_hello.c -o odp_hello_inst_static `PKG_CONFIG_PATH=${HOME}/odp-install/lib/pkgconfig:${PKG_CONFIG_PATH} pkg-config --cflags --libs libodp-linux --static` -static || exit 1 + if [ -z "$CROSS_ARCH" ] ; then + ./odp_hello_inst_static || exit 1; + fi fi - popd - ccache -s