01/11/2018 15:59, Richardson, Bruce: > > -----Original Message----- > > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Thomas Monjalon > > Sent: Thursday, November 1, 2018 2:40 PM > > To: Hunt, David <david.h...@intel.com> > > Cc: dev@dpdk.org > > Subject: Re: [dpdk-dev] JSON compilation in examples/vm_power_manager > > > > 01/11/2018 15:26, Hunt, David: > > > Hi Thomas, > > > > > > > > > On 1/11/2018 10:47 AM, Thomas Monjalon wrote: > > > > Hi Dave, > > > > > > > > In examples/vm_power_manager/Makefile, jansson lib availability is > > > > detected with pkg-config --exists. > > > > As we have seen for telemetry lib, we can detect jansson for the > > > > wrong arch and enable it no matter the arch being compiled. > > > > > > > > The solution was to disable it in Makefile and use meson for > > > > reliable dependency detection. > > > > > > > > Would you like to do the same for this app? > > > > > > > > > > > > > > I would prefer that if the user is cross compiling or selecting a > > > different target, that they set up their environment variables > > > correctly for compilation. In this case, the user should set > > > PKG_CONFIG_LIBDIR to point to the relevant library folder, e.g. for an > > > i386 build: > > > > > > export PKG_CONFIG_LIBDIR=/usr/lib/i386-linux-gnu/pkgconfig > > > > > > That way the Makefile will pick up the correct library if it's > > > present, and build without the library if it is not present. > > > > > > Also, if DPDK is being built natively on a machine, the makefile > > > should be fine as it is. > > > > > > So, how about I create a patch to add a few lines to the docs around > > > compilation describing how to set up PKG_CONFIG_LIBDIR correctly for > > > the vm_power_manager sample app? > > > > I think it was the solution I thought about for telemetry. > > But in the case of multilib installation (x86_64/i686), we do not have > > such separate directory. > > Actually, we do. First two outputs from "find /usr -name pkgconfig -type d" > > /usr/lib/pkgconfig > /usr/lib64/pkgconfig > > 32-bit pkgconfig files go in the former, 64-bit in the latter. Unfortunately > there > doesn't appear to be a flag to tell pkgconfig which set of libs you are > looking > for, you have to set the libdir appropriately. > > > I think the only reliable solution is to test compilation as autotools or > > meson do. > > > Even then, with meson, when doing a multi-lib compile, you need to set the > appropriate PKG_CONFIG_LIBDIR value when you pass in -m32 with your CFLAGS. > [When doing a multi-lib compile using a cross-file, things are different, > and it's not necessary]
OK, let's document it then. Thanks