Как исправить ошибку -Werror = дата-время / макрос «__DATE__» может помешать воспроизводимым сборкам

Если вы получаете libxp в 64-битных ошибках или не можете найти libXp, попробуйте установить libxi6:i386

0
задан 17 August 2017 в 01:28

4 ответа

Отредактируйте исходный код Makefile и добавьте его в верхней части файла (если вы посмотрите внимательно, эта строка уже может быть там, но просто прокомментирована):

EXTRA_CFLAGS += -Wno-error=date-time

Затем выполните ваш нормальный ./configure (если требуется) и make и sudo make install.

Обновление # 1:

Если исходный код, который вы используете, находится в http: / /www.realtek.com/downloads/downloadsView.aspx?Langid=1&PNid=24&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false, то они предназначены только для ядер 2.x и 3.x, и как таковая не будет компилироваться в текущих версиях Ubuntu.

2
ответ дан 18 July 2018 в 08:32

Если вы говорите об этих драйверах, то это не так просто.

Это скрипты сборки ядра, которые обеспечивают соблюдение этой логики, и флаг ошибки добавляется после любых обычных способов впрыскивания копии без ошибок , Таким образом, ошибка остается.

Единственное исправление, которое я вижу, временно удаляет эту строку из make-файла сборки ядра:

sudo sed -i.bak '/date-time/d' /usr/src/linux-headers-4.10.0-32/Makefile

Однако это приведет вас к следующей проблеме:

неявное объявление функции «do_posix_clock_monotonic_gettime»

Что представляет собой реальную проблему, вызванную отсутствием источника старения.

После этого эксперимента убедитесь, что вы восстановили оригинальный Makefile :

sudo mv /usr/src/linux-headers-4.10.0-32/Makefile.bak \ /usr/src/linux-headers-4.10.0-32/Makefile
0
ответ дан 18 July 2018 в 08:32

Отредактируйте исходный код Makefile и добавьте его в верхней части файла (если вы посмотрите внимательно, эта строка уже может быть там, но просто прокомментирована):

EXTRA_CFLAGS += -Wno-error=date-time

Затем выполните ваш нормальный ./configure (если требуется) и make и sudo make install.

Обновление # 1:

Если исходный код, который вы используете, находится в http: / /www.realtek.com/downloads/downloadsView.aspx?Langid=1&PNid=24&PFid=24&Level=4&Conn=3&DownTypeID=3&GetDown=false, то они предназначены только для ядер 2.x и 3.x, и как таковая не будет компилироваться в текущих версиях Ubuntu.

2
ответ дан 24 July 2018 в 19:07
  • 1
    После добавления строки в исходный код файла makefile была указана та же ошибка. – Amin 15 August 2017 в 20:18
  • 2
    Есть ли другой драйвер для установки для Ubuntu 17.04, поскольку у меня не было звука, когда я устанавливал Linux. – Amin 16 August 2017 в 03:55
  • 3
    Что делать / моделировать компьютер? Покажите мне sudo lshw -C sound. – heynnema 16 August 2017 в 04:49
  • 4
    Я добавил результаты в конце описания. – Amin 16 August 2017 в 20:09
  • 5
    Ubuntu видит звуковую плату. Вы уверены, что звук не отключен или слишком низкий уровень громкости? Проверьте панель «Звук» в «Системные настройки». В terminal введите alsamixer и убедитесь, что ничего не отключено. Установите pavucontrol, а также убедитесь, что ничего не отключено. – heynnema 17 August 2017 в 00:39

Если вы говорите об этих драйверах, то это не так просто.

Это скрипты сборки ядра, которые обеспечивают соблюдение этой логики, и флаг ошибки добавляется после любых обычных способов впрыскивания копии без ошибок , Таким образом, ошибка остается.

Единственное исправление, которое я вижу, временно удаляет эту строку из make-файла сборки ядра:

sudo sed -i.bak '/date-time/d' /usr/src/linux-headers-4.10.0-32/Makefile

Однако это приведет вас к следующей проблеме:

неявное объявление функции «do_posix_clock_monotonic_gettime»

Что представляет собой реальную проблему, вызванную отсутствием источника старения.

После этого эксперимента убедитесь, что вы восстановили оригинальный Makefile :

sudo mv /usr/src/linux-headers-4.10.0-32/Makefile.bak \ /usr/src/linux-headers-4.10.0-32/Makefile
0
ответ дан 24 July 2018 в 19:07
  • 1
    Мое исправление не изменяет источник системы, оно требуется только для компиляции ошибок в gcc 4.9 и более поздних версиях. – heynnema 14 August 2017 в 20:04
  • 2
    @Melvyn после использования первой командной строки дал ошибку `sed: не могу прочитать /usr/src/linux-headers-4.10.0-32/Makefile: Нет такого файла или каталога` (я думал, что u означает, что строка в make-файле ядра, но он тоже не был). – Amin 15 August 2017 в 20:16

Другие вопросы по тегам:

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