Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.LINUX
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.LINUX с датами от 24 Jan 02 06:01:34 до 29 Apr 24 03:15:24, всего сообщений: 8279
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 6397 из 8279 ========================================= RU.LINUX =
От   : Rinat H. Sadretdinow             2:5020/620         09 Aug 20 17:20:50
Кому : All                                                 09 Aug 20 17:20:50
Тема : Откуда и где они в Fedora 32 взяли gcc-10.1.1?
FGHI : area://RU.LINUX?msgid=2:5020/620+5f30064c
= Кодировка сообщения определена как: CP866 ==================================
==============================================================================
* Originally in ru.linux.redhat
* Crossposted in ru.linux

Hello All!

Hе, они или издеваются, или устроили какой-то "Форт Боярд" по принципу "найди то что надо, но неизвестно где!"

Зашёл я на сайт NVIDIA и увидел что появилась новая версия драйвера для моего древнего гефорса 660. В принципе и старая работала, но я люблю чтобы всегда был "свежачок". Скачал. Сделал после этого на всякий случай ещё и `sudo dnf update` чтобы новый драйвер установился на самое новое. Мне скачался новый gcc, 10.ДВА.1, и новое ядро, но почему-то скомпилированное gcc-10.1.1:

~~~
[rhs@sys3175 ~]$ cat /usr/src/kernels/5.7.10-201.fc32.x86_64/include/generated/compile.h | grep LINUX_COMPILER
#define LINUX_COMPILER "gcc version 10.1.1 20200507 (Red Hat 10.1.1-1) (GCC), GNU ld version 2.34-3.fc32"
[rhs@sys3175 ~]$
~~~

В результате при попытке установить новый свежескаченный драйвер NVIDIA для Geforce 660, версии 450.57 он орёт что:

~~~
Compiler version check failed:

The major and minor number of the compiler used to
compile the kernel:

gcc version 10.1.1 20200507 (Red Hat 10.1.1-1) (GCC), GNU ld version 2.34-4.fc32

does not match the compiler used here:

cc (GCC) 10.2.1 20200723 (Red Hat 10.2.1-1)
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
~~~

и соответственно свой DKMS и не компилирует, и не устанавливается.

Попробовал найти gcc-10.ОДИH.1, но компилятора gcc-10.1.1 просто напросто *HЕТ* *HИГДЕ*!!! В обновлениях Федоры нет, есть только последний gcc-10.2.1, а если сделать `dnf downgrade gcc`, то устанавливается gcc-10.0.1. А вот gcc-10.ОДИH.1 которым они собирали ядро нет ни в обновлениях, ни в даунгрейдах, ни в одном репозитории Федоры где я полазил.

Откуда RedHat взяли gcc-10.ОДИH.1 чтобы собрать своё ядро, если текущая версия у них gcc-10.ДВА.1, а даунгрейд через dnf у них только до gcc-10.HОЛЬ.1? И ни в одном их репозитории, которые я посмотрел руками (в их родном репозитории, и во всех зеркалах, включая российские) gcc-10.ОДИH.1 нету?

Hе, я конечно же умный, я мог бы сдаунгрейдить gcc до 10.HОЛЬ.1 и ядро до той версии, которая собиралась ещё gcc-10.HОЛЬ.один и всё бы собралось. Правда и ядро, и gcc у меня стали бы в результате этого не совсем как говно мамонта, но минимум трёх-четырёх с половиной месячной давности. А я так не люблю, я люблю чтобы было всё самое свежее, а не как в каком-нибудь дебиан стабле, в котором всё пятилетней свежести и давно протухло. И поэтому т.к. я не просто умный, а *очень* умный, я запустил `NVIDIA-Linux-x86_64-450.57.run` с опцией:

~~~
    --no-cc-version-check
    The NVIDIA kernel module should be compiled with the same compiler that was used to compile the currently running kernel. The layout of some Linux kernel data structures may be dependent on the version of gcc used to compile it. The Linux 2.6 kernel modules are tagged with information about the compiler and the Linux kernel's module loader performs a strict version match check. nvidia-installer checks for mismatches prior to building the NVIDIA kernel module and aborts the installation in case of failures. Use this option to override this check.
~~~

и в результате установил таки последний драйвер NVIDIA, избежав проверки совместимости текущей версии gcc с версией gcc, которой было собрано текущее ядро.

В результате версия gcc которой ныне мной собран драйвер и версия gcc которой собрана в RedHat'е текущая версия ядра немного несовместимы, на уровне версий компилятора, но надеюсь что ABI всё же не изменилось, ABI меняется совсем уж в крайних случаях, не в таких. Так что всё работает, вот уже часов шесть полёт нормальный.

Hо всё равно это неаккуратненько как-то! Я так думаю. "А ви как думаете, товарищ Берия?" (C) Иосиф Виссарионович Сталин.

Bye!

--- GoldED+/LNX 1.1.5-b20170303
* Origin: -= Thunder Bird =- (2:5020/620)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.053757 секунды