(Этот ответ не содержит рабочего решения, но см. Конец сообщайте подробности, которые мы выяснили в ходе расследования.)
В инструкции упоминается "Linux 2.6", которому возраст лет - текущая версия - 4.5.2. Я бы не ожидал, что этот драйвер будет работать.
Второй момент: драйверы, не входящие в состав Linux, обычно имеют худшее качество и не имеют поддержки. Итак, опять же, не ожидайте многого.
Ошибка, которую вы видите, на самом деле довольно безобидная: « __ DATE __
macro» - это просто маркер в коде, который заменяется датой компиляции. Это нарушает воспроизводимость, т.е. две отдельные компиляции одного и того же источника не обязательно приведут к одному и тому же двоичному файлу (потому что даты компиляции могут отличаться.) Это является проблемой, если вы заботитесь о безопасности, но на данный момент, у вас есть более серьезные задачи, поскольку драйвер вообще не компилируется.
Примечание: gcc-4.9 по умолчанию включает предупреждение о дате и времени, поэтому любое программное обеспечение, которое использует флаг -Werror
и содержит макрос __ DATE __
и / или __ TIME __
(s) теперь не может быть построен.
То, что мы пробовали, но не помогло:
CFLAGS
и CXXFLAGS
на -Wno-error = date-time
: команды типа CFLAGS = "- Wno-error = date-time" sudo -E make
вообще не повлиял на ошибку; find -type f -print0 | xargs -0 sed -i 's / -Werror // g'
для удаления флага нарушения из всех файлов Makefile также не повлиял на ошибку (да, мы запускали make clean
перед восстановлением).