tahoe-lafs / zfec

zfec -- an efficient, portable erasure coding tool
Other
374 stars 44 forks source link

Compiler warnings when building wheel (Python 3.8, GCC 10 on Debian) #48

Closed sajith closed 2 years ago

sajith commented 3 years ago

There are some warnings when building the C extension on Debian stable:

$ python setup.py bdist_wheel
[...]
running build_ext
building 'zfec._fec' extension
creating build/temp.linux-x86_64-3.8
creating build/temp.linux-x86_64-3.8/zfec
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Izfec/ -I/home/sajith/projects/tahoe/zfec-github/venv/include -I/usr/include/python3.8 -c zfec/fec.c -o build/temp.linux-x86_64-3.8/zfec/fec.o -std=c99
zfec/fec.c: In function ‘fec_new’:
zfec/fec.c:447:38: warning: comparison of integer expressions of different signedness: ‘unsigned int’ and ‘int’ [-Wsign-compare]
  447 |     for (p = tmp_m + k, row = 0; row < n - 1; row++, p += k)
      |                                      ^
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -Izfec/ -I/home/sajith/projects/tahoe/zfec-github/venv/include -I/usr/include/python3.8 -c zfec/_fecmodule.c -o build/temp.linux-x86_64-3.8/zfec/_fecmodule.o -std=c99
zfec/_fecmodule.c: In function ‘Encoder_encode’:
zfec/_fecmodule.c:137:19: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘int’ [-Wsign-compare]
  137 |     for (i = 0; i < self->mm - self->kk; i++)
      |                   ^
[...]

Python and compiler versions:

$ python --version
Python 3.8.5

$ x86_64-linux-gnu-gcc --version
x86_64-linux-gnu-gcc (Debian 10.1.0-6) 10.1.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
exarkun commented 2 years ago

Splitting the deprecation warnings off to another ticket because they're quite different from the signedness mismatch warnings.