Я пытаюсь скомпилировать драйвер для адаптера Netis WF2190. Да, я просто загрузил последнее от них.
Как я могу отключить -Werror=date-time
в сборке? Я не могу найти его нигде в сценарии сборки, таким образом, я полагаю, что это должна быть некоторая глобальная настройка по умолчанию. Очевидно код просто пытается встроить дату/время сборки в вывод, таким образом, не должно быть никакой проблемы с отключением этого предупреждения.
Вот некоторые предупреждения, которые я получаю, которые рассматривают как ошибки:
/home/andy/RTL8812AU_linux_v4.3.8_12175.20140902/driver/rtl8812AU_linux_v4.3.8_12175.20140902/core/rtw_debug.c:66:1: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
/home/andy/RTL8812AU_linux_v4.3.8_12175.20140902/driver/rtl8812AU_linux_v4.3.8_12175.20140902/core/rtw_debug.c:66:1: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
cc1: some warnings being treated as errors
Дата и время, предупреждающая, является новой в gcc 4.9, я думаю - это возможно включено неявно -Wall
(и превращено ошибка неявно -Werror
).
Вы могли попытаться выключить его явно использование эти -Wno-
форма т.е. путем добавления
-Wno-error=date-time
к CFLAGS
.
Я попробовал, довольно много раз добавив "Wno-error=date-time" строка к CFLAGS, но это, казалось, не работало.
самое легкое решение безусловно для меня состояло в том, чтобы найти файл, который производил "__ ДАТА __" строка путем выполнения
grep -r "__DATE__"
, который (для исходного кода, с которым я работаю) дал мне файл
acore/info.patch:+ "Compiled on " __DATE__ " for kernel %s"
, я просто изменил это на строку без переменной путем удаления кавычек, т.е.
"Compiled on __DATE__ for kernel %s"
, компиляция затем смогла продолжиться
РЕДАКТИРОВАНИЕ: , Как упомянуто прежде, используйте make clean
, прежде чем выполнение настроит и сделает, или еще лучше, извлечет новую версию из файла
Могло бы быть лучше удалить незаконный макрос путем удаления строки 66 из rtw_debug.c файла.
sed -i -e '66d' /home/andy/RTL8812AU_linux_v4.3.8_12175.20140902/driver/rtl8812AU_linux_v4.3.8_12175.20140902/core/rtw_debug.c
Теперь можно продолжить сборку:
cd /home/andy/RTL8812AU_linux_v4.3.8_12175.20140902/
sudo make clean
make
sudo make install