Re: [ATrpms-users] Building nvidia 310 driver for Fedora 16 x86_64

George Galt <[email protected]>
Newsgroups gmane.linux.redhat.rpm.atrpms.devel,gmane.linux.redhat.rpm.atrpms.general
Message-ID <CA+-thJO36caft1bDCJLFKZyZUVSZx1J7Q+p6uKK1TwybTamACA@mail.gmail.com>
Well, I've tried to follow the instructions on the Packaging Guidelines,
but it doesn't seem to have worked for me.  I'm reasonable new to RPM
packaging, so I might be missing something.

I've added
%filter_from_requires '/libnvcuvid.so()(64bit)/d'

after the lines
Requires(post): nvidia-graphics-helpers
%kmdl nvidia-graphics%{version}
%kmdl_parentdependencies

in the .spec file, but it doesn't seem to fix it.  If anyone has any
suggestions on how to proceed, I would appreciate it.

One interesting thing, during building the driver using Paulo's "bkmdl.sh"
script, there is some output that gives both a "Provides" and a "Requires"
line.  For the 304.51 driver, the -libs file is listed as "providing"
libnvcuvid.so.1, and requiring libnvcuvid.so.1.  However, for the 310.19
driver, the -libs file provides "libnvcuvid.so.1" but requires
"libnvcuvid()(64-bit).

George




On Wed, Dec 5, 2012 at 12:33 AM, Chris Schanzle <[email protected]> wrote:

