From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 43C5B7E6A for ; Thu, 9 Oct 2014 11:16:27 +0200 (CEST) Received: from azsmga001.ch.intel.com ([10.2.17.19]) by fmsmga102.fm.intel.com with ESMTP; 09 Oct 2014 02:23:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.04,683,1406617200"; d="scan'208";a="483015453" Received: from irvmail001.ir.intel.com ([163.33.26.43]) by azsmga001.ch.intel.com with ESMTP; 09 Oct 2014 02:23:23 -0700 Received: from sivswdev02.ir.intel.com (sivswdev02.ir.intel.com [10.237.217.46]) by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id s999NME0025754; Thu, 9 Oct 2014 10:23:22 +0100 Received: from sivswdev02.ir.intel.com (localhost [127.0.0.1]) by sivswdev02.ir.intel.com with ESMTP id s999NM7W000948; Thu, 9 Oct 2014 10:23:22 +0100 Received: (from smonroy@localhost) by sivswdev02.ir.intel.com with id s999NL0O000920; Thu, 9 Oct 2014 10:23:21 +0100 Date: Thu, 9 Oct 2014 10:23:21 +0100 From: Sergio Gonzalez Monroy To: Thomas Monjalon Message-ID: <20141009092321.GA23978@sivswdev02.ir.intel.com> References: <1412265386-26291-1-git-send-email-sergio.gonzalez.monroy@intel.com> <1412592755-3370-1-git-send-email-sergio.gonzalez.monroy@intel.com> <1412592755-3370-5-git-send-email-sergio.gonzalez.monroy@intel.com> <1449590.uzPBnEWXQD@xps13> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1449590.uzPBnEWXQD@xps13> User-Agent: Mutt/1.5.20 (2009-06-14) Cc: dev@dpdk.org Subject: Re: [dpdk-dev] [PATCH v2 4/4] Link apps/DSOs against EXECENV_LDLIBS with --as-needed X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Oct 2014 09:16:27 -0000 On Wed, Oct 08, 2014 at 05:38:52PM +0200, Thomas Monjalon wrote: > Please could you explain why patch is needed? > Hi Thomas, Basically this patch just adds missing dependencies to DPDK DSOs. so the DL knows about them. As an example, if we were to build an application against DPDK without adding the libs defined in EXECENV_LDLIBS: -- pre-patch: LD test test_red.o: In function `ovfl_test1': test_red.c:(.text+0x1ac6): undefined reference to `log' test_red.c:(.text+0x1ad3): undefined reference to `ceil' test_red.o: In function `perf2_test': test_red.c:(.text+0x2314): undefined reference to `pow' test_red.o: In function `func_test3': test_red.c:(.text+0x28d7): undefined reference to `pow' test_red.o: In function `func_test6': test_red.c:(.text+0x324c): undefined reference to `pow' dpdk/x86_64-native-linuxapp-gcc/lib/libintel_dpdk.so: undefined reference to `dlopen' dpdk/x86_64-native-linuxapp-gcc/lib/libintel_dpdk.so: undefined reference to `log2' dpdk/x86_64-native-linuxapp-gcc/lib/libintel_dpdk.so: undefined reference to `dlerror' dpdk/x86_64-native-linuxapp-gcc/lib/libintel_dpdk.so: undefined reference to `round' -- post-patch: LD test /usr/bin/ld: test_red.o: undefined reference to symbol 'log@@GLIBC_2.2.5' /usr/bin/ld: note: 'log@@GLIBC_2.2.5' is defined in DSO /lib64/libm.so.6 so try adding it to the linker command line /lib64/libm.so.6: could not read symbols: Invalid operation Thanks, Sergio > -- > Thomas