[PATCH] config: set pkgconfig for ppc64le

Thinh Tran thinhtr at linux.vnet.ibm.com
Wed Jul 13 21:49:34 CEST 2022


Hi,

On 7/13/2022 2:39 AM, Ali Alnubani wrote:
>> -----Original Message-----
>> From: Thomas Monjalon <thomas at monjalon.net>
>> Sent: Monday, July 11, 2022 11:11 PM
>> To: Ali Alnubani <alialnu at nvidia.com>
>> Cc: dev at dpdk.org; David Christensen <drc at linux.vnet.ibm.com>
>> 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 <alialnu at nvidia.com>
>>> ---
>>>   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

Regards,
Thinh Tran


More information about the dev mailing list