> Mentioned in <http://fedoraproject.org/**wiki/Packaging:Guidelines<http://fedoraproject.org/wiki/Packaging:Guidelines>
> >:
>
> RPM attempts to auto-generate Requires (and Provides) at build time, but
> in some situations, the auto-generated Requires/Provides are not correct or
> not wanted. For more details on how to filter out auto-generated Requires
> or Provides, please see: <http://fedoraproject.org/**wiki/Packaging:**
> AutoProvidesAndRequiresFilteri**ng<http://fedoraproject.org/wiki/Packaging:AutoProvidesAndRequiresFiltering>
> >
>
> Perhaps tweaking the Requires or Provides filters would do the trick.  Or
> add/remove directories from scanning.
>
> Thanks for working on this!
>
>
>
> On 12/04/2012 03:19 PM, George Galt wrote:
>
>> Paulo:
>>
>> Sorry, I also meant to include a diff from the 304.51 spec file to the
>> 310.19.  Nothing jumps out at me:
>>
>>   diff nvidia-graphics304.51.spec nvidia-graphics310.19.spec
>> 2,3c2,3
>> < Version: 304.51
>> < Release: 149%{?dist}
>> ---
>>
>>> Version: 310.19
>>> Release: 151%{?dist}
>>>
>> 191c191
>> < mv %{buildroot}%{_x_libraries}/**lib*.so*
>> %{buildroot}%{_x_libraries}/%{**NVfolder}/
>> ---
>>
>>> #mv %{buildroot}%{_x_libraries}/**lib*.so*
>>> %{buildroot}%{_x_libraries}/%{**NVfolder}/
>>>
>> 193c193
>> < ln -s %{NVfolder}/libXvMCNVIDIA_**dynamic.so.1
>> %{buildroot}%{_x_libraries}/**libXvMCNVIDIA.so
>> ---
>>
>>> #ln -s %{NVfolder}/libXvMCNVIDIA_**dynamic.so.1
>>> %{buildroot}%{_x_libraries}/**libXvMCNVIDIA.so
>>>
>> 287c287
>> < %{_x_libraries}/%{NVfolder}/**libXvMCNVIDIA*.so.*
>> ---
>>
>>> #%{_x_libraries}/%{NVfolder}/**libXvMCNVIDIA*.so.*
>>>
>> 306,308c306,308
>> < %{_x_libraries}/libXvMCNVIDIA.**a
>> < %{_x_libraries}/libXvMCNVIDIA.**so
>> < %{_x_libraries}/%{NVfolder}/**libXvMCNVIDIA_dynamic.so
>> ---
>>
>>> #%{_x_libraries}/**libXvMCNVIDIA.a
>>> #%{_x_libraries}/**libXvMCNVIDIA.so
>>> #%{_x_libraries}/%{NVfolder}/**libXvMCNVIDIA_dynamic.so
>>>
>> 327c327,333
>> < * Sun Oct 21 2012 Axel Thimm Paulo Roma <[email protected] <mailto:
>> [email protected]>> - 304.51-149
>> ---
>>
>>> * Sat Dec 01 2012 Paulo Roma <[email protected] <mailto:[email protected]>>
>>> - 310.19-151
>>>
>>> - Update to 310.19.
>>>
>>> * Fri Nov  9 2012 Axel Thimm <[email protected]> - 304.64-150
>>> - Update to 304.64.
>>>
>>> * Sun Oct 21 2012 Paulo Roma Paulo Roma <[email protected] <mailto:
>>> [email protected]>> - 304.51-149
>>>
>>
>>
>>
>> On Tue, Dec 4, 2012 at 3:08 PM, George Galt <[email protected]<mailto:
>> [email protected]>**> wrote:
>>
>>     Paulo:
>>
>>     Oddly, prior iterations of the nvidia-graphics-libs didn't require
>> libnvcuvid.so, even though they installed them.  I'm currently running the
>> 304.51 driver, and rpm reports:
>>
>>     rpm -q --requires -p nvidia-graphics304.51-libs-**
>> 304.51-149.fc16.x86_64.rpm
>>     /bin/sh
>>     /bin/sh
>>     libX11.so.6()(64bit)
>>     libXext.so.6()(64bit)
>>     libXv.so.1()(64bit)
>>     libXvMC.so.1()(64bit)
>>     libc.so.6()(64bit)
>>     libc.so.6(GLIBC_2.2.5)(64bit)
>>     libdl.so.2()(64bit)
>>     libdl.so.2(GLIBC_2.2.5)(64bit)
>>     libgcc_s.so.1()(64bit)
>>     libgcc_s.so.1(GCC_3.0)(64bit)
>>     libgcc_s.so.1(GCC_3.3)(64bit)
>>     libm.so.6()(64bit)
>>     libm.so.6(GLIBC_2.2.5)(64bit)
>>     libnvidia-glcore.so.304.51()(**64bit)
>>     libnvidia-tls.so.304.51()(**64bit)
>>     libpthread.so.0()(64bit)
>>     libpthread.so.0(GLIBC_2.2.5)(**64bit)
>>     librt.so.1()(64bit)
>>     librt.so.1(GLIBC_2.2.5)(64bit)
>>     libvdpau.so.1()(64bit)
>>     libvdpau_nvidia.so.1()(64bit)
>>     libvdpau_trace.so.1()(64bit)
>>     libz.so.1()(64bit)
>>     rpmlib(CompressedFileNames) <= 3.0.4-1
>>     rpmlib(FileDigests) <= 4.6.0-1
>>     rpmlib(PayloadFilesHavePrefix) <= 4.0-1
>>     rpmlib(PayloadIsXz) <= 5.2-1
>>
>>     and the driver also installed libnvcuvid.so as:
>>     /usr/lib64/nvidia-graphics-**304.51/libnvcuvid.so.1
>>     /usr/lib64/nvidia-graphics-**304.51/libnvcuvid.so.304.51
>>
>>     As you can see, the new 310 driver, unlike the 304 driver, requires
>> libnvcuvid:
>>     rpm -q --requires -p nvidia-graphics310.19-libs-**
>> 310.19-151.fc16.x86_64.rpm
>>     /bin/sh
>>     /bin/sh
>>     libX11.so.6()(64bit)
>>     libXext.so.6()(64bit)
>>     libc.so.6()(64bit)
>>     libc.so.6(GLIBC_2.2.5)(64bit)
>>     libdl.so.2()(64bit)
>>     libdl.so.2(GLIBC_2.2.5)(64bit)
>>     libgcc_s.so.1()(64bit)
>>     libgcc_s.so.1(GCC_3.0)(64bit)
>>     libgcc_s.so.1(GCC_3.3)(64bit)
>>     libm.so.6()(64bit)
>>     libm.so.6(GLIBC_2.2.5)(64bit)
>>     libnvcuvid.so()(64bit)
>>     libnvidia-glcore.so.310.19()(**64bit)
>>     libnvidia-tls.so.310.19()(**64bit)
>>     libpthread.so.0()(64bit)
>>     libpthread.so.0(GLIBC_2.2.5)(**64bit)
>>     librt.so.1()(64bit)
>>     librt.so.1(GLIBC_2.2.5)(64bit)
>>     libvdpau.so.1()(64bit)
>>     libvdpau_nvidia.so.1()(64bit)
>>     libvdpau_trace.so.1()(64bit)
>>     libz.so.1()(64bit)
>>     rpmlib(CompressedFileNames) <= 3.0.4-1
>>     rpmlib(FileDigests) <= 4.6.0-1
>>     rpmlib(PayloadFilesHavePrefix) <= 4.0-1
>>     rpmlib(PayloadIsXz) <= 5.2-1
>>
>>
>>     But you can see that the package will install it:
>>     rpm -q --filesbypkg -p nvidia-graphics310.19-libs-**
>> 310.19-151.fc16.x86_64.rpm
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**310.19
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libGL.so.1
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libGL.so.310.19
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libOpenCL.so.1
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libOpenCL.so.1.0
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libOpenCL.so.1.0.0
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libcuda.so.1
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libcuda.so.310.19
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libnvcuvid.so.1
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libnvcuvid.so.310.19
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libnvidia-cfg.so.1
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libnvidia-cfg.so.310.19
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libnvidia-compiler.so.**310.19
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libnvidia-encode.so.1
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libnvidia-encode.so.**310.19
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libnvidia-glcore.so.**310.19
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libnvidia-ml.so.1
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libnvidia-ml.so.310.19
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libnvidia-opencl.so.1
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libnvidia-opencl.so.**310.19
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libnvidia-tls.so.310.19
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libvdpau.so
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libvdpau.so.1
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libvdpau.so.310.19
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libvdpau_nvidia.so
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/libvdpau_trace.so
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**310.19/tls
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/tls/libnvidia-tls.so.**310.19
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**310.19/vdpau
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/vdpau/libvdpau_nvidia.**so.1
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/vdpau/libvdpau_nvidia.**so.310.19
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/vdpau/libvdpau_trace.**so.1
>>     nvidia-graphics310.19-libs /usr/lib64/nvidia-graphics-**
>> 310.19/vdpau/libvdpau_trace.**so.310.19
>>
>>
>>     Do you know where the "requires" variables are set?  I am assuming
>> that it is something in the SPEC file.  We could simply take the route of
>> prior drivers and eliminate libnvcuvid.so() from the list of requirements.
>>  But it seems odd that it requires a file that it will install itself
>> without being aware that it will deliver its own "requirement".
>>
>>     In any event, it seems that installing this with --nodeps will be OK,
>> but I would just prefer to fix the correct files so that others can
>> comfortably do the install.
>>
>>     George
>>
>>
>>
>>
>>     On Sat, Dec 1, 2012 at 8:50 AM, Paulo Cavalcanti <[email protected]<mailto:
>> [email protected]>> wrote:
>>
>>
>>
>>         On Mon, Nov 19, 2012 at 2:45 PM, George Galt <
>> [email protected] <mailto:[email protected]>**> wrote:
>>
>>             On Mon, Nov 19, 2012 at 5:24 AM, Paulo Cavalcanti <
>> [email protected] <mailto:[email protected]>> wrote:
>>
>>
>>
>>
>>                 On Sat, Nov 17, 2012 at 2:13 AM, O&M Ugarcina <
>> [email protected] <mailto:[email protected]>> wrote:
>>
>>
>>
>>                         In each case, the path differs by the addition of
>> "nvidia-graphics-310.14" before the file being looked for.  Does anyone
>> have any idea how to either adjust the spec file or alter the way it looks
>> for these files?
>>
>>                         Thanks,
>>
>>                         George
>>
>>                     Hello Guys,
>>
>>
>>
>>         I have a fixed .src.rpm, here:
>>
>>         http://people.atrpms.net/~**pcavalcanti/srpms/nvidia-**
>> graphics310.19-310.19-151.**fc17.src.rpm<http://people.atrpms.net/~pcavalcanti/srpms/nvidia-graphics310.19-310.19-151.fc17.src.rpm>
>>
>>         In fact, the fix was easy, and I just had to comment a few lines
>> in the
>>         spec file.
>>
>>         However, when installing, rpm keeps complaining about
>>
>>         libnvcuvid.so()(64bit) is needed by nvidia-graphics310.19-libs-**
>> 310.19-151.fc17.x86_64
>>
>>         I just used --nodeps and everything installs and runs fine.
>>
>>         Maybe someone can take a look and figure what is going on...
>>
>>
>>
>>         --
>>         Paulo Roma Cavalcanti
>>         DCC - UFRJ
>>
>>
>>
>>
> ______________________________**_________________
> atrpms-devel mailing list
> [email protected]
> http://lists.atrpms.net/**mailman/listinfo/atrpms-devel<http://lists.atrpms.net/mailman/listinfo/atrpms-devel>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.