From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id CF1742BD5 for ; Tue, 13 Nov 2018 10:39:25 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Nov 2018 01:39:24 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,498,1534834800"; d="scan'208";a="103937118" Received: from aburakov-mobl1.ger.corp.intel.com (HELO [10.252.9.8]) ([10.252.9.8]) by fmsmga002.fm.intel.com with ESMTP; 13 Nov 2018 01:39:23 -0800 To: Thomas Monjalon , "Burdick, Cliff" Cc: dev@dpdk.org References: <03A7D9A58FAFB54FBB01FEE199D7308A0134B8EE1F@wdc1exchmbxp02.hq.corp.viasat.com> <2381267.oLnQdW0j6H@xps> From: "Burakov, Anatoly" Message-ID: <1fb8df6f-8056-5e79-1a77-e17b6383ca1c@intel.com> Date: Tue, 13 Nov 2018 09:39:23 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <2381267.oLnQdW0j6H@xps> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH 1/1] eal: Don't fail secondary if primary is missing tailqs 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: , X-List-Received-Date: Tue, 13 Nov 2018 09:39:26 -0000 On 13-Nov-18 9:21 AM, Thomas Monjalon wrote: > 13/11/2018 00:33, Burdick, Cliff: >> This patch was submitted by Jean Tourrilhes over two years ago, but didn't receive any responses. I hit the same issue recently when trying to use cgo (Golang) as a primary process linked to libdpdk.a against a C++ application linked against the same library. > > The question is to know why you don't have the same constructors in primary and seconday? > I've hit similar things in the past. I believe it was caused by our build system stripping out unused libraries (such as rte_hash) from the binary and thus not calling the constructor in the primary, but doing so in the secondary (or something to that effect). In any case, this is caused by linking different number of libraries to primary and secondary, and should probably be fixed in the build system, not in the tailqs code (unless we specifically support having different linked libraries to primary and secondary?). -- Thanks, Anatoly