From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf0-f177.google.com (mail-pf0-f177.google.com [209.85.192.177]) by dpdk.org (Postfix) with ESMTP id 93FDA37B2 for ; Tue, 19 Apr 2016 03:38:25 +0200 (CEST) Received: by mail-pf0-f177.google.com with SMTP id e128so937545pfe.3 for ; Mon, 18 Apr 2016 18:38:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:reply-to:user-agent:mime-version:to :subject:content-transfer-encoding; bh=SAMnmqYHtIjSp10jicbsbH8yM2rJ45g8HB0ZrC+nKXo=; b=q+BBv30ipvCUI3sqjkSYWWFIqtFc0cir+xSvaqHzgLe2fPySDIruGuYTnJKdjHdERw 8nC1hsfYPu5uHo4yKarZ/DwcKbToVFV42fWPuW5+CM8usCAUHpm5evXP+Ccr0LyD/Hut xJ+5jZ88RijnRyQduPSCZNl7hxxY96aSvKhHVBT3kH19p0gsy3BDHqQLqfpFZqawqORa /WnFBDKHvYWig7u7JG/bHvQj93NuIoCfpff8GTGdzc3b5um3wiHthOZbX+9kbnFSN6rK /ncsA+QrFspNPz/ytsShIMEE6BeELk7J3HZPMwS+P5v4Ge5DotJXZtYabA7oZcfAk6vy 7YwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:sender:message-id:date:from:reply-to:user-agent :mime-version:to:subject:content-transfer-encoding; bh=SAMnmqYHtIjSp10jicbsbH8yM2rJ45g8HB0ZrC+nKXo=; b=TqU7dK/zHNZncQJ/r4gEDvgzItOa9hA9LuXBnYgFBI7nILlS8i6JwZWJ0CPNcEtDme 69KyFmw1N/msCPtOj0nlPfD8QIhSarKBjHAzCLTM6ipQh9F220lTJ0Re33rQE4lyUa74 rJLeONmqLWMk9eAMMgDV9jU5ToAu509gw+vH47bZ9KJ0eNCIWSdUX6SLpr5G1pFzGn+x /hcW6aBnhZHUVammB5DfHPQ+sRUeJBuOT21yg3VICqPryqWEoWjoBIQeJ4nVaCujq3fU fhAKp/uL1ie59LF1Km2hVgD0qPhjNvcJNXDwjbBXzSdr5UaKtIxObKoD5th7Y36hBy/0 nDqw== X-Gm-Message-State: AOPr4FXO8L7R7m8XZcrsAXBN8Om9cDN/nrVXXl0KpeJV4XfHE5iZeJEOyINZ17al0Bg20w== X-Received: by 10.98.42.150 with SMTP id q144mr374960pfq.73.1461029904713; Mon, 18 Apr 2016 18:38:24 -0700 (PDT) Received: from dhcp-37-82.EECS.Berkeley.EDU (dhcp-37-82.EECS.Berkeley.EDU. [128.32.37.82]) by smtp.gmail.com with ESMTPSA id gp9sm4402508pac.8.2016.04.18.18.38.23 for (version=TLSv1/SSLv3 cipher=OTHER); Mon, 18 Apr 2016 18:38:23 -0700 (PDT) Sender: Aurojit Panda Message-ID: <57158C0E.5040704@cs.berkeley.edu> Date: Mon, 18 Apr 2016 18:38:22 -0700 From: Aurojit Panda User-Agent: Postbox 4.0.8 (Macintosh/20151105) MIME-Version: 1.0 To: users@dpdk.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Mailman-Approved-At: Tue, 19 Apr 2016 11:25:21 +0200 Subject: [dpdk-users] DPDK 16.04 link changes cause PMD drivers to not be loaded X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: apanda@cs.berkeley.edu List-Id: usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Apr 2016 01:38:25 -0000 Hi I was trying to run testpmd from DPDK 16.04 on Linux with kernel version 4.4.0-1 (ld version 2.26). My machine has two XL710QDA2 NICs, and I built DPDK as a shared, combined library (i.e., CONFIG_RTE_BUILD_SHARED_LIB=y and CONFIG_RTE_BUILD_COMBINE_LIBS=y in config/common_linuxapp). I found that the issue is due to ld not linking against all libraries with the new linker script (introduced in 948fd64befc3726) but am not sure how to fix this. As evidence for this being caused by this change: $ LD_TRACE_LOADED_OBJECTS=y ./testpmd -c 0x1c00 -n 4 -w 82:00.0 -w 82:00.1 --file-prefix "send" -- -i linux-vdso.so.1 (0x00007ffe11b3e000) librte_distributor.so.1.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_distributor.so.1.1 (0x00007fa55eb85000) librte_reorder.so.1.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_reorder.so.1.1 (0x00007fa55e982000) librte_pipeline.so.3.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_pipeline.so.3.1 (0x00007fa55e77d000) librte_table.so.2.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_table.so.2.1 (0x00007fa55e55e000) librte_port.so.2.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_port.so.2.1 (0x00007fa55e34e000) librte_timer.so.1.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_timer.so.1.1 (0x00007fa55e145000) librte_hash.so.2.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_hash.so.2.1 (0x00007fa55df37000) librte_jobstats.so.1.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_jobstats.so.1.1 (0x00007fa55dd35000) librte_lpm.so.2.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_lpm.so.2.1 (0x00007fa55db2e000) librte_power.so.1.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_power.so.1.1 (0x00007fa55d91f000) librte_acl.so.2.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_acl.so.2.1 (0x00007fa55d705000) librte_meter.so.1.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_meter.so.1.1 (0x00007fa55d504000) librte_sched.so.1.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_sched.so.1.1 (0x00007fa55d2fd000) librte_vhost.so.2.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_vhost.so.2.1 (0x00007fa55d0e6000) librte_kvargs.so.1.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_kvargs.so.1.1 (0x00007fa55cee4000) librte_mbuf.so.2.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_mbuf.so.2.1 (0x00007fa55cce2000) librte_ip_frag.so.1.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_ip_frag.so.1.1 (0x00007fa55cada000) libethdev.so.3.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/libethdev.so.3.1 (0x00007fa55c84f000) librte_cryptodev.so.1.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_cryptodev.so.1.1 (0x00007fa55c647000) librte_mempool.so.1.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_mempool.so.1.1 (0x00007fa55c444000) librte_ring.so.1.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_ring.so.1.1 (0x00007fa55c242000) librte_eal.so.2.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_eal.so.2.1 (0x00007fa55bfe1000) librte_cmdline.so.2.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_cmdline.so.2.1 (0x00007fa55bdd8000) librte_cfgfile.so.2.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_cfgfile.so.2.1 (0x00007fa55bbd6000) librte_pmd_bond.so.1.1 => /home/apanda/e2d2/3rdparty/dpdk/build/lib/librte_pmd_bond.so.1.1 (0x00007fa55b9c4000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fa55b7ae000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fa55b5aa000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fa55b38d000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa55afe9000) /lib64/ld-linux-x86-64.so.2 (0x00007fa55ed87000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa55aceb000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fa55aae3000) As you can see librte_pmd_i40e.so is missing from the list of files. Furthermore, using $ LD_PRELOAD="../lib/librte_pmd_i40e.so" ./testpmd -c 0x1c00 -n 4 -w 82:00.0 -w 82:00.1 --file-prefix "send" -- -i correctly enumerates the NICs. I unfortunately do not how to fix the linker script as checked in, but wanted to report this bug in case someone has a fix. Thanks Panda