FS#63134 - [cuda] missing .pc files for pkg-config

Attached to Project: Community Packages
Opened by Wenbo Qiu (crab2313) - Tuesday, 09 July 2019, 08:31 GMT
Last edited by Sven-Hendrik Haase (Svenstaro) - Monday, 06 April 2020, 04:10 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Sven-Hendrik Haase (Svenstaro)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description:

cuda-10.1.pc and cudart-10.1.pc are missing. They are required to build gst-plugins-bad's nvenc plugin on archlinux.

Additional info:
* package version(s) 10.1.168-4
This task depends upon

Closed by  Sven-Hendrik Haase (Svenstaro)
Monday, 06 April 2020, 04:10 GMT
Reason for closing:  Fixed
Comment by Sven-Hendrik Haase (Svenstaro) - Friday, 19 July 2019, 12:45 GMT
Thanks for the report. Is there a chance you can make a patch? If not, I'll take a look but it'll likely take some time.
Comment by David Alvarez (ReyJamonico) - Tuesday, 26 November 2019, 16:33 GMT
Hi,

It would be awesome to include this. I have uploaded the .pc files I personally use for CUDA 10.1, which work *for me*, just in case anybody else needs them.

@Svenstaro, it would be awesome to have this included in the ABS. I can spend a little bit of time making a patch and testing it if needed.
Comment by Eli Schwartz (eschwartz) - Wednesday, 27 November 2019, 03:04 GMT
> They are required to build gst-plugins-bad's nvenc plugin on archlinux.

Where do these pc files usually come from, if they are missing in our package?

Uploading some personal files you happen to use, seems like a recipe for disaster in terms of reliability and consistency with upstream expectations and the wider cross-distro ecosystem. Is there one somewhere in the official upstream source code?
Comment by Sven-Hendrik Haase (Svenstaro) - Wednesday, 27 November 2019, 06:00 GMT
I'd be happy to include them but I'd like to rather extract them directly from the package somehow. I know they are there, just perhaps tedious to get to.
Comment by David Alvarez (ReyJamonico) - Wednesday, 27 November 2019, 10:45 GMT
> Where do these pc files usually come from, if they are missing in our package?

They are created by the cuda-installer, AFAIK.

> Uploading some personal files you happen to use, seems like a recipe for disaster in terms of reliability and consistency with upstream expectations and the wider cross-distro ecosystem. Is there one somewhere in the official upstream source code?

There is no 'upstream source code'. This package is built from closed-source binary distributed files, that's the point. This files are generated in a binary-only distributed installer, so we cannot infer what they have without running the installer. So either the installer is actually ran in a fakeroot environment (or whatever), and then the files are copied, or they are generated by the PKGBUILD.

Whatever approach is preferred is fine for me, I just uploaded this because currently any software that uses pkg-config to figure out the CUDA RTA/Driver location is broken in Arch Linux.

> I'd be happy to include them but I'd like to rather extract them directly from the package somehow. I know they are there, just perhaps tedious to get to.

Yes, they are there, but it requires running the cuda-installer instead of just extracting the package from the .run.
Comment by huyizheng (huyizheng) - Wednesday, 27 November 2019, 12:04 GMT
If I install cuda from nvidia's official repo on centos, it provides several *.pc file at /usr/lib64/pkgconfig:
cublas-10.pc
cuda-10.2.pc
cudart-10.2.pc
cufft-10.2.pc
cufftw-10.2.pc
cuinj64-10.2.pc
curand-10.2.pc
cusolver-10.2.pc
cusparse-10.2.pc

Which is own by package:
libcublas-devel-10.2.2.89-1.x86_64
cuda-driver-dev-10-2-10.2.89-1.x86_64
cuda-cudart-dev-10-2-10.2.89-1.x86_64
cuda-cufft-dev-10-2-10.2.89-1.x86_64
cuda-cufft-dev-10-2-10.2.89-1.x86_64
cuda-nvprof-10-2-10.2.89-1.x86_64
cuda-curand-dev-10-2-10.2.89-1.x86_64
cuda-cusolver-dev-10-2-10.2.89-1.x86_64
cuda-cusparse-dev-10-2-10.2.89-1.x86_64

These packages can be downloaded at nvidia's official cuda repo: "https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/"
Comment by Sven-Hendrik Haase (Svenstaro) - Monday, 06 April 2020, 04:10 GMT
I whipped up a bunch of pkgconfig files based on the official ones provided by NVIDIA with a few minor Arch-specific modifications. I'll consider the bug closed. Request a re-open if I missed something.

Loading...