> -----Original Message-----
> From: Ilya Maximets <[email protected]>
> Sent: Saturday, July 4, 2020 8:10 PM
> To: Pai G, Sunil <[email protected]>; Ilya Maximets
> <[email protected]>; Richardson, Bruce <[email protected]>;
> [email protected]
> Cc: Stokes, Ian <[email protected]>; [email protected];
> Tummala, Sivaprasad <[email protected]>
> Subject: Re: [PATCH RFC dpdk-latest] build: Add support for DPDK meson
> build.
> 
> On 7/4/20 3:30 PM, Pai G, Sunil wrote:
> >> -----Original Message-----
> >> From: Ilya Maximets <[email protected]>
> >> Sent: Friday, July 3, 2020 11:12 PM
> >> To: Pai G, Sunil <[email protected]>; Ilya Maximets
> >> <[email protected]>; Richardson, Bruce
> <[email protected]>;
> >> [email protected]
> >> Cc: Stokes, Ian <[email protected]>; [email protected];
> >> Tummala, Sivaprasad <[email protected]>
> >> Subject: Re: [PATCH RFC dpdk-latest] build: Add support for DPDK
> >> meson build.
> >>
> >> On 7/3/20 3:57 PM, Pai G, Sunil wrote:
> >>>> -----Original Message-----
> >>>> From: Ilya Maximets <[email protected]>
> >>>> Sent: Thursday, July 2, 2020 9:54 PM
> >>>> To: Pai G, Sunil <[email protected]>; Richardson, Bruce
> >>>> <[email protected]>; Ilya Maximets <[email protected]>;
> >>>> [email protected]
> >>>> Cc: Stokes, Ian <[email protected]>; [email protected];
> >>>> Tummala, Sivaprasad <[email protected]>
> >>>> Subject: Re: [PATCH RFC dpdk-latest] build: Add support for DPDK
> >>>> meson build.
> >>>>
> >>>> On 7/2/20 6:10 PM, Pai G, Sunil wrote:
> >>>>>> -----Original Message-----
> >>>>>> From: Richardson, Bruce <[email protected]>
> >>>>>> Sent: Thursday, July 2, 2020 9:32 PM
> >>>>>> To: Pai G, Sunil <[email protected]>; Ilya Maximets
> >>>>>> <[email protected]>; [email protected]
> >>>>>> Cc: Stokes, Ian <[email protected]>;
> >>>>>> [email protected]; Tummala, Sivaprasad
> >>>>>> <[email protected]>
> >>>>>> Subject: RE: [PATCH RFC dpdk-latest] build: Add support for DPDK
> >>>>>> meson build.
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>> -----Original Message-----
> >>>>>>> From: Pai G, Sunil <[email protected]>
> >>>>>>> Sent: Thursday, July 2, 2020 4:25 PM
> >>>>>>> To: Ilya Maximets <[email protected]>; [email protected]
> >>>>>>> Cc: Stokes, Ian <[email protected]>;
> >> [email protected];
> >>>>>>> Richardson, Bruce <[email protected]>; Tummala,
> >>>>>>> Sivaprasad <[email protected]>
> >>>>>>> Subject: RE: [PATCH RFC dpdk-latest] build: Add support for DPDK
> >>>>>>> meson build.
> >>>>>>>
> >>>>>>>> -----Original Message-----
> >>>>>>>> From: Ilya Maximets <[email protected]>
> >>>>>>>> Sent: Thursday, July 2, 2020 7:26 PM
> >>>>>>>> To: Pai G, Sunil <[email protected]>; [email protected]
> >>>>>>>> Cc: Stokes, Ian <[email protected]>; [email protected];
> >>>>>>>> [email protected]; Richardson, Bruce
> >>>>>>>> <[email protected]>; Tummala, Sivaprasad
> >>>>>>>> <[email protected]>; [email protected]
> >>>>>>>> Subject: Re: [PATCH RFC dpdk-latest] build: Add support for
> >>>>>>>> DPDK meson
> >>>>>>> build.
> >>>>>>>>
> >>>>>>>> On 7/2/20 3:13 PM, Sunil Pai G wrote:
> >>>>>>>>> Make based build is deprecated in DPDK. Meson based build to
> >>>>>>>>> be used for future DPDK releases.
> >>>>>>>>>
> >>>>>>>>> This updates travis, configure script and documentation for
> >>>>>>>>> using DPDK Meson with OVS.
> >>>>>>>>>
> >>>>>>>>> Signed-off-by: Sunil Pai G <[email protected]>
> >>>>>>>>
> >>>>>>>> Thanks for working on this!
> >>>>>>>> Not a full review, just a few quick bits.
> >>>>>>>>
> >>>>>>>> At first, why dpdk-latest?  Is there issue with meson build on
> 19.11?
> >>>>>>>
> >>>>>>> The linker always picked the shared DPDK libraries over static
> >>>>>>> when built with Meson in DPDK-19.11. -Bstatic flag would get
> >>>>>>> jumbled by libtool causing this.
> >>>>>>> Thanks to Bruce, there was recently merged series which fixed a
> >>>>>>> bunch of issues along with this :
> >>>>>>> https://patches.dpdk.org/project/dpdk/list/?series=10690
> >>>>>>> It is requested for a back port of this series to DPDK-19.11.
> >>>>>>>
> >>>>>>>>
> >>>>>>>> Few more comments inline.
> >>>>>>>>
> >>>>>>>> Best regards, Ilya Maximets.
> >>>>>>>>
> >>>>>>>>> ---
> >>>>>>>>>  .travis.yml                           |  3 ++
> >>>>>>>>>  .travis/linux-build.sh                | 37 +++++++++-------
> >>>>>>>>>  .travis/linux-prepare.sh              |  1 +
> >>>>>>>>>  Documentation/intro/install/afxdp.rst |  2 +-
> >>>>>>>>> Documentation/intro/install/dpdk.rst  | 56
> >> ++++++++++++++++++++-
> >>>> --
> >>>>>> -
> >>>>>>>>>  Makefile.am                           |  3 +-
> >>>>>>>>>  acinclude.m4                          | 42 ++++++++++++------
> >>>>>>>>>  parse_pkg_cfg.py                      | 62
> >>>>>>> +++++++++++++++++++++++++++
> >>>>>>>>>  8 files changed, 167 insertions(+), 39 deletions(-)  create
> >>>>>>>>> mode
> >>>>>>>>> 100644 parse_pkg_cfg.py
> >>>>>>>>>
> >>>>>>>>> diff --git a/.travis.yml b/.travis.yml index
> >>>>>>>>> 97249c1ce..46d7ad9bb
> >>>>>>>>> 100644
> >>>>>>>>> --- a/.travis.yml
> >>>>>>>>> +++ b/.travis.yml
> >>>>>>>>> @@ -27,6 +27,9 @@ addons:
> >>>>>>>>>        - selinux-policy-dev
> >>>>>>>>>        - libunbound-dev
> >>>>>>>>>        - libunwind-dev
> >>>>>>>>> +      - python3-setuptools
> >>>>>>>>> +      - python3-wheel
> >>>>>>>>> +      - ninja-build
> >>>>>>>>>
> >>>>>>>>>  before_install: ./.travis/${TRAVIS_OS_NAME}-prepare.sh
> >>>>>>>>>
> >>>>>>>>> diff --git a/.travis/linux-build.sh b/.travis/linux-build.sh
> >>>>>>>>> index 33b359a61..7fa7e738c 100755
> >>>>>>>>> --- a/.travis/linux-build.sh
> >>>>>>>>> +++ b/.travis/linux-build.sh
> >>>>>>>>> @@ -85,17 +85,21 @@ function install_dpdk()  {
> >>>>>>>>>      local DPDK_VER=$1
> >>>>>>>>>      local VERSION_FILE="dpdk-dir/travis-dpdk-cache-version"
> >>>>>>>>> +    local DPDK_OPTS=""
> >>>>>>>>>
> >>>>>>>>> -    if [ -z "$TRAVIS_ARCH" ] ||
> >>>>>>>>> -       [ "$TRAVIS_ARCH" == "amd64" ]; then
> >>>>>>>>> -        TARGET="x86_64-native-linuxapp-gcc"
> >>>>>>>>> -    elif [ "$TRAVIS_ARCH" == "aarch64" ]; then
> >>>>>>>>> -        TARGET="arm64-armv8a-linuxapp-gcc"
> >>>>>>>>> -    else
> >>>>>>>>> +    if [ "$TRAVIS_ARCH" == "aarch64" ]; then
> >>>>>>>>> +        DPDK_OPTS="$DPDK_OPTS --cross-file
> >>>>>>>> config/arm/arm64_armv8_linux_gcc"
> >>>>>>>>
> >>> <snipped>
> >>>>>> Does your travis instance use 16.04 or 18.04? If possible can you
> >>>>>> standardize on a new specific version to get some additional
> >>>>>> benefits. For example, with meson
> >>>>>> 0.54 there is support for "uninstalled" pkg-config files, which
> >>>>>> you can use for linking against a DPDK instance which has not
> >>>>>> been installed on
> >>>> the system.
> >>>>>> [https://mesonbuild.com/Release-notes-for-0-54-
> 0.html#uninstalled
> >>>>>> -
> >>>>>> pkgconfig-files]
> >>>>>> I think that feature may be of interest or of use for the future.
> >>>>>
> >>>>> Currently 16.04 is being used . I tried to moving to 18.04 as well.
> >>>>> But seems like few other test cases which require kernel 3.16 seem
> >>>>> to fail. Probably Ilya/David/Ian could comment if those test cases
> >>>>> can be
> >>>> removed and we could move to 18.04 travis?
> >>>>
> >>>> The incompatibility issue was fixed in v0.53.1 release and should
> >>>> work fine with 0.54 on ubuntu 16.04 without upgrading the base
> >>>> image to
> >> 18.04.
> >>>> So, it makes sense to standardize on 0.54 for now.  Could you,
> >>>> please, try
> >> it?
> >>>
> >>> Thanks, Ilya, for pointing out.
> >>> Although I see that this works on x86 , it fails for aarch64 :( for
> >>> some reason meson doesnt seem to build properly on aarch64:
> >>> https://travis-ci.org/github/Sunil-Pai-G/ovs/builds/704635873
> >>> Please let me know if I might have missed something.
> >>
> >> There is an issue with permissions in aarch64 images on travis:
> >> https://travis-ci.community/t/permission-issue-while-building-wheels-
> >> for-
> >> various-python-packages/7822
> >>
> >> You could try applying following workaround before running pip:
> >>   sudo chown -Rv $USER:$GROUP ~/.cache/pip/wheels
> >>
> >> Best regards, Ilya Maximets.
> >
> > I gave it a try Ilya , still no luck :( Please see :
> > https://travis-ci.org/github/Sunil-Pai-G/ovs/jobs/704908933
> > I tried the solution advised here as well:
> > https://github.com/pydata/bottleneck/issues/281
> > which seemed to be quite like what I am facing , but still end up getting 
> > the
> same error:
> > "Building wheel for ninja (PEP 517): finished with status 'error'"  :(
> >
> 
> According to the log, meson was installed successfully.
> What failed is the attempt to install ninja by pip.  But why you're trying to 
> do
> that?  Why not installing ninja-build by apt as it done in this patch that you
> sent to mail list?

Hi Ilya , 
The minimum ninja version required for meson 0.54 seems to be 1.7.1 which 
surprisingly isn’t available for aarch64 yet on 16.04:
https://mesonbuild.com/Release-notes-for-0-54-0.html#uninstalled-pkgconfig-files
 

aarch64 :
sudo apt-cache madison ninja-build
ninja-build | 1.5.1-0.1ubuntu1 | http://ports.ubuntu.com/ubuntu-ports 
xenial/universe arm64 Packages

amd64:
sudo apt-cache madison ninja-build
ninja-build | 1.7.1-1~ubuntu16.04.1 | 
http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/universe amd64 
Packages
ninja-build | 1.5.1-0.1ubuntu1 | http://us-east-1.ec2.archive.ubuntu.com/ubuntu 
xenial/universe amd64 Packages
ninja-build | 1.5.1-0.1ubuntu1 | http://us-east-1.ec2.archive.ubuntu.com/ubuntu 
xenial/universe Sources
ninja-build | 1.7.1-1~ubuntu16.04.1 | 
http://us-east-1.ec2.archive.ubuntu.com/ubuntu xenial-backports/universe Sources

Hence, I resorted to installing ninja using pip.

An alternative now would be to download and build ninja from source , which I 
was trying to avoid since that will increase build time.
Let me know your thoughts :)

Thanks and regards
Sunil


_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to