Stephen Morris writes:
I have a driver for a wifi usb device that I need to compile because
there
are no drivers in the kernel, which has been obtained from the vendor of the
device. When I attempt to compile the code the compile fails on the grounds
that some warnings are being translated into errors. From my perspective
these errors should not be happening because, when a debugging module wants
to time stamp the build, that is not an error and is perfectly acceptable.
How do I get the compiler to stop producing these errors. The messages I get
are listed below.
The makefile that's used to build this module explicitly specifies a
compiler flag that makes this diagnostic an error. You can see it referenced
in the error message, -Werror=date-time
So the answer to your question is very simple: it happens because that's
what it does. I'm sure there's a way to override this flag. Look at the
makefile, figure out where it specifies this flag, and take it out, if
that's what you want to do. It might be possible to pass some flags on the
command line to override it; can't really say without looking at the
makefile.
If this driver is supposedly obtained from the vendor, and I'd think it's
highly unlikely that Fedora manually patches the upstream kernel to add this
flag, so the conclusion to draw from this is that the vendor has never
tested their module with a kernel that's more recent than whatever is the
first version of the kernel whose makefile was set up that way. I'd say that
this compiler error is the least of your problems.
Authentication requested [root] for make driver:
make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/3.17.8-300.fc21.x86_64/build
M=/usr/local/downloads/dlink/RTL8812AU_linux_v4.3.2_11100.20140411/driver/rtl8812AU_linux_v4.3.2_11100.20140411
modules
make[1]: Entering directory '/usr/src/kernels/3.17.8-300.fc21.x86_64'
CC [M]
/usr/local/downloads/dlink/RTL8812AU_linux_v4.3.2_11100.20140411/driver/rtl8812AU_linux_v4.3.2_11100.20140411/core/rtw_cmd.o
CC [M]
/usr/local/downloads/dlink/RTL8812AU_linux_v4.3.2_11100.20140411/driver/rtl8812AU_linux_v4.3.2_11100.20140411/core/rtw_security.o
CC [M]
/usr/local/downloads/dlink/RTL8812AU_linux_v4.3.2_11100.20140411/driver/rtl8812AU_linux_v4.3.2_11100.20140411/core/rtw_debug.o
/usr/local/downloads/dlink/RTL8812AU_linux_v4.3.2_11100.20140411/driver/rtl8812AU_linux_v4.3.2_11100.20140411/core/rtw_debug.c:
In function ‘dump_drv_version’:
/usr/local/downloads/dlink/RTL8812AU_linux_v4.3.2_11100.20140411/driver/rtl8812AU_linux_v4.3.2_11100.20140411/core/rtw_debug.c:
66:64: error: macro "__DATE__" might prevent reproducible builds [-
Werror=date-time]
DBG_871X_SEL_NL(sel, "build time: %s %s\n", __DATE__, __TIME__);
^
/usr/local/downloads/dlink/RTL8812AU_linux_v4.3.2_11100.20140411/driver/rtl8812AU_linux_v4.3.2_11100.20140411/core/rtw_debug.c:
66:1: error: macro "__TIME__" might prevent reproducible builds [-
Werror=date-time]
DBG_871X_SEL_NL(sel, "build time: %s %s\n", __DATE__, __TIME__);
^
/usr/local/downloads/dlink/RTL8812AU_linux_v4.3.2_11100.20140411/driver/rtl8812AU_linux_v4.3.2_11100.20140411/core/rtw_debug.c:
66:1: error: macro "__DATE__" might prevent reproducible builds [-
Werror=date-time]
/usr/local/downloads/dlink/RTL8812AU_linux_v4.3.2_11100.20140411/driver/rtl8812AU_linux_v4.3.2_11100.20140411/core/rtw_debug.c:
66:1: error: macro "__TIME__" might prevent reproducible builds [-
Werror=date-time]
/usr/local/downloads/dlink/RTL8812AU_linux_v4.3.2_11100.20140411/driver/rtl8812AU_linux_v4.3.2_11100.20140411/core/rtw_debug.c:
66:1: error: macro "__DATE__" might prevent reproducible builds [-
Werror=date-time]
/usr/local/downloads/dlink/RTL8812AU_linux_v4.3.2_11100.20140411/driver/rtl8812AU_linux_v4.3.2_11100.20140411/core/rtw_debug.c:
66:1: error: macro "__TIME__" might prevent reproducible builds [-
Werror=date-time]
cc1: some warnings being treated as errors
scripts/Makefile.build:257: recipe for target
'/usr/local/downloads/dlink/RTL8812AU_linux_v4.3.2_11100.20140411/driver/rtl8812AU_linux_v4.3.2_11100.20140411/core/rtw_debug.o'
failed
make[2]: ***
[/usr/local/downloads/dlink/RTL8812AU_linux_v4.3.2_11100.20140411/driver/rtl8812AU_linux_v4.3.2_11100.20140411/core/rtw_debug.o]
Error 1
Makefile:1377: recipe for target
'_module_/usr/local/downloads/dlink/RTL8812AU_linux_v4.3.2_11100.20140411/driver/rtl8812AU_linux_v4.3.2_11100.20140411'
failed
make[1]: ***
[_module_/usr/local/downloads/dlink/RTL8812AU_linux_v4.3.2_11100.20140411/driver/rtl8812AU_linux_v4.3.2_11100.20140411]
Error 2
make[1]: Leaving directory '/usr/src/kernels/3.17.8-300.fc21.x86_64'
Makefile:1350: recipe for target 'modules' failed
make: *** [modules] Error 2
##################################################
Compile make driver error: 2
Please check error Mesg
##################################################