Skip to content

Conversation

@geaaru
Copy link

@geaaru geaaru commented Feb 12, 2019

With meson integration and in the next releases in the DPDK library
libdpdk.so and in will no more available. Libraries to link can be
retrieved with pkg-config --libs libdpdk command.

@geaaru geaaru force-pushed the fix-dpdk-meson-integration branch from 3aa1c7e to 2547757 Compare February 12, 2019 16:20
@istokes
Copy link
Contributor

istokes commented Feb 14, 2019

Support for pkg-config has been upstreamed to OVS master with the followng commit

5b5aa2d ("acinclude: Also use LIBS from dpkg pkg-config")

As such I don't think this pull-request is required.

@istokes istokes closed this Feb 14, 2019
@geaaru
Copy link
Author

geaaru commented Feb 14, 2019

It's only a detail but this: 5b5aa2d#diff-a5522b90382504dc530177f63ced5209R230 will not be available. With Meson libdpdk.so will not be available anymore.

@istokes
Copy link
Contributor

istokes commented Feb 14, 2019

Apologies, maybe I've misunderstood, can you elaborate further by what you mean 'libdpdk.so will not be available anymore' ?

Do you mean that meson doesn't create a libdpdk.so? From what I'm aware, 'make' is still the primary tool recommend by DPDK for building, so libdpdk.so should still be available via the usual methods when building DPDK but not through meson.

@istokes istokes reopened this Feb 14, 2019
@geaaru
Copy link
Author

geaaru commented Feb 14, 2019

hi, i spoke with DPDK devs. They said me that meson will be the only way for compile DPDK library. Gmake/make will be deprecated.

About libdpdk.so, now this library is a textual tips to avoid user linking of every DPDK libraries (if you open file with vim or another editor you can see something like this: GROUP ( lib1.so lib2.so ).

It only helps the users.

With meson, libdpdk.so is not available anymore because with pkg-config you can retrieve the list of all libraries in a more easy way and so will be dropped.

@istokes
Copy link
Contributor

istokes commented Feb 14, 2019

So yes, make will be deprecated, but this is targeted for DPDK 19.11 (at least that was the target provided when I raised the issue at the DPDK Community Release meeting this morning), from what I'm aware 'make' will remain as read only.

I'm also aware that some distros within the community will not be moving to meson quite yet due to dependencies on required packages not be supported in particular packages they provide, so the make method will still have to be used for them in that case.

From the OVS point of view, the next DPDK supported will be 19.11 as OVS sticks to DPDK LTS releases so it's a little while out yet but your right, it's something that will have to be considered when moving to 19.11.

@geaaru
Copy link
Author

geaaru commented Feb 14, 2019

But I think that this depends on distro. If you compile dpdk with meson also on 18.11 you have the same problems.

Probably, my patch could be more efficient if try to handle both worlds (meson and make).

For example, I created ebuild for Gentoo and Sabayon distro with already meson.

@istokes
Copy link
Contributor

istokes commented Feb 14, 2019

Sure, but see below taken from the 18.11 meson build notes in DPDK

NOTE: Compiling and installing DPDK using meson and ninja, rather
than using make (GNU make) is EXPERIMENTAL. Official builds of DPDK
should always be done using make, as described in the Getting Started Guide documentation, and at "http://core.dpdk.org/doc/quick-start".

As you pointed out, distros may choose to build with meson but with the above caveat considered. Using the existing make functionality will still work for 18.11 (and is required for distros that do not support meson).

Note that the original pull request for your patch caused all OVS DPDK builds to fail in the OVS travis job, this would have to be fixed in your patch.

If you have changes required for the gentoo build to support both make and meson I'd be happy to review them when you submit them, but it would have to provide a clean build for OVS travis also.

@geaaru
Copy link
Author

geaaru commented Feb 14, 2019

NOTE: Compiling and installing DPDK using meson and ninja, rather
than using make (GNU make) is EXPERIMENTAL. Official builds of DPDK
should always be done using make, as described in the Getting Started Guide documentation, and at "http://core.dpdk.org/doc/quick-start".

:) This is the reason because I asked to DPDK devs team to change that notes. I will push again for this.

Ok, yeah, I try to prepare the fix in the next days. I will appreciate your help to fix all Travis task.

@geaaru
Copy link
Author

geaaru commented Feb 14, 2019

As additional information for the thread, here the commit related to updating of meson as default technology:

DPDK/dpdk@7c383da

Drop of the Make is yet under discussion.

@geaaru geaaru force-pushed the fix-dpdk-meson-integration branch 2 times, most recently from e132666 to 35aae57 Compare February 16, 2019 22:00
With meson integration the libdpdk.so will no more available
and pkg-config tool must be used for retrieve list of
libraries to link.

For now both meson and gmake/make solutions are supported
but I try to use first pkg-config.

Signed-off-by: Daniele Rondina <geaaru@gmail.com>
@geaaru geaaru force-pushed the fix-dpdk-meson-integration branch from 35aae57 to d442b72 Compare February 17, 2019 08:43
@geaaru
Copy link
Author

geaaru commented Feb 18, 2019

@istokes let me know WDYT of my changes. Now, it seems all good by Travis. Thanks.

@istokes
Copy link
Contributor

istokes commented Feb 19, 2019

Thanks for the update, there's ongoing work on the mailing list around this from other distros over the last week, I'm not sure they;re aware of this, can I ask you to flag the pull request on the mailing list (you can email myself but just cc ovs-dev@openvswitch.org), I dont see an issue but I'd like to ensure others are ok with the change also, if its ok we can add it for the 2.11 release then as well as master.

@geaaru
Copy link
Author

geaaru commented Feb 19, 2019

done ;)

@geaaru
Copy link
Author

geaaru commented Feb 19, 2019

As described on ml a workaround for this is to set PKG_CONFIG_PATH with a custom path of DPDK library installation.

@geaaru geaaru closed this Feb 19, 2019
@geaaru geaaru deleted the fix-dpdk-meson-integration branch February 19, 2019 11:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants