Запуск исполняемого файла: нет такого файла или каталога [закрыто]

У меня была такая же проблема при установке более новых драйверов 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
0
29.12.2017, 13:19
1 ответ

Как правило, «невозможно выполнить... Нет такого файла или каталога» означает, что либо сам исполняемый двоичный файл , либо одна из необходимых ему библиотек не существует. Библиотеки также могут нуждаться в других библиотеках.

Чтобы увидеть список библиотек, необходимых для указанного исполняемого файла или библиотеки, вы можете использовать команду 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
9
28.01.2020, 02:24

Теги

Похожие вопросы