> -----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
