Я пытаюсь скомпилировать драйвер для адаптера 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
Я много раз пытался добавить строку «Wno-error = date-time» к CFLAGS, но она, похоже, не работала.
Самое простое решение для меня было найдите файл, который создает строку «__DATE__», выполнив
grep -r "__DATE__"
, который (для исходного кода, с которым я работаю) дал мне файл
acore/info.patch:+ "Compiled on " __DATE__ " for kernel %s"
Я просто изменил это на строку без переменной, удалив кавычки, т. Е.
"Compiled on __DATE__ for kernel %s"
Затем компиляция могла продолжить
EDIT: Как упоминалось ранее, используйте make clean перед запуском configure и make или даже лучше извлеките новую версию из файла zip / tar
Возможно, лучше удалить макрос-нарушитель, удалив строку 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