From patchwork Thu May 3 14:20:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shahar Salzman X-Patchwork-Id: 39317 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 515BF20BD; Thu, 3 May 2018 16:20:41 +0200 (CEST) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50098.outbound.protection.outlook.com [40.107.5.98]) by dpdk.org (Postfix) with ESMTP id ED962DD2 for ; Thu, 3 May 2018 16:20:39 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=KAMINARIO.onmicrosoft.com; s=selector1-kaminario-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=AoFRvN7MS5/uQOsg0suLJ9g1ka/849GKwaNibVFmxx4=; b=KBo+svlv8xs/6q5+q+W03bcAdP87LKfK0+XtOVDu5LuIUyxwPwiwaK3Cn9fLarprRbGiPp3dlJ3bzHj7RLddn245MR22Cp2CgOeuxGnPlO8uo+wNX4cPqoeXQ77ytG5aOKxMkOy32v8BSX+6flGTRGKdm9Q+2DYoP3FIZjH7Eu8= Received: from AM3PR04MB370.eurprd04.prod.outlook.com (10.242.111.141) by AM3PR04MB0645.eurprd04.prod.outlook.com (10.255.248.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.715.23; Thu, 3 May 2018 14:20:37 +0000 Received: from AM3PR04MB370.eurprd04.prod.outlook.com ([fe80::7c1a:d783:b8e0:f7fe]) by AM3PR04MB370.eurprd04.prod.outlook.com ([fe80::7c1a:d783:b8e0:f7fe%6]) with mapi id 15.20.0735.016; Thu, 3 May 2018 14:20:36 +0000 From: Shahar Salzman To: "dev@dpdk.org" Thread-Topic: Compiling DPDK with CentOS6 Thread-Index: AQHT4ufERIgF/7KdKEenNzQKrZqH0g== Date: Thu, 3 May 2018 14:20:36 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=shahar.salzman@kaminario.com; x-originating-ip: [80.179.89.178] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; AM3PR04MB0645; 7:4qVr+hWCaTZCzETL7KLhIbAn4NiSPosskyUEzEQ1r4b5SCIkuWPGNkTk319tvZod9IwOV6j6VJtPtLvUxie1TzWFVSj8tjBWYw/rRLY0vRb1Q+2FXCwh2o0DKgsQGPJm1dGOgj8NUw6fPBC3yV0qhTRyeuzABWNrodYpF/b/lIIgrySukC/OmNbLnzAJ3nwlzURYxabvLfpfjDOJ4Yg0RxkkC5ntqqb6UBtP6qr1KL0he+cpYZhne/qZd/6S37PW x-ms-exchange-antispam-srfa-diagnostics: SOS; x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020); SRVR:AM3PR04MB0645; x-ms-traffictypediagnostic: AM3PR04MB0645: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(182148157556303); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040522)(2401047)(5005006)(8121501046)(3231254)(944501410)(52105095)(3002001)(10201501046)(93006095)(93001095)(6041310)(20161123560045)(20161123558120)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:AM3PR04MB0645; BCL:0; PCL:0; RULEID:; SRVR:AM3PR04MB0645; x-forefront-prvs: 066153096A x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(346002)(39860400002)(376002)(396003)(39380400002)(366004)(199004)(189003)(33656002)(6506007)(9686003)(54896002)(2900100001)(486006)(99286004)(7696005)(68736007)(5250100002)(44832011)(6436002)(476003)(55016002)(74316002)(7736002)(14454004)(81166006)(81156014)(2501003)(86362001)(8676002)(5660300001)(5640700003)(8936002)(1730700003)(53936002)(97736004)(105586002)(106356001)(2351001)(26005)(25786009)(59450400001)(316002)(6606003)(186003)(3846002)(478600001)(6916009)(3660700001)(66066001)(6116002)(102836004)(3280700002)(19627405001)(2906002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM3PR04MB0645; H:AM3PR04MB370.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: kaminario.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: eW3wF4coyyOnnDzIqBZsCs8MqbNbQPfI76kwLPi80ZEJxK9YND2971vgbjVNSAWgSB8xu3aU4uMZD0sK+WxIz/nFUrDQGQ+rLQ9tclTrNGbALVy+jCd9CEW6qYopO73R7juz3R0zSIwykgPrrqim9viVz5nCb7H6Cad6QyejjXFXVYmGsglHU87hzvti5QFp spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: c8c9e384-4442-4e9b-60ee-08d5b1010a5c X-OriginatorOrg: kaminario.com X-MS-Exchange-CrossTenant-Network-Message-Id: c8c9e384-4442-4e9b-60ee-08d5b1010a5c X-MS-Exchange-CrossTenant-originalarrivaltime: 03 May 2018 14:20:36.8532 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4a3c5477-cb0e-470b-aba6-13bd9debb76b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM3PR04MB0645 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-dev] Compiling DPDK with CentOS6 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi experts! This is my first post on this list, apologize if I am posting in the wrong dpdk list, or if this is not relevant. I am using spdk, hence dpdk. Following the termination of CentOS6 support, I did some work in order to get dpdk to work on CentOS6 (gcc version 4.4.7). I had to remove some of the modules due to compilation errors, use -fno-strict-aliasing to avoid non issues dereferencing void* arrays and a single patch in the code which has to do with the way my gcc handles the attribure deprecated. I did all my work on dpdk tag v18.02. Would you consider taking some of this to dpdk? It would be really helpful for us to maintain support for CentOS6 and its toolchain, at least in the near future, and we would like to use the latest dpdk stable. Here are the modules I removed (obviously this is only a pointer to others): shahar.salzman@shahars-vm:~/Kaminario/git/dpdk$ git show dpdk_v18.02~1 | grep "\=n" @@ -370,7 +370,7 @@ CONFIG_RTE_LIBRTE_PMD_AF_PACKET=n +CONFIG_RTE_LIBRTE_PMD_BOND=n CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB=n CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB_L1=n @@ -441,7 +441,7 @@ CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW=n +CONFIG_RTE_LIBRTE_CRYPTODEV=n CONFIG_RTE_LIBRTE_CRYPTODEV_DEBUG=n @@ -537,7 +537,7 @@ CONFIG_RTE_LIBRTE_PMD_MRVL_CRYPTO_DEBUG=n +CONFIG_RTE_LIBRTE_SECURITY=n @@ -556,12 +556,12 @@ CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV_DEBUG=n +CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV=n +CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF=n +CONFIG_RTE_LIBRTE_LPM=n CONFIG_RTE_LIBRTE_LPM_DEBUG=n +CONFIG_RTE_LIBRTE_FLOW_CLASSIFY=n @@ -755,13 +755,13 @@ CONFIG_RTE_PORT_PCAP=n +CONFIG_RTE_LIBRTE_TABLE=n CONFIG_RTE_TABLE_STATS_COLLECT=n +CONFIG_RTE_LIBRTE_PIPELINE=n CONFIG_RTE_PIPELINE_STATS_COLLECT=n @@ -805,7 +805,7 @@ CONFIG_RTE_PROC_INFO=n +CONFIG_RTE_TEST_PMD=n CONFIG_RTE_TEST_PMD_RECORD_CORE_CYCLES=n CONFIG_RTE_TEST_PMD_RECORD_BURST_STATS=n +CONFIG_RTE_LIBRTE_PMD_TAP=n +CONFIG_RTE_LIBRTE_AVP_PMD=n Here is the patch which fixes the deprecated attribute support: commit f218129f0584f8d94f61071ff5b759605f6cf52e Author: shahar salzman Date: Tue Apr 24 10:45:34 2018 +0300 RHEL 6.4 support - use previous 'deprecated' attibute API Signed-off-by: shahar salzman Thanks, Shahar diff --git a/lib/librte_compat/rte_compat.h b/lib/librte_compat/rte_compat.h index 92ff28f..f355a1c 100644 --- a/lib/librte_compat/rte_compat.h +++ b/lib/librte_compat/rte_compat.h @@ -78,11 +78,15 @@ #ifndef ALLOW_EXPERIMENTAL_API +#if (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(6, 4)) #define __rte_experimental \ __attribute__((deprecated("Symbol is not yet part of stable ABI"), \ section(".text.experimental"))) #else +#define __rte_experimental __attribute__((deprecated)) __attribute__((section(".text.experimental"))) +#endif +#else #define __rte_experimental \ __attribute__((section(".text.experimental"))) diff --git a/lib/librte_eal/common/include/rte_common.h b/lib/librte_eal/common/include/rte_common.h index c7803e4..5941971 100644 --- a/lib/librte_eal/common/include/rte_common.h +++ b/lib/librte_eal/common/include/rte_common.h @@ -453,4 +453,12 @@ rte_exit(int exit_code, const char *format, ...) } #endif +#ifndef RHEL_RELEASE_VERSION +#define RHEL_RELEASE_VERSION(a,b) (((a) << 8) + (b)) +#endif + +#ifndef RHEL_RELEASE_CODE +#define RHEL_RELEASE_CODE (0) +#endif + #endif