У меня была такая же проблема при установке более новых драйверов AMD на Ubuntu/Willi:
Для установки fglrx в системе должны быть заголовки ядра. /lib/modules/4.2.0-42-generic/build/include/linux/version.h не может быть найден в этой системе. Установите заголовки ядра с помощью команды apt-get install linux-headers-4.2.0-42-generic.
Ответы с cp и ln хороши, но сначала вам нужно найти подходящий заголовок version.h в вашей системе. Например, используя (в debian/ubuntu):
apt-file search version.h | grep $(uname -r)
...
linux-headers-4.2.0-42-generic: /usr/src/linux-headers-4.2.0-42-generic/include/generated/uapi/linux/version.h
Только теперь вы можете быть уверены, что копируете или связываете хороший файл в том месте, которое желает AMD. В моем случае:
cp -v /usr/src/linux-headers-4.2.0-42-generic/include/generated/uapi/linux/version.h /lib/modules/4.2.0-42-generic/build/include/linux
Как правило, «невозможно выполнить... Нет такого файла или каталога» означает, что либо сам исполняемый двоичный файл , либо одна из необходимых ему библиотек не существует. Библиотеки также могут нуждаться в других библиотеках.
Чтобы увидеть список библиотек, необходимых для указанного исполняемого файла или библиотеки, вы можете использовать команду ldd
:
$ ldd /usr/local/bin/i686-elf-gcc
Если результирующий список содержит такие строки, как
<library name> => not found
тогда проблему можно решить, убедившись, что упомянутые библиотеки установлены и указаны в пути поиска библиотек.
В этом случае библиотеки могут находиться в /usr/local/lib
или /usr/local/lib64
, но по какой-то причине этот каталог не включен в путь поиска библиотек.
Если вы хотите, чтобы дополнительные библиотеки были доступны только для определенных программ или сеансов, вы можете использовать переменную среды LD _LIBRARY _PATH, чтобы указать дополнительный путь (s ), который следует искать. для отсутствующих библиотек. Это сведет к минимуму вероятность конфликтов с системными библиотеками по умолчанию.
Но если вы хотите добавить каталог библиотеки в системный путь поиска библиотек по умолчанию, вы должны добавить его в файл /etc/ld.so.conf
или создать файл /etc/ld.so.conf.d/*.conf
по вашему выбору, а затем запустить команду ldconfig
от имени пользователя root. для обновления кэша поиска библиотеки.
Например, если отсутствующие библиотеки найдены в /usr/local/lib64
и существует каталог /etc/ld.so.conf.d
, вы можете создать файл crosscompiler.conf
, подобный этому:
# echo "/usr/local/lib64" > /etc/ld.so.conf.d/crosscompiler.conf
# ldconfig