AMD Catalyst 15.302 Build Failure на Ubuntu Server 14.04.05

Я пытаюсь установить проприетарные драйверы для своего Radeon R9 Видеокарта Fury. Это файлы fglrx_15.302 и т. Д., И я получаю их из здесь, в AMD Drivers :

Я устанавливаю на Ubuntu Server 14.04.5, используя инструкции на связанной странице.

Убедившись, что пакеты еще не установлены, я пытаюсь собрать их с помощью (используя *, чтобы не вводить очень длинные имена файлов):

sudo dpkg -i fglrx_15.302* fglrx-core_15.302* fglrx-dev_15.302* \
fglrx-amdcccle_15.302*

Вывод сборки содержит следующую строку:

Error! Bad return status for module build on kernel: 4.4.0-38-generic (x86_64)
Consult /var/lib/dkms/fglrx-core/15.302/build/make.log for more information

В журнале показаны 2 ошибки в файл firegl_public.c :

error: void value not ignored as it ought to be
    len=seq_printf(m, "%d\n", major);

error: 'XSTATE_FP' undeclared (first use in this function)
    if (!(fpu->state.xsave.header.xfeatures & XSTATE_FP))

Итак, сборка завершается неудачно из-за ошибок в этом файле

Глядя на примечания к выпуску на связанной странице, я вижу, что мое ядро ​​(4.4) находится вне их рекомендуемый диапазон (от 2,6 до 3,19), и что моя версия glibc - 2,19, что выходит за пределы рекомендуемого диапазона 2,2 или 2,3. Обычно я продолжаю обновлять ядро ​​и glibc: однако это довольно часто откатывает ядро, и (из Google) я не нашел другого способа установить glibc 2.2 в 14.04, кроме сборки его из исходников.

У меня вопрос: стоит ли мне все равно обновлять их, или это вряд ли решит проблему (и если да, то что мне теперь делать)?

0
27.10.2016, 14:02
1 ответ

OP здесь. В итоге я загрузил старую версию драйверов (15.2) с веб-сайта AMD и выполнил чистую установку. Произошла ошибка с одной ошибкой: компилятор не смог найти файл i387.h . В моем ядре это связано с тем, что этот файл был переименован в api.h и перемещен командой Linux в другой каталог (очевидно, поскольку пакет драйверов был собран). Я нашел его здесь:

/usr/src/linux-headers-4.40-42-generic/arch/x86/include/asm/fpu/api.h

Сначала я переименовал его в i387.h и переместил в каталог / asm , где его ожидал пакет. Это устранило ошибку, но я также получил другие ошибки #include для mman.h , poll.h и ioctl32.h . Первые два файла также были перемещены после сборки пакета, а я вообще не могу найти ioctl32.h (и даже не уверен, что он мне нужен для 64-битной сборки).

Прямо сейчас я пытаюсь решить, переместить ли два других заголовка и посмотреть, будет ли он построен без ioctl32.h , или зайти в пакет и изменить операторы #include на правильные места (что, вероятно, является правильным способом сделать это, но также является большой проблемой).

0
28.01.2020, 04:49

Теги

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