Пропавшие без вести “version.h” при установке fglrx

Если Вы хотите циклично выполниться по файлам, никогда не используйте ls*. tl; доктор There является большим количеством ситуаций, где Вы закончили бы тем, что удалили неправильный файл или даже все файлы.

Тем не менее, к сожалению, это - хитрая вещь сделать правильно в Bash. Существует рабочий ответ, законченный в дублирующийся вопрос мое еще более старое find_date_sorted, который можно использовать с маленькими модификациями:

counter=0
while IFS= read -r -d '' -u 9
do
    let ++counter
    if [[ counter -gt 3 ]]
    then
        path="${REPLY#* }" # Remove the modification time
        echo -e "$path" # Test
        # rm -v -- "$path" # Uncomment when you're sure it works
    fi
done 9< <(find . -mindepth 1 -type f -printf '%TY-%Tm-%TdT%TH:%TM:%TS %p\0' | sort -rz) # Find and sort by date, newest first

* Никакие парни преступления - я также использовал ls прежде. Но это действительно не безопасно.

Править: Новый find_date_sorted с модульными тестами.

4
12.05.2013, 16:40
3 ответа

Установите пакет заголовков ядрa и попробуйте еще раз. Если это не работает, попробовать

cp -v /usr/include/linux/version.h /lib/modules/$(uname -r)/build/include/linux

13
27.01.2020, 20:47

можно также слинковать заголовочный файл:

ln -S /lib/modules/$(uname -r)/build/include/linux/version.h /usr/include/linux/version.h
0
27.01.2020, 20:47

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

Теги

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