Страница 1 из 1
Вопрос по сборке библиотеки
Добавлено: 24 фев 2019, 18:57
Andreas17
Собираю библиотеку по этому мануалу:
http://wiki.rosalab.ru/ru/index.php/%D0 ... 0%B5%D0%BA
Вроде spec-файл правильно составил:
Код: Выделить всё
%define major 0
%define libname %mklibname XNVCtrl %{major}
%define devname %mklibname XNVCtrl -d
Summary: Library providing the NV-CONTROL API
Name: libXNVCtrl
Version: 410.78
Release: 1
License: GPLv2
Group: System/Libraries
Url: https://nvidia.com
Source0: https://github.com/NVIDIA/nvidia-settings/archive/%{version}.tar.gz
Patch0: libxnvctrl_so.patch
Patch1: libxnvctrl_optflags.patch
BuildRequires: gcc
BuildRequires: make
BuildRequires: libx11-devel
BuildRequires: libxext-devel
%description
This packages contains the libXNVCtrl library from the nvidia-settings
application. This library provides the NV-CONTROL API for communicating with
the proprietary NVidia xorg driver. This package does not contain the
nvidia-settings tool itself as that is included with the proprietary drivers
themselves.
#----------------------------------------------------------------------------
%package -n %{libname}
Summary: Shared library for %{name}
Group: System/Libraries
%description -n %{libname}
%{name} is a library providing the NV-CONTROL API.
%files -n %{libname}
%{_libdir}/%{name}.so.*
%{_docdir}/%{name}/COPYING
#----------------------------------------------------------------------------
%package -n %{devname}
Summary: Development files for %{name}
Group: Development/C
Requires: %{libname} = %{EVRD}
Provides: %{devname} = %{EVRD}
Requires: libx11-devel
%description -n %{devname}
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%files -n %{devname}
%{_libdir}/%{name}.so
%{_includedir}/NVCtrl/*.h
%{_docdir}/%{name}/doc/*
%{_docdir}/%{name}/samples/*
#----------------------------------------------------------------------------
%prep
%setup -q -n nvidia-settings-%{version}
%patch0
%patch1
%build
%make OPTFLAGS="%{optflags}" -C src/%{name}
%install
mkdir -p %{buildroot}%{_libdir}
install -m755 src/%{name}/%{name}.so.0.0.0 %{buildroot}%{_libdir}
ln -s %{name}.so.0.0.0 %{buildroot}%{_libdir}/%{name}.so.0
ln -s %{name}.so.0 %{buildroot}%{_libdir}/%{name}.so
mkdir -p %{buildroot}%{_includedir}/NVCtrl
install -m644 src/%{name}/*.h %{buildroot}%{_includedir}/NVCtrl
mkdir -p %{buildroot}%{_docdir}/%{name}/{samples,doc}
install -m644 samples/* %{buildroot}%{_docdir}/%{name}/samples
install -m644 doc/*.txt %{buildroot}%{_docdir}/%{name}/doc
install -m644 COPYING %{buildroot}%{_docdir}/%{name}
Собирается нормально, но выдаёт предупреждение:
Код: Выделить всё
lib64XNVCtrl-devel.x86_64: W: no-dependency-on lib64XNVCtrl/lib64XNVCtrl-libs/liblib64XNVCtrl
3 packages and 0 specfiles checked; 0 errors, 1 warnings.
Здесь
http://wiki.rosalab.ru/ru/index.php/Rpm ... endency-on пишут, что нужно указать зависимость. Но у меня ругается не на какую-то левую библиотеку, а типа как на самого себя. Не понимаю. Что не так?
Вопрос по сборке библиотеки
Добавлено: 25 фев 2019, 09:11
VictorR2007
В секцию %install нужно написать
или
если первый вариант не походит.
Если и дальше будет ругаться на зависимость,
Можно убрать из пакета devel строку
Requires: %{libname} = %{EVRD}
Но лучше добавить в пакет файл libXNVCtrl.rpmlintrc
записав его в спеке как
Source1: libXNVCtrl.rpmlintrc
с текстом
Код: Выделить всё
# False positives
addFilter("W: no-dependency-on")
Вопрос по сборке библиотеки
Добавлено: 25 фев 2019, 18:15
Andreas17
С %makeinstall_std не прокатило. Он начинаем в секции install пересобирать с начала. Причём весь проект. А там в нём полно лишних исходников.
А вот с файлом rpmlintrc всё стало как положено, без варнингов. Спасибо!

Вопрос по сборке библиотеки
Добавлено: 26 фев 2019, 04:58
Andreas17
Теперь используя эту библиотеку, собираю программу:
Код: Выделить всё
Summary: A GUI overclocking utility for GNU/Linux
Name: tuxclocker
Version: 0.1.1
Release: 1
License: GPLv3
Group: System/Configuration/Hardware
Url: https://github.com/Lurkki14/tuxclocker
Source0: https://github.com/Lurkki14/tuxclocker/archive/%{version}.tar.gz
Source1: https://github.com/Lurkki14/tuxclocker/blob/master/LICENSE
Patch0: fixed-build-qt5.patch
BuildRequires: libXNVCtrl-devel
BuildRequires: x11-driver-video-nvidia
%description
TuxClocker is a Qt5 overclocking tool. Currently supported cards are nvidia 600-series cards and newer. Support for AMD GPUs is planned.
%files
%doc LICENSE README.md
%{_bindir}/%{name}
%{_libdir}/%{name}/*
%{_datadir}/icons/hicolor/64x64/apps/%{name}.svg
%prep
%setup -q
%patch0 -p1
cp %{SOURCE1} .
%build
qmake-qt5 QMAKE_LFLAGS=-L%{_libdir}/nvidia
%make
%install
mkdir -p %{buildroot}%{_libdir}/%{name}
install -m755 %{name} %{buildroot}%{_libdir}/%{name}
install -m755 cog.png %{buildroot}%{_libdir}/%{name}
install -m755 plusicon.png %{buildroot}%{_libdir}/%{name}
install -m755 minusicon.png %{buildroot}%{_libdir}/%{name}
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/64x64/apps
install -m644 gpuonfire.svg %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{name}.svg
mkdir -p %{buildroot}%{_bindir}
cd %{buildroot}%{_bindir}
ln -s %{_libdir}/%{name}/%{name}
Собирается на отлично. Но не устанавливается.
Код: Выделить всё
# sudo urpmi tuxclocker-0.1.1-1-rosa2016.1.x86_64.rpm
Не удаётся установить запрошенный пакет:
tuxclocker-0.1.1-1-rosa2016.1.x86_64 (из-за неудовлетворённости libnvidia-ml.so.1()(64bit))
Ругается на другую библиотеку. Которая есть в системе:
Код: Выделить всё
# ls -l /usr/lib64/nvidia410 | grep libnvidia-ml
lrwxrwxrwx 1 root root 17 фев 26 02:30 libnvidia-ml.so -> libnvidia-ml.so.1*
lrwxrwxrwx 1 root root 22 фев 26 02:29 libnvidia-ml.so.1 -> libnvidia-ml.so.410.78*
-rwxr-xr-x 1 root root 1528152 дек 20 16:38 libnvidia-ml.so.410.78*
И rpm о ней знает:
Код: Выделить всё
# rpm -qf /usr/lib64/nvidia410/libnvidia-ml.so.1
x11-driver-video-nvidia410-410.78-2-rosa2016.1.x86_64
Пакет тоже установлен. Так чего же он ещё тогда хочет?
Может AutoReqProv: no? Но это по-моему совсем топорно. Может есть способ поэлегантнее, чтобы отучить от этой либы?
Вопрос по сборке библиотеки
Добавлено: 27 фев 2019, 19:41
Andreas17
Попробовал собрать на ABF. Собирается:
http://file-store.rosalinux.ru/api/v1/f ... ?show=true (abfworker.log)
Но не проходит тесты. Потому что вызывает ту же самую ошибку, что и у меня при локальной сборке:
Код: Выделить всё
A requested package cannot be installed:
tuxclocker-0.1.1-1-rosa2016.1.i586 (due to unsatisfied libnvidia-ml.so.1)
EXITING (pid=4332)
Test code output: 17
http://file-store.rosalinux.ru/api/v1/f ... ?show=true (tests.log)
Не видит библиотеку и всё тут.
Тогда подумал, что может у чувака в программе какие-то косяки.
Создал детский проект в Qt-Creator с одной кнопкой. Указал эту библиотеку, чтобы он её прилинковал:
Собрал RPM. И... получаю тоже самое.

Что за чертовщина то такая?
Вопрос по сборке библиотеки
Добавлено: 27 фев 2019, 20:25
Алзим
Andreas17 писал(а): 26 фев 2019, 04:58
BuildRequires: x11-driver-video-nvidia
Код: Выделить всё
$ urpmq --sourcerpm x11-driver-video-nvidia
Нет пакета с названием x11-driver-video-nvidia
Следующие пакеты содержат x11-driver-video-nvidia: x11-driver-video-nvidia-current, x11-driver-video-nvidia304, x11-driver-video-nvidia340, x11-driver-video-nvidia375, ...
Чтобы выбрать все, используйте параметр «-a»
Вопрос по сборке библиотеки
Добавлено: 27 фев 2019, 20:31
Алзим
Код: Выделить всё
$ urpmf libnvidia-ml.so.1
x11-driver-video-nvidia-current:/usr/lib/nvidia-current/libnvidia-ml.so.1
x11-driver-video-nvidia-current:/usr/lib64/nvidia-current/libnvidia-ml.so.1
x11-driver-video-nvidia304:/usr/lib/nvidia304/libnvidia-ml.so.1
x11-driver-video-nvidia304:/usr/lib64/nvidia304/libnvidia-ml.so.1
x11-driver-video-nvidia340:/usr/lib/nvidia340/libnvidia-ml.so.1
x11-driver-video-nvidia340:/usr/lib64/nvidia340/libnvidia-ml.so.1
x11-driver-video-nvidia375:/usr/lib/nvidia375/libnvidia-ml.so.1
x11-driver-video-nvidia375:/usr/lib64/nvidia375/libnvidia-ml.so.1
x11-driver-video-nvidia304:/usr/lib/nvidia304/libnvidia-ml.so.1
x11-driver-video-nvidia304:/usr/lib64/nvidia304/libnvidia-ml.so.1
x11-driver-video-nvidia384:/usr/lib/nvidia384/libnvidia-ml.so.1
x11-driver-video-nvidia384:/usr/lib64/nvidia384/libnvidia-ml.so.1
x11-driver-video-nvidia340:/usr/lib/nvidia340/libnvidia-ml.so.1
x11-driver-video-nvidia340:/usr/lib64/nvidia340/libnvidia-ml.so.1
x11-driver-video-nvidia390:/usr/lib/nvidia390/libnvidia-ml.so.1
x11-driver-video-nvidia390:/usr/lib64/nvidia390/libnvidia-ml.so.1
x11-driver-video-nvidia375:/usr/lib/nvidia375/libnvidia-ml.so.1
x11-driver-video-nvidia375:/usr/lib64/nvidia375/libnvidia-ml.so.1
x11-driver-video-nvidia-current:/usr/lib/nvidia-current/libnvidia-ml.so.1
x11-driver-video-nvidia-current:/usr/lib64/nvidia-current/libnvidia-ml.so.1
x11-driver-video-nvidia410:/usr/lib/nvidia410/libnvidia-ml.so.1
x11-driver-video-nvidia410:/usr/lib64/nvidia410/libnvidia-ml.so.1
x11-driver-video-nvidia-current:/usr/lib/nvidia-current/libnvidia-ml.so.1
x11-driver-video-nvidia340:/usr/lib/nvidia340/libnvidia-ml.so.1
x11-driver-video-nvidia304:/usr/lib/nvidia304/libnvidia-ml.so.1
x11-driver-video-nvidia375:/usr/lib/nvidia375/libnvidia-ml.so.1
x11-driver-video-nvidia-current:/usr/lib/nvidia-current/libnvidia-ml.so.1
x11-driver-video-nvidia390:/usr/lib/nvidia390/libnvidia-ml.so.1
x11-driver-video-nvidia375:/usr/lib/nvidia375/libnvidia-ml.so.1
x11-driver-video-nvidia384:/usr/lib/nvidia384/libnvidia-ml.so.1
x11-driver-video-nvidia304:/usr/lib/nvidia304/libnvidia-ml.so.1
x11-driver-video-nvidia340:/usr/lib/nvidia340/libnvidia-ml.so.1
Вопрос по сборке библиотеки
Добавлено: 27 фев 2019, 21:41
Andreas17
Алзим, да, это из спека для локальной сборки. На ABF немного поправил:
Код: Выделить всё
Summary: A GUI overclocking utility for GNU/Linux
Name: tuxclocker
Version: 0.1.1
Release: 1
License: GPLv3
Group: System/Configuration/Hardware
Url: https://github.com/Lurkki14
Source0: https://github.com/Lurkki14/tuxclocker/archive/%{version}.tar.gz
Source2: https://github.com/Lurkki14/tuxclocker/blob/master/LICENSE
Patch0: tuxclocker-fix-build-qt5.patch
BuildRequires: qmake5
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5X11Extras)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5PrintSupport)
BuildRequires: pkgconfig(x11)
BuildRequires: libXNVCtrl-devel
BuildRequires: libglvnd-gles
BuildRequires: libglvnd-egl
BuildRequires: libglvnd-glx
BuildRequires: libgldispatch0
BuildRequires: x11-driver-video-nvidia-current
BuildRequires: nvidia-current-devel
%description
TuxClocker is a Qt5 overclocking tool.
Currently supported cards are nvidia 600-series cards and newer.
Support for AMD GPUs is planned.
%files
%doc LICENSE README.md
%{_bindir}/%{name}
%{_libdir}/%{name}/*
%{_datadir}/icons/hicolor/64x64/apps/%{name}.svg
%{_datadir}/applications/%{name}.desktop
%prep
%setup -q
%patch0 -p1
cp %{SOURCE2} .
%build
qmake-qt5 QMAKE_LIBDIR=%{_libdir}/nvidia
make
%install
# binary
mkdir -p %{buildroot}%{_libdir}/%{name}
install -m755 %{name} %{buildroot}%{_libdir}/%{name}
# resources
install -m755 cog.png %{buildroot}%{_libdir}/%{name}
install -m755 plusicon.png %{buildroot}%{_libdir}/%{name}
install -m755 minusicon.png %{buildroot}%{_libdir}/%{name}
# icon
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/64x64/apps
install -m644 gpuonfire.svg %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{name}.svg
# symlink
mkdir -p %{buildroot}%{_bindir}
cd %{buildroot}%{_bindir}
ln -s %{_libdir}/%{name}/%{name}
Вопрос по сборке библиотеки
Добавлено: 27 фев 2019, 21:55
Алзим
Andreas17 писал(а): 27 фев 2019, 21:41current
Я не знаю какой сейчас драйвер по умолчанию в РОСА.
Но, предположу, что если с этим драйвером собирается, то он его и ищет.
А такие библиотеки могут конфликтовать между собой.
Вопрос по сборке библиотеки
Добавлено: 27 фев 2019, 22:22
Andreas17
Пробовал 340, 410 и вот этот последний 415.
Вот допустим на машине стоит 410, на ней собираю и тут же запускаю. А оно не запускается.

Вопрос по сборке библиотеки
Добавлено: 27 фев 2019, 22:29
Алзим
Andreas17 писал(а): 27 фев 2019, 22:22
Вот допустим на машине стоит 410, на ней собираю и тут же запускаю. А оно не запускается.
А точно именно с нужной библиотекой собирается?
(Я не проверял и т.п.)
Вопрос по сборке библиотеки
Добавлено: 27 фев 2019, 22:39
Andreas17
Угу. Он при сборке хочет файл libnvidia-ml.so, который находится в пакетах типа nvidiaXXX-devel или nvidia-current-devel.
Он является ссылкой на файл libnvidia-ml.so.1 из пакетов x11-driver-video-nvidiaXXX или x11-driver-video-nvidia-current.
А этот в свою очередь ссылается на саму библиотеку libnvidia-ml.so.XXX.XX.
Если установлен пакет драйвера 410, то все зависимости тащутся от этого 410. Других там просто нет.
Вопрос по сборке библиотеки
Добавлено: 27 фев 2019, 22:48
Алзим
Andreas17 писал(а): 27 фев 2019, 22:39
Если установлен пакет драйвера 410, то все зависимости тащутся от этого 410. Других там просто нет.
Пусть будет по твоему))
А если эту библиотеку пересобрать в свои репы и использовать при сборке?
Вопрос по сборке библиотеки
Добавлено: 27 фев 2019, 23:00
Andreas17
В репы не пробовал, а пробовал просто класть в пакет с программой типа SourceX:. Нормально устанавливается.
Вопрос по сборке библиотеки
Добавлено: 27 фев 2019, 23:02
Andreas17
Ещё как вариант, добавить в спек:
Но это очередной костыль.
Вопрос по сборке библиотеки
Добавлено: 28 фев 2019, 02:14
Алзим
Andreas17 писал(а): 27 фев 2019, 23:00
Нормально устанавливается.
Вопросы есть?

Вопрос по сборке библиотеки
Добавлено: 28 фев 2019, 06:53
Andreas17
Конечно.
У меня собирается только 32-битная версия.
На x86-64 не хватает зависимостей.
http://file-store.rosalinux.ru/api/v1/f ... ?show=true
Там нужны библиотеки как 32 бита, так и 64. Если указать
То сборщик тащит все зависимости для 32 бита и всё нормально собирает. Но как его заставить ещё тащить и 64 бита, когда надо?
Добавил libopengl0, но он всё равно его хочет.
Код: Выделить всё
requested package cannot be installed:
x11-driver-video-nvidia390-390.87-1-rosa2016.1.x86_64 (due to unsatisfied libopengl0)
Все какие нашёл зависимости:
Код: Выделить всё
BuildRequires: qmake5
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5X11Extras)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5PrintSupport)
BuildRequires: pkgconfig(x11)
BuildRequires: libXNVCtrl-devel
BuildRequires: libglvnd
BuildRequires: libopengl0
BuildRequires: nvidia390-devel
Вопрос по сборке библиотеки
Добавлено: 28 фев 2019, 07:26
Survolog
urpmq --provides 'зависимость'
urpmq --whatprovides 'зависимость'
Выбирать (для BuildRequires) pkgconfig() из первого списка.
Если не ищется, то использовать вторую команду (с кавычками!) Название из результата искать с первой командой.
Обычно для 32 используется lib, для 64 - lib64. Но pkgconfig их объединяет. Да и просто можно для обеих либ общие названия по первым спискам посмотреть.
Например, urpmq --provides lib64glvnd-devel даст pkgconfig(libglvnd)
Попробуйте его.
Вопрос по сборке библиотеки
Добавлено: 28 фев 2019, 07:28
Survolog
Ещё вариант %{_lib}
Но это на крайний случай, если так ничего не нашлось.
Прочитал ошибку по ссылке.
Похоже как раз вариант BuildRequires: %{_lib}opengl0 получается.
Вопрос по сборке библиотеки
Добавлено: 28 фев 2019, 08:55
Survolog
Ещё вариант (но он хуже, чем с %{_lib}) - использавать %ifarch - %else - %endif
%ifnarch есть ещё. Означает любую архитектуру, кроме указанной.
%ifarch %{ix86}
Blabla
%endif
%ifarch x86_64
...
Вопрос по сборке библиотеки
Добавлено: 28 фев 2019, 20:12
Andreas17
Survolog, спасибо за рекомендации.
Попробовал такую конструкцию:
Код: Выделить всё
BuildRequires: qmake5
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5X11Extras)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5PrintSupport)
BuildRequires: pkgconfig(x11)
BuildRequires: libXNVCtrl-devel
BuildRequires: pkgconfig(libglvnd)
BuildRequires: %{_lib}glvnd-egl
BuildRequires: %{_lib}glvnd-gles
BuildRequires: %{_lib}glvnd-glx
BuildRequires: %{_lib}gldispatch0
BuildRequires: %{_lib}opengl0
BuildRequires: nvidia390-devel
%ifarch x86_64
BuildRequires: libglvnd-egl
BuildRequires: libglvnd-gles
BuildRequires: libglvnd-glx
BuildRequires: libgldispatch0
BuildRequires: libopengl0
%endif
Сначала ставит библиотеки в зависимости от архитектуры. А потом для x64 дополнительно доставляет 32-битные.
Но что-то всё равно не работает:
Код: Выделить всё
A requested package cannot be installed:
tuxclocker-0.1.1-1.src (due to unsatisfied libglvnd-glx)
http://file-store.rosalinux.ru/api/v1/f ... ?show=true
Вопрос по сборке библиотеки
Добавлено: 28 фев 2019, 22:59
Andreas17
Начало собираться с такими зависимостями:
Код: Выделить всё
BuildRequires: qmake5
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5X11Extras)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5PrintSupport)
BuildRequires: libXNVCtrl-devel
BuildRequires: nvidia-devel >= 390.87
Но валится на ошибках в исходниках. Глянул лог, там используется для сборки драйвер 304 версии.
Ещё бы... На такую археологическую древность прога не рассчитана.
А если прописать nvidia390-devel или nvidia410-devel, то появляются старые добрые ошибки с зависимостями.
Вопрос по сборке библиотеки
Добавлено: 01 мар 2019, 02:29
Andreas17
Предполагаю, что для x86-64 не подключается репозиторий с пакетами i586. И поэтому rpmbuild не видит зависимости. Как быть?
Вопрос по сборке библиотеки
Добавлено: 01 мар 2019, 23:27
Andreas17
Полазил в настройках. Надеялся подключить
http://abf-downloads.rosalinux.ru/rosa2 ... tory/i586/. Но видит только репозитории типа personal.
Может есть какой макрос, который отключает зависимости в сторонних пакетах? Потому что кто-то привязал 32-битные библиотеки к 64-битному драйверу NVIDIA:
Код: Выделить всё
# sudo urpmi x11-driver-video-nvidia410
Для удовлетворения зависимостей будут установлены следующие пакеты:
Пакет Версия Релиз Dist DEpoch Платформа
(источник «Main Updates»)
lib64gldispatch0 0.2.999 0.20170911.7 rosa 2016.1 x86_64
lib64glvnd-egl 0.2.999 0.20170911.7 rosa 2016.1 x86_64
lib64glvnd-gles 0.2.999 0.20170911.7 rosa 2016.1 x86_64
lib64glvnd-glx 0.2.999 0.20170911.7 rosa 2016.1 x86_64
lib64opengl0 0.2.999 0.20170911.7 rosa 2016.1 x86_64
libglvnd 0.2.999 0.20170911.7 rosa 2016.1 x86_64
(источник «Main32 Updates»)
libgldispatch0 0.2.999 0.20170911.7 rosa 2016.1 i586
libglvnd-egl 0.2.999 0.20170911.7 rosa 2016.1 i586
libglvnd-gles 0.2.999 0.20170911.7 rosa 2016.1 i586
libglvnd-glx 0.2.999 0.20170911.7 rosa 2016.1 i586
libopengl0 0.2.999 0.20170911.7 rosa 2016.1 i586
(источник «Non-free Updates»)
nvidia410-doc-html 410.78 2 rosa 2016.1 x86_64 (рекомендуется)
x11-driver-video-nvidia410 410.78 2 rosa 2016.1 x86_64
Будет использовано 252МБ дополнительного дискового пространства.
Будет загружено 60МБ пакетов.
Установить 13 пакетов? (Y/n)
Вопрос по сборке библиотеки
Добавлено: 02 мар 2019, 20:56
Andreas17
Нашёл
причину всех бед проблему сборки на ABF. В файле спека nvidia410.spec для драйвера NVIDIA:
Код: Выделить всё
# Pull the 32-bit GLVND libraries in as well, the 32-bit applications
# running on 64-bit systems (e.g. Steam) might need them.
Requires: libgldispatch0
Requires: libopengl0
Requires: libglvnd-glx
Requires: libglvnd-egl
Requires: libglvnd-gles
# ldconfig -X in the post script must see these libraries installed:
Requires(post): libglvnd-glx
Requires(post): libglvnd-egl
Requires(post): libglvnd-gles
%endif
Как видно, для 64-битного драйвера в зависимости прописали 32-битные библиотеки.
Если они так нужны для Стима, то к Стиму бы их и прикрепили. Он же вроде как 32-разрядный.
Ну, или в rpm5 есть мягкие зависимости - Suggests.
А то получается, что невозможно собрать ни один проект, использующий библиотеки NVIDIA.