[sane-devel] [Janitorial] Zero(!) compiler warnings
Olaf Meeuwissen
paddy-hack at member.fsf.org
Wed Sep 21 13:12:27 UTC 2016
Hi devs,
About a year ago, I set out trying to get rid of *all* compiler warnings
on a "well-defined" build platform. I'm happy to report that we've made
it! With the commit of ee550e5d[1], the debian-8-full build[2], is free
of compiler warnings!
[1] https://gitlab.com/sane-project/backends/commit/ee550e5de8e636642b9895d54f6740aa38ee6ff8
[2] https://gitlab.com/sane-project/backends/builds/4218963
Looking over the build log (love how clean those compile commands look,
BTW), next are four linker warnings about the use of `mktemp`, which, as
we all know, is racey and should be avoided. Like the plague, so I'd
like to see these get fixed.
# I have a patch for the avision backend already. By all means, tackle
# any of the canon, canon_dr and dc25 backends' use of mktemp.
There are still a number of description file entries looking for USB
product IDs and interfaces. I added several in 1a328e41[3] based on
what's in the Linux USB IDs list[4] and will fix the typo I introduced
in a jiffy. I don't think it's realistic to get all of these fixed but
if you're willing (here's wishing the hpaio folks are listening in!) to
take a look, be my guest.
[3] https://gitlab.com/sane-project/backends/commit/1a328e412fb7bf3872de20fe6e57b00ab913a75d
[4] http://www.linux-usb.org/usb.ids
The debian-8-mini build[5] is relatively clean, just a few minor things
due to the intentional lack of *any* libraries. The alpine-3.4.-musl
build[6] hints at portability problems in the threading and parallel
port areas.
[5] https://gitlab.com/sane-project/backends/builds/4218962
[6] https://gitlab.com/sane-project/backends/builds/4218964
The fedora-24-clang build[7]? Let's leave that for another time. Much
of what you see there will pop up with gcc-6.x as well (which will be in
Debian 9, rumoured to release sometime early next year, IIRC).
[7] https://gitlab.com/sane-project/backends/builds/4218965
Seeing that debian-8-full now builds without compiler warnings, I am
going to keep it that way by adding a CFLAGS="-Werror" to the `make`
invocation of the build. Remember: AWARE[8].
[8] http://lists.alioth.debian.org/pipermail/sane-devel/2015-November/034145.html
Oh and BTW, Debian released 8.6 last weekend so the Docker image used
for the debian-8-* builds will be updated some time soon as well.
Hope this helps,
--
Olaf Meeuwissen, LPIC-2 FSF Associate Member since 2004-01-27
GnuPG key: F84A2DD9/B3C0 2F47 EA19 64F4 9F13 F43E B8A4 A88A F84A 2DD9
Support Free Software https://my.fsf.org/donate
Join the Free Software Foundation https://my.fsf.org/join
More information about the sane-devel
mailing list