From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5F03BA0032; Wed, 20 Jul 2022 01:02:19 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0468C40A7A; Wed, 20 Jul 2022 01:02:19 +0200 (CEST) Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by mails.dpdk.org (Postfix) with ESMTP id EC11A40697 for ; Wed, 20 Jul 2022 01:02:17 +0200 (CEST) Received: from pps.filterd (m0098410.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 26JMuNUP005165; Tue, 19 Jul 2022 23:02:16 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : date : subject : to : cc : references : from : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pp1; bh=zeKnqcfZVkCuPW63JDNm8QlfkMzw5eGjbAktHrlzvss=; b=ILK1OWphck5aya4fhKNucCX8f1+vXUKAeO5kiw0H7dMgrXKHpvZI+ym6YyrImmznTVfe Puk18iQ/c5ROaQk4zKFzYNrib6VjFODICFOh/99M8/TFLRAmcwpbXABpf1X+FjDzdRCT ELXfnc5WGWrypRi26nBGUP6x6KYPbx04J9rKw5KRqJDOrhnHPp8Ea5ZzRyTMlN2PhHwW a7tw4HTGfIpv0pQnG7okuTOlp+p527sPbnH54N9KPW4kE13bvbCfRDBrnCoq/35Fod5+ NauPY2s1odmVxRvQmS2j4RTMF50YhplU68wQ1G0GZGwacWS79GHtlWXQu1Ll79Js/dd8 NA== Received: from ppma02dal.us.ibm.com (a.bd.3ea9.ip4.static.sl-reverse.com [169.62.189.10]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3he5ung3e4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 19 Jul 2022 23:02:16 +0000 Received: from pps.filterd (ppma02dal.us.ibm.com [127.0.0.1]) by ppma02dal.us.ibm.com (8.16.1.2/8.16.1.2) with SMTP id 26JMpfQI012193; Tue, 19 Jul 2022 23:02:15 GMT Received: from b03cxnp08027.gho.boulder.ibm.com (b03cxnp08027.gho.boulder.ibm.com [9.17.130.19]) by ppma02dal.us.ibm.com with ESMTP id 3hbmy9kkds-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 19 Jul 2022 23:02:15 +0000 Received: from b03ledav006.gho.boulder.ibm.com (b03ledav006.gho.boulder.ibm.com [9.17.130.237]) by b03cxnp08027.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 26JN2EhL21037694 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 19 Jul 2022 23:02:14 GMT Received: from b03ledav006.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9D67AC6070; Tue, 19 Jul 2022 23:02:14 +0000 (GMT) Received: from b03ledav006.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 58F29C6072; Tue, 19 Jul 2022 23:02:14 +0000 (GMT) Received: from [9.163.19.111] (unknown [9.163.19.111]) by b03ledav006.gho.boulder.ibm.com (Postfix) with ESMTP; Tue, 19 Jul 2022 23:02:14 +0000 (GMT) Message-ID: Date: Tue, 19 Jul 2022 16:02:13 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: Re: [PATCH] config: set pkgconfig for ppc64le Content-Language: en-US To: Thinh Tran , Ali Alnubani , "NBU-Contact-Thomas Monjalon (EXTERNAL)" Cc: "dev@dpdk.org" References: <20220707114128.1635863-1-alialnu@nvidia.com> <10833404.lRi8OiJO2u@thomas> <108d23bd-30f2-b1e9-6e0c-7d9f77d04049@linux.vnet.ibm.com> From: David Christensen In-Reply-To: <108d23bd-30f2-b1e9-6e0c-7d9f77d04049@linux.vnet.ibm.com> Content-Type: text/plain; charset=UTF-8; format=flowed X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: 72BeLcgJNCBPtPw88gC1DWI49_uzGW3J X-Proofpoint-GUID: 72BeLcgJNCBPtPw88gC1DWI49_uzGW3J Content-Transfer-Encoding: 8bit X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.883,Hydra:6.0.517,FMLib:17.11.122.1 definitions=2022-07-19_10,2022-07-19_01,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 adultscore=0 impostorscore=0 bulkscore=0 clxscore=1011 lowpriorityscore=0 mlxscore=0 malwarescore=0 mlxlogscore=999 suspectscore=0 priorityscore=1501 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2206140000 definitions=main-2207190094 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On 7/18/22 1:16 PM, Thinh Tran wrote: > > > On 7/14/2022 1:58 AM, Ali Alnubani wrote: >>> -----Original Message----- >>> From: Thinh Tran >>> Sent: Wednesday, July 13, 2022 10:50 PM >>> To: Ali Alnubani ; NBU-Contact-Thomas Monjalon >>> (EXTERNAL) >>> Cc: dev@dpdk.org; David Christensen >>> Subject: Re: [PATCH] config: set pkgconfig for ppc64le >>> >>> Hi, >>> >>> On 7/13/2022 2:39 AM, Ali Alnubani wrote: >>>>> -----Original Message----- >>>>> From: Thomas Monjalon >>>>> Sent: Monday, July 11, 2022 11:11 PM >>>>> To: Ali Alnubani >>>>> Cc: dev@dpdk.org; David Christensen >>>>> Subject: Re: [PATCH] config: set pkgconfig for ppc64le >>>>> >>>>> + PPC maintainer >>>>> >>>>> 07/07/2022 13:41, Ali Alnubani: >>>>>> Meson fails to detect the dependencies that are included >>>>>> in PKG_CONFIG_PATH and built for ppc64le if binaries.pkgconfig >>>>>> is not set in the ppc64le cross-file for Ubuntu. >>>>>> >>>>>> This fixes the issue by setting binaries.pkgconfig to the >>>>>> binary provided by the package 'pkg-config-powerpc64le-linux-gnu'. >>>>>> >>>>>> Signed-off-by: Ali Alnubani >>>>>> --- >>>>>>    config/ppc/ppc64le-power8-linux-gcc-ubuntu | 1 + >>>>> >>>>> Why not adding the same for ppc64le-power8-linux-gcc? >>>>> >>>>>> +pkgconfig = 'powerpc64le-linux-gnu-pkg-config' >>>> >>>> I didn't find any operating systems that distribute the powerpc64le >>>> cross- >>> compiler with the binary names found in config/ppc/ppc64le-power8-linux- >>> gcc. >>>> Both Ubuntu and Fedora use the -gnu suffix. Fedora doesn't seem to have >>> a pkg-config binary for powerpc64le though. >>> >>> I am able to cross-compile dpdk on Ubuntu with the default config file >>> My system info: >>> # uname -rvm >>>    5.4.0-113-generic #127-Ubuntu SMP Wed May 18 14:30:56 UTC 2022 x86_64 >>> >>> # apt list gcc-10-powerpc64le-linux-gnu | grep installed >>> gcc-10-powerpc64le-linux-gnu/focal-updates,focal-security,now >>> 10.3.0-1ubuntu1~20.04cross1 amd64 [installed] >>> # which powerpc64le-linux-gnu-gcc >>> /usr/bin/powerpc64le-linux-gnu-gcc >>> # ls -l /usr/bin/powerpc64le-linux-gnu-gcc >>> lrwxrwxrwx 1 root root 37 Jul 13 11:56 >>> /usr/bin/powerpc64le-linux-gnu-gcc -> >>> /usr/bin/powerpc64le-linux-gnu-gcc- >>> 10 >>> >>> # apt list pkg-config | grep installed >>> pkg-config/focal,now 0.29.1-0ubuntu4 amd64 [installed] >>> >>> # meson cross-build_p8 --cross-file >>> config/ppc/ppc64le-power8-linux-gcc-ubuntu >>> The Meson build system >>> Version: 0.56.2 >>> Source dir: /root/dpdk >>> Build dir: /root/dpdk/cross-build_p8 >>> Build type: cross build >>> Program cat found: YES (/bin/cat) >>> Project name: DPDK >>> Project version: 22.07.0-rc4 >>> C compiler for the host machine: powerpc64le-linux-gnu-gcc (gcc 10.3.0 >>> "powerpc64le-linux-gnu-gcc (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0") >>> C linker for the host machine: powerpc64le-linux-gnu-gcc ld.bfd 2.34 >>> C compiler for the build machine: cc (gcc 9.4.0 "cc (Ubuntu >>> 9.4.0-1ubuntu1~20.04.1) 9.4.0") >>> C linker for the build machine: cc ld.bfd 2.34 >>> Build machine cpu family: x86_64 >>> Build machine cpu: x86_64 >>> Host machine cpu family: x86_64 >>> Host machine cpu: x86_64 >>> Target machine cpu family: ppc64 >>> Target machine cpu: power8 >>> Program pkg-config found: YES (/usr/bin/pkg-config) >>> Program check-symbols.sh found: YES (/root/dpdk/buildtools/check- >>> symbols.sh) >>> Program options-ibverbs-static.sh found: YES >>> (/root/dpdk/buildtools/options-ibverbs-static.sh) >>> Program objdump found: YES (/usr/bin/objdump) >>> Program python3 found: YES (/usr/bin/python3) >>> Program cat found: YES (/bin/cat) >>> Program ../buildtools/symlink-drivers-solibs.sh found: YES (/bin/sh >>> /root/dpdk/config/../buildtools/symlink-drivers-solibs.sh) >>> Checking for size of "void *" : 8 >>> Checking for size of "void *" : 8 >>> ...... >>> Build targets in project: 851 >>> >>> Found ninja-1.10.0 at /usr/bin/ninja >>> # ninja -C cross-build_p8 >>> ninja: Entering directory `cross-build_p8' >>> [2933/2933] Linking target app/test/dpdk-test >>> >>> similar to it, I'm able to build for power9 >>> >> >> Hi Thinh, >> >> I'm also able to cross-build for ppc64 on Ubuntu, but without setting >> binaries.pkgconfig, meson will skip some build targets, even if >> PKG_CONFIG_PATH points to their dependencies. >> Have you tried on Fedora? As Thinh points out, you can't cross-compile for ppc64le on Fedora with distro supplied packages. Ran across this question about the issue relative to ARM on the Fedora Project website: https://ask.fedoraproject.org/t/cross-compiling-to-arm/17864/12 And also confirmed internally with our toolchain developers that you'd need glibc support which isn't provided in the existing Fedora packages. Consensus seems to be that Fedora cross-compile is for kernels/bootloaders only, though I'd love to hear from someone at Red Hat if I'm mistaken. Ubuntu/Debian do support the functionality, so you could try those environments (as used by Github Actions for DPDK commits), use a third party toolchain such as those found on: https://toolchains.bootlin.com/releases_powerpc64le-power8.html Or you could use the IBM Advanced Toolchain for POWER: https://www.ibm.com/support/pages/advtool-cross-compilers Dave