From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f44.google.com (mail-pa0-f44.google.com [209.85.220.44]) by dpdk.org (Postfix) with ESMTP id D76682BE6 for ; Tue, 19 Apr 2016 03:42:27 +0200 (CEST) Received: by mail-pa0-f44.google.com with SMTP id zm5so984996pac.0 for ; Mon, 18 Apr 2016 18:42:27 -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=mGVg9k6oaQnga4VYhcDFoUzZWvwXnSnZy9Th5hWlSxnIMAwy9WwO3lUzqDIOcSbW4c ilJD8JNHt/75qyax+J7DO00BrBH1uOn4HAo438BRpUqYGkHKWYx9oH5poM/z93//uUUV F1YLkI2KIKoRybZnXV4S2eeSsycDpUSWNC7o767kKXq4o9u3vt51MrMpQHeJvgXFUq5R U6dfXaTTRRCSmnEHL0ShWj3Pa4LUR3NVi+vfKTm/cuvbjQo0NeMTjV+VO8Sn7AU+34h2 cLnPMImo4UPx9lJ6L8arsZIu9ma1NRXcQyrsQMbWVzGWIXV0+CvrP/SpL0qeNIIYVsvZ X7zg== 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=ind1GPxvDreJm8ueXXYu6lESfXbCH3AK4xXRjUKC8wPIxhuA1ssnxmkOVk1/yuiVDn dRKSgLlMCpw0zH8WxXL9T15NmYlCNXd18HbP+gj1sTV2h5Qq6FGSiZBV12LqGL/3YIJn 1OBrr1nz+krDpkW1dtzTuswrTvKIbCq4rWzbJHVknymLaFhM4FaVm9/RztX1fQtvgCCq RaZWl8HbSBTpXJjtmMX3A5y0hfWqNJWKfmyehlapMQwfB164NXQXCgjg+zLtrchk6A0R SBWfiG0HMSaU+DGGna6McM5MNaoRTxKC387tyzNDm3n392ByxmyvZm2pFx0kY6Wf+xIn 4giw== X-Gm-Message-State: AOPr4FUjFkgS3Tcxa7ZTHeFNye9sBCyC7jPatEmhpsJn3/WCQlyr496OL4NqEmIMbzy4ug== X-Received: by 10.66.146.164 with SMTP id td4mr387069pab.47.1461030147264; Mon, 18 Apr 2016 18:42:27 -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 16sm86492345pfk.28.2016.04.18.18.42.26 for (version=TLSv1/SSLv3 cipher=OTHER); Mon, 18 Apr 2016 18:42:26 -0700 (PDT) Sender: Aurojit Panda Message-ID: <57158D01.5020407@cs.berkeley.edu> Date: Mon, 18 Apr 2016 18:42:25 -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 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:42:28 -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