Comments (4)
New gcc 14.x from fedora rawhide turns -Wincompatible-pointer-types
warnings into errors and it trashes building python ext
+ /usr/bin/python3 -sBm build -w --no-isolation
* Getting build dependencies for wheel...
Compiling ./dnet.pyx because it changed.
[1/1] Cythonizing ./dnet.pyx
/usr/lib64/python3.8/site-packages/Cython/Compiler/Main.py:381: FutureWarning: Cython directive 'language_level' not set, using '3str' for now (Py3). This has changed from earlier releases! File: /home/tkloczko/rpmbuild/BUILD/libdnet-libdnet-1.17.0/python/dnet.pxd
tree = Parsing.p_module(s, pxd, full_module_name)
warning: dnet.pyx:54:0: Global name __iter_append matched from within class scope in contradiction to to Python 'class private name' rules. This may change in a future release.
warning: dnet.pyx:54:0: Global name __iter_append matched from within class scope in contradiction to to Python 'class private name' rules. This may change in a future release.
warning: dnet.pyx:54:0: Global name __iter_append matched from within class scope in contradiction to to Python 'class private name' rules. This may change in a future release.
warning: dnet.pyx:54:0: Global name __iter_append matched from within class scope in contradiction to to Python 'class private name' rules. This may change in a future release.
warning: dnet.pyx:54:0: Global name __iter_append matched from within class scope in contradiction to to Python 'class private name' rules. This may change in a future release.
warning: dnet.pyx:54:0: Global name __iter_append matched from within class scope in contradiction to to Python 'class private name' rules. This may change in a future release.
warning: dnet.pyx:54:0: Global name __iter_append matched from within class scope in contradiction to to Python 'class private name' rules. This may change in a future release.
warning: dnet.pyx:54:0: Global name __iter_append matched from within class scope in contradiction to to Python 'class private name' rules. This may change in a future release.
running egg_info
creating dnet.egg-info
writing dnet.egg-info/PKG-INFO
writing dependency_links to dnet.egg-info/dependency_links.txt
writing top-level names to dnet.egg-info/top_level.txt
writing manifest file 'dnet.egg-info/SOURCES.txt'
dependency ../include/dnet.h won't be automatically included in the manifest: the path can't have `..` segments
ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any
reading manifest file 'dnet.egg-info/SOURCES.txt'
writing manifest file 'dnet.egg-info/SOURCES.txt'
* Building wheel...
running bdist_wheel
running build
running build_ext
building 'dnet' extension
creating build
creating build/temp.linux-x86_64-cpython-38
/usr/bin/gcc -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -fno-semantic-interposition -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -fno-semantic-interposition -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -D_GNU_SOURCE -fPIC -fwrapv -ffat-lto-objects -fno-semantic-interposition -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -g -grecord-gcc-switches -pipe -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fdata-sections -ffunction-sections -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -flto=auto -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -Wall -Werror=format-security -fPIC -I../include -I/usr/include/python3.8 -c ./dnet.c -o build/temp.linux-x86_64-cpython-38/./dnet.o
./dnet.c: In function ‘__pyx_pf_4dnet_3eth_2get’:
./dnet.c:6158:51: warning: pointer targets in passing argument 1 of ‘PyBytes_FromStringAndSize’ differ in signedness [-Wpointer-sign]
6158 | __pyx_t_2 = PyBytes_FromStringAndSize(__pyx_v_ea.data, 6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 122, __pyx_L1_error)
| ~~~~~~~~~~^~~~~
| |
| uint8_t * {aka unsigned char *}
In file included from /usr/include/python3.8/Python.h:96,
from ./dnet.c:50:
/usr/include/python3.8/bytesobject.h:51:50: note: expected ‘const char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
51 | PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
| ^~~~~~~~~~~~
./dnet.c: In function ‘__pyx_pf_4dnet_3eth_4set’:
./dnet.c:6306:48: warning: pointer targets in passing argument 1 of ‘__pyx_f_4dnet___memcpy’ differ in signedness [-Wpointer-sign]
6306 | __pyx_t_1 = __pyx_f_4dnet___memcpy(__pyx_v_ea.data, __pyx_v_value, 6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 132, __pyx_L1_error)
| ~~~~~~~~~~^~~~~
| |
| uint8_t * {aka unsigned char *}
./dnet.c:5576:47: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
5576 | static PyObject *__pyx_f_4dnet___memcpy(char *__pyx_v_dst, PyObject *__pyx_v_src, int __pyx_v_n) {
| ~~~~~~^~~~~~~~~~~
./dnet.c: In function ‘__pyx_pf_4dnet_2eth_ntoa’:
./dnet.c:6911:48: warning: pointer targets in passing argument 1 of ‘__pyx_f_4dnet___memcpy’ differ in signedness [-Wpointer-sign]
6911 | __pyx_t_1 = __pyx_f_4dnet___memcpy(__pyx_v_ea.data, __pyx_v_buf, 6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 153, __pyx_L1_error)
| ~~~~~~~~~~^~~~~
| |
| uint8_t * {aka unsigned char *}
./dnet.c:5576:47: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
5576 | static PyObject *__pyx_f_4dnet___memcpy(char *__pyx_v_dst, PyObject *__pyx_v_src, int __pyx_v_n) {
| ~~~~~~^~~~~~~~~~~
./dnet.c: In function ‘__pyx_pf_4dnet_4eth_aton’:
./dnet.c:7103:51: warning: pointer targets in passing argument 1 of ‘PyBytes_FromStringAndSize’ differ in signedness [-Wpointer-sign]
7103 | __pyx_t_3 = PyBytes_FromStringAndSize(__pyx_v_ea.data, 6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 162, __pyx_L1_error)
| ~~~~~~~~~~^~~~~
| |
| uint8_t * {aka unsigned char *}
/usr/include/python3.8/bytesobject.h:51:50: note: expected ‘const char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
51 | PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
| ^~~~~~~~~~~~
./dnet.c: In function ‘__pyx_pf_4dnet_6eth_pack_hdr’:
./dnet.c:7330:47: warning: pointer targets in passing argument 1 of ‘__pyx_f_4dnet___memcpy’ differ in signedness [-Wpointer-sign]
7330 | __pyx_t_1 = __pyx_f_4dnet___memcpy(__pyx_v_s.data, __pyx_v_src, 6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 175, __pyx_L1_error)
| ~~~~~~~~~^~~~~
| |
| uint8_t * {aka unsigned char *}
./dnet.c:5576:47: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
5576 | static PyObject *__pyx_f_4dnet___memcpy(char *__pyx_v_dst, PyObject *__pyx_v_src, int __pyx_v_n) {
| ~~~~~~^~~~~~~~~~~
./dnet.c:7341:47: warning: pointer targets in passing argument 1 of ‘__pyx_f_4dnet___memcpy’ differ in signedness [-Wpointer-sign]
7341 | __pyx_t_1 = __pyx_f_4dnet___memcpy(__pyx_v_d.data, __pyx_v_dst, 6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 176, __pyx_L1_error)
| ~~~~~~~~~^~~~~
| |
| uint8_t * {aka unsigned char *}
./dnet.c:5576:47: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
5576 | static PyObject *__pyx_f_4dnet___memcpy(char *__pyx_v_dst, PyObject *__pyx_v_src, int __pyx_v_n) {
| ~~~~~~^~~~~~~~~~~
./dnet.c: In function ‘__pyx_pf_4dnet_12ip_checksum’:
./dnet.c:8437:3: warning: ‘PyObject_AsReadBuffer’ is deprecated [-Wdeprecated-declarations]
8437 | __pyx_t_1 = (PyObject_AsReadBuffer(__pyx_v_pkt, (&__pyx_v_p), (&__pyx_v_n)) == 0);
| ^~~~~~~~~
In file included from /usr/include/python3.8/Python.h:147:
/usr/include/python3.8/abstract.h:337:17: note: declared here
337 | PyAPI_FUNC(int) PyObject_AsReadBuffer(PyObject *obj,
| ^~~~~~~~~~~~~~~~~~~~~
./dnet.c:8437:52: error: passing argument 2 of ‘PyObject_AsReadBuffer’ from incompatible pointer type [-Wincompatible-pointer-types]
8437 | __pyx_t_1 = (PyObject_AsReadBuffer(__pyx_v_pkt, (&__pyx_v_p), (&__pyx_v_n)) == 0);
| ~^~~~~~~~~~~
| |
| char **
/usr/include/python3.8/abstract.h:338:52: note: expected ‘const void **’ but argument is of type ‘char **’
338 | const void **buffer,
| ~~~~~~~~~~~~~^~~~~~
./dnet.c:8437:66: error: passing argument 3 of ‘PyObject_AsReadBuffer’ from incompatible pointer type [-Wincompatible-pointer-types]
8437 | __pyx_t_1 = (PyObject_AsReadBuffer(__pyx_v_pkt, (&__pyx_v_p), (&__pyx_v_n)) == 0);
| ~^~~~~~~~~~~
| |
| int *
/usr/include/python3.8/abstract.h:339:51: note: expected ‘Py_ssize_t *’ {aka ‘long int *’} but argument is of type ‘int *’
339 | Py_ssize_t *buffer_len);
| ~~~~~~~~~~~~^~~~~~~~~~
./dnet.c: In function ‘__pyx_pf_4dnet_14ip_cksum_add’:
./dnet.c:8729:3: warning: ‘PyObject_AsReadBuffer’ is deprecated [-Wdeprecated-declarations]
8729 | __pyx_t_1 = (PyObject_AsReadBuffer(__pyx_v_buf, (&__pyx_v_p), (&__pyx_v_n)) == 0);
| ^~~~~~~~~
/usr/include/python3.8/abstract.h:337:17: note: declared here
337 | PyAPI_FUNC(int) PyObject_AsReadBuffer(PyObject *obj,
| ^~~~~~~~~~~~~~~~~~~~~
./dnet.c:8729:52: error: passing argument 2 of ‘PyObject_AsReadBuffer’ from incompatible pointer type [-Wincompatible-pointer-types]
8729 | __pyx_t_1 = (PyObject_AsReadBuffer(__pyx_v_buf, (&__pyx_v_p), (&__pyx_v_n)) == 0);
| ~^~~~~~~~~~~
| |
| char **
/usr/include/python3.8/abstract.h:338:52: note: expected ‘const void **’ but argument is of type ‘char **’
338 | const void **buffer,
| ~~~~~~~~~~~~~^~~~~~
./dnet.c:8729:66: error: passing argument 3 of ‘PyObject_AsReadBuffer’ from incompatible pointer type [-Wincompatible-pointer-types]
8729 | __pyx_t_1 = (PyObject_AsReadBuffer(__pyx_v_buf, (&__pyx_v_p), (&__pyx_v_n)) == 0);
| ~^~~~~~~~~~~
| |
| int *
/usr/include/python3.8/abstract.h:339:51: note: expected ‘Py_ssize_t *’ {aka ‘long int *’} but argument is of type ‘int *’
339 | Py_ssize_t *buffer_len);
| ~~~~~~~~~~~~^~~~~~~~~~
In file included from ../include/dnet.h:17,
from ./dnet.c:1222:
./dnet.c: In function ‘__pyx_pf_4dnet_4addr_3eth___get__’:
../include/dnet/addr.h:35:33: warning: pointer targets in passing argument 1 of ‘PyBytes_FromStringAndSize’ differ in signedness [-Wpointer-sign]
35 | #define addr_data8 __addr_u.__data8
./dnet.c:10918:61: note: in expansion of macro ‘addr_data8’
10918 | __pyx_t_3 = PyBytes_FromStringAndSize(__pyx_v_self->_addr.addr_data8, 6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 488, __pyx_L1_error)
| ^~~~~~~~~~
/usr/include/python3.8/bytesobject.h:51:50: note: expected ‘const char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
51 | PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
| ^~~~~~~~~~~~
./dnet.c: In function ‘__pyx_pf_4dnet_4addr_3eth_2__set__’:
../include/dnet/addr.h:35:33: warning: pointer targets in passing argument 1 of ‘__pyx_f_4dnet___memcpy’ differ in signedness [-Wpointer-sign]
35 | #define addr_data8 __addr_u.__data8
./dnet.c:11025:58: note: in expansion of macro ‘addr_data8’
11025 | __pyx_t_3 = __pyx_f_4dnet___memcpy(__pyx_v_self->_addr.addr_data8, __pyx_v_value, 6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 493, __pyx_L1_error)
| ^~~~~~~~~~
./dnet.c:5576:47: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
5576 | static PyObject *__pyx_f_4dnet___memcpy(char *__pyx_v_dst, PyObject *__pyx_v_src, int __pyx_v_n) {
| ~~~~~~^~~~~~~~~~~
./dnet.c: In function ‘__pyx_pf_4dnet_4addr_2ip___get__’:
../include/dnet/addr.h:35:33: warning: pointer targets in passing argument 1 of ‘PyBytes_FromStringAndSize’ differ in signedness [-Wpointer-sign]
35 | #define addr_data8 __addr_u.__data8
./dnet.c:11157:61: note: in expansion of macro ‘addr_data8’
11157 | __pyx_t_3 = PyBytes_FromStringAndSize(__pyx_v_self->_addr.addr_data8, 4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 502, __pyx_L1_error)
| ^~~~~~~~~~
/usr/include/python3.8/bytesobject.h:51:50: note: expected ‘const char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
51 | PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
| ^~~~~~~~~~~~
./dnet.c: In function ‘__pyx_pf_4dnet_4addr_2ip_2__set__’:
../include/dnet/addr.h:35:33: warning: pointer targets in passing argument 1 of ‘__pyx_f_4dnet___memcpy’ differ in signedness [-Wpointer-sign]
35 | #define addr_data8 __addr_u.__data8
./dnet.c:11323:60: note: in expansion of macro ‘addr_data8’
11323 | __pyx_t_4 = __pyx_f_4dnet___memcpy(__pyx_v_self->_addr.addr_data8, __pyx_v_value, 4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 513, __pyx_L1_error)
| ^~~~~~~~~~
./dnet.c:5576:47: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
5576 | static PyObject *__pyx_f_4dnet___memcpy(char *__pyx_v_dst, PyObject *__pyx_v_src, int __pyx_v_n) {
| ~~~~~~^~~~~~~~~~~
./dnet.c: In function ‘__pyx_pf_4dnet_4addr_3ip6___get__’:
../include/dnet/addr.h:35:33: warning: pointer targets in passing argument 1 of ‘PyBytes_FromStringAndSize’ differ in signedness [-Wpointer-sign]
35 | #define addr_data8 __addr_u.__data8
./dnet.c:11457:61: note: in expansion of macro ‘addr_data8’
11457 | __pyx_t_3 = PyBytes_FromStringAndSize(__pyx_v_self->_addr.addr_data8, 16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 522, __pyx_L1_error)
| ^~~~~~~~~~
/usr/include/python3.8/bytesobject.h:51:50: note: expected ‘const char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
51 | PyAPI_FUNC(PyObject *) PyBytes_FromStringAndSize(const char *, Py_ssize_t);
| ^~~~~~~~~~~~
./dnet.c: In function ‘__pyx_pf_4dnet_4addr_3ip6_2__set__’:
../include/dnet/addr.h:35:33: warning: pointer targets in passing argument 1 of ‘__pyx_f_4dnet___memcpy’ differ in signedness [-Wpointer-sign]
35 | #define addr_data8 __addr_u.__data8
./dnet.c:11564:58: note: in expansion of macro ‘addr_data8’
11564 | __pyx_t_3 = __pyx_f_4dnet___memcpy(__pyx_v_self->_addr.addr_data8, __pyx_v_value, 16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 527, __pyx_L1_error)
| ^~~~~~~~~~
./dnet.c:5576:47: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
5576 | static PyObject *__pyx_f_4dnet___memcpy(char *__pyx_v_dst, PyObject *__pyx_v_src, int __pyx_v_n) {
| ~~~~~~^~~~~~~~~~~
./dnet.c: In function ‘__pyx_pf_4dnet_3arp_8loop’:
./dnet.c:15478:64: error: passing argument 2 of ‘arp_loop’ from incompatible pointer type [-Wincompatible-pointer-types]
15478 | __pyx_t_1 = __Pyx_PyInt_From_int(arp_loop(__pyx_v_self->arp, __pyx_f_4dnet___arp_callback, ((void *)__pyx_v__arg))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 760, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| int (*)(struct arp_entry *, void *)
In file included from ../include/dnet.h:18:
../include/dnet/arp.h:101:43: note: expected ‘arp_handler’ {aka ‘int (*)(const struct arp_entry *, void *)’} but argument is of type ‘int (*)(struct arp_entry *, void *)’
101 | int arp_loop(arp_t *arp, arp_handler callback, void *arg);
| ~~~~~~~~~~~~^~~~~~~~
./dnet.c: In function ‘__pyx_pf_4dnet_28arp_pack_hdr_ethip’:
./dnet.c:16141:48: warning: pointer targets in passing argument 1 of ‘__pyx_f_4dnet___memcpy’ differ in signedness [-Wpointer-sign]
16141 | __pyx_t_1 = __pyx_f_4dnet___memcpy(__pyx_v_sh.data, __pyx_v_sha, 6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 786, __pyx_L1_error)
| ~~~~~~~~~~^~~~~
| |
| uint8_t * {aka unsigned char *}
./dnet.c:5576:47: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
5576 | static PyObject *__pyx_f_4dnet___memcpy(char *__pyx_v_dst, PyObject *__pyx_v_src, int __pyx_v_n) {
| ~~~~~~^~~~~~~~~~~
./dnet.c:16152:48: warning: pointer targets in passing argument 1 of ‘__pyx_f_4dnet___memcpy’ differ in signedness [-Wpointer-sign]
16152 | __pyx_t_1 = __pyx_f_4dnet___memcpy(__pyx_v_dh.data, __pyx_v_dha, 6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 787, __pyx_L1_error)
| ~~~~~~~~~~^~~~~
| |
| uint8_t * {aka unsigned char *}
./dnet.c:5576:47: note: expected ‘char *’ but argument is of type ‘uint8_t *’ {aka ‘unsigned char *’}
5576 | static PyObject *__pyx_f_4dnet___memcpy(char *__pyx_v_dst, PyObject *__pyx_v_src, int __pyx_v_n) {
| ~~~~~~^~~~~~~~~~~
./dnet.c: In function ‘__pyx_pf_4dnet_4intf_10loop’:
./dnet.c:18820:66: error: passing argument 2 of ‘intf_loop’ from incompatible pointer type [-Wincompatible-pointer-types]
18820 | __pyx_t_1 = __Pyx_PyInt_From_int(intf_loop(__pyx_v_self->intf, __pyx_f_4dnet___intf_callback, ((void *)__pyx_v__arg))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1060, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| int (*)(struct intf_entry *, void *)
In file included from ../include/dnet.h:25:
../include/dnet/intf.h:64:44: note: expected ‘intf_handler’ {aka ‘int (*)(const struct intf_entry *, void *)’} but argument is of type ‘int (*)(struct intf_entry *, void *)’
64 | int intf_loop(intf_t *i, intf_handler callback, void *arg);
| ~~~~~~~~~~~~~^~~~~~~~
./dnet.c: In function ‘__pyx_pf_4dnet_5route_8loop’:
./dnet.c:20336:68: error: passing argument 2 of ‘route_loop’ from incompatible pointer type [-Wincompatible-pointer-types]
20336 | __pyx_t_1 = __Pyx_PyInt_From_int(route_loop(__pyx_v_self->route, __pyx_f_4dnet___route_callback, ((void *)__pyx_v__arg))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1159, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| int (*)(struct route_entry *, void *)
In file included from ../include/dnet.h:26:
../include/dnet/route.h:34:47: note: expected ‘route_handler’ {aka ‘int (*)(const struct route_entry *, void *)’} but argument is of type ‘int (*)(struct route_entry *, void *)’
34 | int route_loop(route_t *r, route_handler callback, void *arg);
| ~~~~~~~~~~~~~~^~~~~~~~
./dnet.c: In function ‘__pyx_pf_4dnet_2fw_6loop’:
./dnet.c:22262:62: error: passing argument 2 of ‘fw_loop’ from incompatible pointer type [-Wincompatible-pointer-types]
22262 | __pyx_t_1 = __Pyx_PyInt_From_int(fw_loop(__pyx_v_self->fw, __pyx_f_4dnet___fw_callback, ((void *)__pyx_v__arg))); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1295, __pyx_L1_error)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| int (*)(struct fw_rule *, void *)
In file included from ../include/dnet.h:27:
../include/dnet/fw.h:50:38: note: expected ‘fw_handler’ {aka ‘int (*)(const struct fw_rule *, void *)’} but argument is of type ‘int (*)(struct fw_rule *, void *)’
50 | int fw_loop(fw_t *f, fw_handler callback, void *arg);
| ~~~~~~~~~~~^~~~~~~~
error: command '/usr/bin/gcc' failed with exit code 1
from libdnet.
Progress (elimination of unused-*
):
# rpmbuild -ta --with check libdnet-1.17.0.tar.gz --quiet 2>&1 | grep -- -W | sed 's/.*\[//; s/\]//' | sort | uniq -c | sort -nr
34 -Wpointer-sign
8 -Wincompatible-pointer-types
2 -Wsizeof-pointer-memaccess
1 -Wstringop-overflow=
1 -Wmaybe-uninitialized
1 -Wimplicit-function-declaration
1 -Warray-bounds
from libdnet.
I can confirm this observation - it's going to require a lot of type casting, but since the code is generated from Cython, this is going to be a bit more difficult. :-( If there is anyone out there who has experience and can look into it, it would be appreciated!
from libdnet.
BTW. I think we should spin this off into a separate issue.
from libdnet.
Related Issues (20)
- 1.14: libdnet is not LTO ready HOT 17
- ImportError at start HOT 2
- Allow building on Debian GNU/kFreeBSD HOT 2
- manpages: Distinguish between groff hyphens and minus signs HOT 1
- mapages: fix some typos HOT 1
- Conflicting parameter types of strlcpy, strlcat to cause undefined behaviour HOT 3
- Investigate modifications applied by Nmap HOT 5
- Detect "check" lib multi-arch aware via pkg-config HOT 1
- arp-ioctl.c:221: 3 * off by one error HOT 1
- Cross compiling fails with 1.16.1 HOT 6
- Fix groff "empty input lines" warning HOT 1
- dnet 1.16.1 with python 3.11 error: incomplete definition of type 'struct _frame' HOT 7
- Update dnet on PyPi to make this fork installable via pip HOT 2
- libdnet fails to build with Python 3.12: ModuleNotFoundError: No module named 'distutils' HOT 4
- Error while configuring it. Please advise HOT 4
- Cmake support HOT 2
- Python bindings fail to build on macOS HOT 5
- configure missing auxiliary file: compile? HOT 3
- HOWTO to compile HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libdnet.