Thanks Damjan for pinpointing the issue. By the way, we also packaged DPDK, 
quickly, picotls etc. headers in vpp-dev.
A simple fix could be https://gerrit.fd.io/r/c/19561/
Please confirm if it fixes the issue and is ok.

Also, I am not familiar with the bugfix process for stable branches. The patch 
is against stable/1904 and if it is ok, I'll cherry-picked it against master, 
but I am not sure if I should do the other way (submit to master and 
cherry-pick to stable/1904).

Thanks
ben

> -----Original Message-----
> From: Thomas F Herbert <[email protected]>
> Sent: lundi 13 mai 2019 23:03
> To: Damjan Marion <[email protected]>; Billy <[email protected]>
> Cc: Benoit Ganne (bganne) <[email protected]>; [email protected]
> Subject: Re: [vpp-dev] rdma driver
> 
> 
> 
> 
> 
> On 05/13/2019 01:22 PM, Damjan Marion wrote:
> 
> 
> 
> 
>               On 13 May 2019, at 19:15, Billy <[email protected]
> <mailto:[email protected]> > wrote:
> 
> 
> 
>               On Mon, May 13, 2019 at 10:18 AM Benoit Ganne (bganne) via
> Lists.Fd.Io <http://lists.fd.io/>  <[email protected]
> <mailto:[email protected]> > wrote:
> 
> 
>                       Hi Thomas,
> 
>                       > The external rdma driver includes parts of ib-verbs
> which are provided as
>                       > part of the fedora 30 such as
> /usr/include/rdma/ib_user_verbs.h.
>                       > This prevents installation of vpp on Fedora 30 and
> upgraded Fedora 29.
> 
>                       I think I am trying to understand a similar issue with
> CentOS packaging.
>                       Just to make sure I understand correctly: what you see
> is vpp-deps RPM conflicting on installation with kernel-headers RPM
> because it is trying to install /usr/include/rdma/ib_user_verbs.h, which
> is already provided by kernel-headers. Correct?
> 
> I don't think this is a  problem in the rdma ext driver.
> I think that stuff that used to be in rdma-devel rpm is now in kernel-
> headers as of Fed30. Let me research further.
> 
> 
>                       I think Fedora 30 has moved some headers that used to be
> in the rdma rpm into the kernel-devel package as the Mellanox drivers have
> been mainstreamed. I suspect that this same problem will appear with
> CentOS 8.
> 
> 
> 
>               Yes, that is correct.
> 
>               $ sudo rpm -i build-root/*.rpm
>                 file /usr/include/rdma from install of vpp-devel-19.08-
> rc0~196_g7fe470a54.x86_64 conflicts with file from package kernel-headers-
> 5.0.9-200.fc29.x86_64
>                 file /usr/include/rdma/ib_user_verbs.h from install of vpp-
> devel-19.08-rc0~196_g7fe470a54.x86_64 conflicts with file from package
> kernel-headers-5.0.9-200.fc29.x86_64
> 
> 
>                       If so, I am a little puzzled because packagecloud RPMs
> for CentOS do not include /usr/include/rdma/* files, and the same is true
> when I build those package myself.
> 
> 
> 
>               Fedora packages are different (and newer) than CentOS. So the
> difference is not unusual.
> 
> 
>                       Could you document the steps to reproduce the issue in
> VPP jira: https://jira.fd.io/projects/VPP/
> 
> 
> 
>               https://jira.fd.io/browse/VPP-1674
> 
> 
>       Right solution to this problem will be that VPP RPM packaging stops
> blindly packaging all *.h files into vpp-devel package and it starts using
> CMake components instead.
> 
>       This particular section in extras/rpm/vpp.spec:
> 
>       for dir in $(find %{_mu_build_dir}/%{_vpp_install_dir}/*/include/ -
> maxdepth 0 -type d -print | grep -v dpdk)
>       do
>               for subdir in $(cd ${dir} && find . -type d -print)
>               do
>                       mkdir -p -m755 %{buildroot}/usr/include/${subdir}
>               done
>               for file in $(cd ${dir} && find . -type f -print)
>               do
>                       install -p -m 644 $dir/$file
> %{buildroot}%{_includedir}/$file
>               done
>       done
> 
> I agree on this point. This is legacy code in the spec file that scrapes
> up all the header files is not the best way of doing things.
> Ideally, the RPM packaging the RPM packaging from the cmake files to build
> separate packages for exts and plugins each with its own devel rpm.
> I think the solution to Ben's problem is above though.
> 
> 
> 
> 
> 
> --
> Thomas F Herbert
> NFV and Fast Data Planes
> Networking Group Office of the CTO
> Red Hat
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#13014): https://lists.fd.io/g/vpp-dev/message/13014
Mute This Topic: https://lists.fd.io/mt/31607407/21656
Group Owner: [email protected]
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to