[bug-report]rdma-core v51.0 build error with Rocky Linux 8.8

Marciniszyn, Mike
2024-05-16T19:48:10Z

Seen on Rocky Linux 8.8 with rdma-core v51.0.

I suspect 8.9 shows the same issue and I know the RC for RHEL 8.10 does as well.

The cmake version is 3.20.2.

The linux kernel version and hardware is not relevant since this is a cmake/build issue.

The hardware is also not relevant.

To reproduce:
1. download an untar the v51.0 tar ball to ~
cd ~
wget https://github.com/linux-rdma/rdma-core/releases/download/v51.0/rdma-core-51.0.tar.gz
tar -zxvf tar -zxvf rdma-core-51.0.tar.gz
2. create the following directories
mkdir -p ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS,OTHER}
3. copy the spec file
cp cp rdma-core-51.0/redhat/rdma-core.spec ~/rpmbuild/SPECS
4. Create SOURCES
tar -zcvf ~/rpmbuild/SOURCES/rdma-core-51.0.tar.gz rdma-core-51.0
5. load build dependencies
ensure AppStream, BaseOS, PowerTools repos are accessible
sudo dnf install -y dnf-plugins-core rpm-build
cd ~/rpmbuild/SPECS
sudo dnf builddep -y rdma-core.spec
6. Load an additional pythion interpreter
sudo dnf install python39
6. do the build
rpmbuild -ba rdma-core.spec

The build gets the following errors:
error: File not found: /home/mmarcini/rpmbuild/BUILDROOT/rdma-core-51.0-1.el8.x86_64/usr/lib64/python3.6/site-packages/pyverbs
error: File not found: /home/mmarcini/rpmbuild/BUILDROOT/rdma-core-51.0-1.el8.x86_64/usr/share/doc/rdma-core/tests/*.py

RPM build errors:
File not found: /home/mmarcini/rpmbuild/BUILDROOT/rdma-core-51.0-1.el8.x86_64/usr/lib64/python3.6/site-packages/pyverbs
File not found: /home/mmarcini/rpmbuild/BUILDROOT/rdma-core-51.0-1.el8.x86_64/usr/share/doc/rdma-core/tests/*.py

Earlier in the build this is seen:
-- Found Python: /usr/bin/python3.9 (found version "3.9.16") found components: Interpreter
-- Could NOT find cython (missing: CYTHON_EXECUTABLE CYTHON_VERSION_STRING)

The issue appears to have been introduced by:
1462a8737 build: Fix cmake warning

cmake appears to find the 3.9 python despite having:
-DPYTHON_EXECUTABLE:PATH=%{__python3}

The issue will impact 8.10 because valgrind-deve/valgrind will bring in python3.11 100% of the time.

Mike