saghul / pycares

Python interface for c-ares
https://pypi.org/project/pycares/
MIT License
162 stars 74 forks source link

python3 setup.py build failed in pycares@4.0.0 on centos8_aarch64 #158

Closed Tom-python0121 closed 2 years ago

Tom-python0121 commented 3 years ago

Hello,I meet a problem:python3 setup.py build failed in pycares@4.0.0 on centos8_aarch64.

Steps to reproduce the issue

[root@centos8 pycares-pycares-4.0.0]# python3 setup.py build
running build
running build_py
running build_ext
generating cffi module 'build/temp.linux-aarch64-3.6/_cares.c'
already up-to-date
building '_cares' extension
gcc -pthread -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -fasynchronous-unwind-tables -fstack-clash-protection -D_GNU_SOURCE -fPIC -fwrapv -fPIC -DHAVE_CONFIG_H=1 -D_LARGEFILE_SOURCE=1 -D_FILE_OFFSET_BITS=64 -Ideps/build-config/include -I/usr/include/python3.6m -c build/temp.linux-aarch64-3.6/_cares.c -o build/temp.linux-aarch64-3.6/build/temp.linux-aarch64-3.6/_cares.o
build/temp.linux-aarch64-3.6/_cares.c:931:60: warning: ‘struct ares_addrinfo’ declared inside parameter list will not be visible outside of this definition or declaration
 static void _addrinfo_cb(void * a0, int a1, int a2, struct ares_addrinfo * a3)
                                                            ^~~~~~~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:1605:46: warning: ‘struct ares_addrinfo’ declared inside parameter list will not be visible outside of this definition or declaration
 static void _cffi_d_ares_freeaddrinfo(struct ares_addrinfo * x0)
                                              ^~~~~~~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c: In function ‘_cffi_d_ares_freeaddrinfo’:
build/temp.linux-aarch64-3.6/_cares.c:1607:3: warning: implicit declaration of function ‘ares_freeaddrinfo’; did you mean ‘ares_free_string’? [-Wimplicit-function-declaration]
   ares_freeaddrinfo(x0);
   ^~~~~~~~~~~~~~~~~
   ares_free_string
build/temp.linux-aarch64-3.6/_cares.c: At top level:
build/temp.linux-aarch64-3.6/_cares.c:1694:177: warning: ‘struct ares_addrinfo’ declared inside parameter list will not be visible outside of this definition or declaration
 static void _cffi_d_ares_getaddrinfo(struct ares_channeldata * x0, char const * x1, char const * x2, struct ares_addrinfo_hints const * x3, void(* x4)(void *, int, int, struct ares_addrinfo *), void * x5)
                                                                                                                                                                                 ^~~~~~~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:1694:109: warning: ‘struct ares_addrinfo_hints’ declared inside parameter list will not be visible outside of this definition or declaration
 static void _cffi_d_ares_getaddrinfo(struct ares_channeldata * x0, char const * x1, char const * x2, struct ares_addrinfo_hints const * x3, void(* x4)(void *, int, int, struct ares_addrinfo *), void * x5)
                                                                                                             ^~~~~~~~~~~~~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c: In function ‘_cffi_d_ares_getaddrinfo’:
build/temp.linux-aarch64-3.6/_cares.c:1696:3: warning: implicit declaration of function ‘ares_getaddrinfo’; did you mean ‘ares_getnameinfo’? [-Wimplicit-function-declaration]
   ares_getaddrinfo(x0, x1, x2, x3, x4, x5);
   ^~~~~~~~~~~~~~~~
   ares_getnameinfo
build/temp.linux-aarch64-3.6/_cares.c: In function ‘_cffi_f_ares_getaddrinfo’:
build/temp.linux-aarch64-3.6/_cares.c:1706:39: warning: ‘struct ares_addrinfo’ declared inside parameter list will not be visible outside of this definition or declaration
   void(* x4)(void *, int, int, struct ares_addrinfo *);
                                       ^~~~~~~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:1756:42: warning: ‘struct ares_addrinfo’ declared inside parameter list will not be visible outside of this definition or declaration
   x4 = (void(*)(void *, int, int, struct ares_addrinfo *))_cffi_to_c_pointer(arg4, _cffi_type(180));
                                          ^~~~~~~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:1756:6: warning: assignment to ‘void (*)(void *, int,  int,  struct ares_addrinfo *)’ from incompatible pointer type ‘void (*)(void *, int,  int,  struct ares_addrinfo *)’  -Wincompatible-pointer-types]
   x4 = (void(*)(void *, int, int, struct ares_addrinfo *))_cffi_to_c_pointer(arg4, _cffi_type(180));
      ^
build/temp.linux-aarch64-3.6/_cares.c:1757:47: warning: ‘struct ares_addrinfo’ declared inside parameter list will not be visible outside of this definition or declaration
   if (x4 == (void(*)(void *, int, int, struct ares_addrinfo *))NULL && PyErr_Occurred())
                                               ^~~~~~~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:1757:10: warning: comparison of distinct pointer types lacks a cast
   if (x4 == (void(*)(void *, int, int, struct ares_addrinfo *))NULL && PyErr_Occurred())
          ^~
build/temp.linux-aarch64-3.6/_cares.c: At top level:
build/temp.linux-aarch64-3.6/_cares.c:2672:82: warning: ‘struct ares_caa_reply’ declared inside parameter list will not be visible outside of this definition or declaration
 static int _cffi_d_ares_parse_caa_reply(unsigned char const * x0, int x1, struct ares_caa_reply * * x2)
                                                                                  ^~~~~~~~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c: In function ‘_cffi_d_ares_parse_caa_reply’:
build/temp.linux-aarch64-3.6/_cares.c:2674:10: warning: implicit declaration of function ‘ares_parse_caa_reply’; did you mean ‘ares_parse_soa_reply’? [-Wimplicit-function-declaration]
   return ares_parse_caa_reply(x0, x1, x2);
          ^~~~~~~~~~~~~~~~~~~~
          ares_parse_soa_reply
build/temp.linux-aarch64-3.6/_cares.c: In function ‘_cffi_const_ARES_ESERVICE’:
build/temp.linux-aarch64-3.6/_cares.c:4154:12: error: ‘ARES_ESERVICE’ undeclared (first use in this function); did you mean ‘ARES_ESERVFAIL’?
   int n = (ARES_ESERVICE) <= 0;
            ^~~~~~~~~~~~~
            ARES_ESERVFAIL
build/temp.linux-aarch64-3.6/_cares.c:4154:12: note: each undeclared identifier is reported only once for each function it appears in
build/temp.linux-aarch64-3.6/_cares.c: At top level:
build/temp.linux-aarch64-3.6/_cares.c:4636:56: warning: ‘struct ares_addrinfo’ declared inside parameter list will not be visible outside of this definition or declaration
 static void _cffi_checkfld_struct_ares_addrinfo(struct ares_addrinfo *p)
                                                        ^~~~~~~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c: In function ‘_cffi_checkfld_struct_ares_addrinfo’:
build/temp.linux-aarch64-3.6/_cares.c:4640:43: error: dereferencing pointer to incomplete type ‘struct ares_addrinfo’
   { struct ares_addrinfo_cname * *tmp = &p->cnames; (void)tmp; }
                                           ^~
build/temp.linux-aarch64-3.6/_cares.c: At top level:
build/temp.linux-aarch64-3.6/_cares.c:4643:72: error: field ‘y’ has incomplete type
 struct _cffi_align_struct_ares_addrinfo { char x; struct ares_addrinfo y; };
                                                                        ^
build/temp.linux-aarch64-3.6/_cares.c:4646:62: warning: ‘struct ares_addrinfo_cname’ declared inside parameter list will not be visible outside of this definition or declaration
 static void _cffi_checkfld_struct_ares_addrinfo_cname(struct ares_addrinfo_cname *p)
                                                              ^~~~~~~~~~~~~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c: In function ‘_cffi_checkfld_struct_ares_addrinfo_cname’:
build/temp.linux-aarch64-3.6/_cares.c:4650:12: error: dereferencing pointer to incomplete type ‘struct ares_addrinfo_cname’
   (void)((p->ttl) | 0);  /* check that 'struct ares_addrinfo_cname.ttl' is an integer */
            ^~
build/temp.linux-aarch64-3.6/_cares.c: At top level:
build/temp.linux-aarch64-3.6/_cares.c:4655:84: error: field ‘y’ has incomplete type
 struct _cffi_align_struct_ares_addrinfo_cname { char x; struct ares_addrinfo_cname y; };
                                                                                    ^
build/temp.linux-aarch64-3.6/_cares.c:4658:62: warning: ‘struct ares_addrinfo_hints’ declared inside parameter list will not be visible outside of this definition or declaration
 static void _cffi_checkfld_struct_ares_addrinfo_hints(struct ares_addrinfo_hints *p)
                                                              ^~~~~~~~~~~~~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c: In function ‘_cffi_checkfld_struct_ares_addrinfo_hints’:
build/temp.linux-aarch64-3.6/_cares.c:4662:12: error: dereferencing pointer to incomplete type ‘struct ares_addrinfo_hints’
   (void)((p->ai_flags) | 0);  /* check that 'struct ares_addrinfo_hints.ai_flags' is an integer */
            ^~
build/temp.linux-aarch64-3.6/_cares.c: At top level:
build/temp.linux-aarch64-3.6/_cares.c:4667:84: error: field ‘y’ has incomplete type
 struct _cffi_align_struct_ares_addrinfo_hints { char x; struct ares_addrinfo_hints y; };
                                                                                    ^
build/temp.linux-aarch64-3.6/_cares.c:4670:61: warning: ‘struct ares_addrinfo_node’ declared inside parameter list will not be visible outside of this definition or declaration
 static void _cffi_checkfld_struct_ares_addrinfo_node(struct ares_addrinfo_node *p)
                                                             ^~~~~~~~~~~~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c: In function ‘_cffi_checkfld_struct_ares_addrinfo_node’:
build/temp.linux-aarch64-3.6/_cares.c:4674:12: error: dereferencing pointer to incomplete type ‘struct ares_addrinfo_node’
   (void)((p->ai_ttl) | 0);  /* check that 'struct ares_addrinfo_node.ai_ttl' is an integer */
            ^~
build/temp.linux-aarch64-3.6/_cares.c: At top level:
build/temp.linux-aarch64-3.6/_cares.c:4683:82: error: field ‘y’ has incomplete type
 struct _cffi_align_struct_ares_addrinfo_node { char x; struct ares_addrinfo_node y; };
                                                                                  ^
build/temp.linux-aarch64-3.6/_cares.c:4696:57: warning: ‘struct ares_caa_reply’ declared inside parameter list will not be visible outside of this definition or declaration
 static void _cffi_checkfld_struct_ares_caa_reply(struct ares_caa_reply *p)
                                                         ^~~~~~~~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c: In function ‘_cffi_checkfld_struct_ares_caa_reply’:
build/temp.linux-aarch64-3.6/_cares.c:4700:38: error: dereferencing pointer to incomplete type ‘struct ares_caa_reply’
   { struct ares_caa_reply * *tmp = &p->next; (void)tmp; }
                                      ^~
build/temp.linux-aarch64-3.6/_cares.c: At top level:
build/temp.linux-aarch64-3.6/_cares.c:4707:74: error: field ‘y’ has incomplete type
 struct _cffi_align_struct_ares_caa_reply { char x; struct ares_caa_reply y; };
                                                                          ^
In file included from /usr/include/rpc/netdb.h:42,
                 from /usr/include/netdb.h:32,
                 from build/temp.linux-aarch64-3.6/_cares.c:576:
build/temp.linux-aarch64-3.6/_cares.c:5068:15: error: invalid use of undefined type ‘struct ares_addrinfo’
   { "cnames", offsetof(struct ares_addrinfo, cnames),
               ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5069:49: error: dereferencing pointer to incomplete type ‘struct ares_addrinfo’
               sizeof(((struct ares_addrinfo *)0)->cnames),
                                                 ^~
In file included from /usr/include/rpc/netdb.h:42,
                 from /usr/include/netdb.h:32,
                 from build/temp.linux-aarch64-3.6/_cares.c:576:
build/temp.linux-aarch64-3.6/_cares.c:5071:14: error: invalid use of undefined type ‘struct ares_addrinfo’
   { "nodes", offsetof(struct ares_addrinfo, nodes),
              ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5074:12: error: invalid use of undefined type ‘struct ares_addrinfo_cname’
   { "ttl", offsetof(struct ares_addrinfo_cname, ttl),
            ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5075:52: error: dereferencing pointer to incomplete type ‘struct ares_addrinfo_cname’
            sizeof(((struct ares_addrinfo_cname *)0)->ttl),
                                                    ^~
In file included from /usr/include/rpc/netdb.h:42,
                 from /usr/include/netdb.h:32,
                 from build/temp.linux-aarch64-3.6/_cares.c:576:
build/temp.linux-aarch64-3.6/_cares.c:5077:14: error: invalid use of undefined type ‘struct ares_addrinfo_cname’
   { "alias", offsetof(struct ares_addrinfo_cname, alias),
              ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5080:13: error: invalid use of undefined type ‘struct ares_addrinfo_cname’
   { "name", offsetof(struct ares_addrinfo_cname, name),
             ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5083:13: error: invalid use of undefined type ‘struct ares_addrinfo_cname’
   { "next", offsetof(struct ares_addrinfo_cname, next),
             ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5086:17: error: invalid use of undefined type ‘struct ares_addrinfo_hints’
   { "ai_flags", offsetof(struct ares_addrinfo_hints, ai_flags),
                 ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5087:57: error: dereferencing pointer to incomplete type ‘struct ares_addrinfo_hints’
                 sizeof(((struct ares_addrinfo_hints *)0)->ai_flags),
                                                         ^~
In file included from /usr/include/rpc/netdb.h:42,
                 from /usr/include/netdb.h:32,
                 from build/temp.linux-aarch64-3.6/_cares.c:576:
build/temp.linux-aarch64-3.6/_cares.c:5089:18: error: invalid use of undefined type ‘struct ares_addrinfo_hints’
   { "ai_family", offsetof(struct ares_addrinfo_hints, ai_family),
                  ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5092:20: error: invalid use of undefined type ‘struct ares_addrinfo_hints’
   { "ai_socktype", offsetof(struct ares_addrinfo_hints, ai_socktype),
                    ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5095:20: error: invalid use of undefined type ‘struct ares_addrinfo_hints’
   { "ai_protocol", offsetof(struct ares_addrinfo_hints, ai_protocol),
                    ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5098:15: error: invalid use of undefined type ‘struct ares_addrinfo_node’
   { "ai_ttl", offsetof(struct ares_addrinfo_node, ai_ttl),
               ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5099:54: error: dereferencing pointer to incomplete type ‘struct ares_addrinfo_node’
               sizeof(((struct ares_addrinfo_node *)0)->ai_ttl),
                                                      ^~
In file included from /usr/include/rpc/netdb.h:42,
                 from /usr/include/netdb.h:32,
                 from build/temp.linux-aarch64-3.6/_cares.c:576:
build/temp.linux-aarch64-3.6/_cares.c:5101:17: error: invalid use of undefined type ‘struct ares_addrinfo_node’
   { "ai_flags", offsetof(struct ares_addrinfo_node, ai_flags),
                 ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5104:18: error: invalid use of undefined type ‘struct ares_addrinfo_node’
   { "ai_family", offsetof(struct ares_addrinfo_node, ai_family),
                  ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5107:20: error: invalid use of undefined type ‘struct ares_addrinfo_node’
   { "ai_socktype", offsetof(struct ares_addrinfo_node, ai_socktype),
                    ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5110:20: error: invalid use of undefined type ‘struct ares_addrinfo_node’
   { "ai_protocol", offsetof(struct ares_addrinfo_node, ai_protocol),
                    ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5113:19: error: invalid use of undefined type ‘struct ares_addrinfo_node’
   { "ai_addrlen", offsetof(struct ares_addrinfo_node, ai_addrlen),
                   ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5116:16: error: invalid use of undefined type ‘struct ares_addrinfo_node’
   { "ai_addr", offsetof(struct ares_addrinfo_node, ai_addr),
                ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5119:16: error: invalid use of undefined type ‘struct ares_addrinfo_node’
   { "ai_next", offsetof(struct ares_addrinfo_node, ai_next),
                ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5128:13: error: invalid use of undefined type ‘struct ares_caa_reply’
   { "next", offsetof(struct ares_caa_reply, next),
             ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5129:48: error: dereferencing pointer to incomplete type ‘struct ares_caa_reply’
             sizeof(((struct ares_caa_reply *)0)->next),
                                                ^~
In file included from /usr/include/rpc/netdb.h:42,
                 from /usr/include/netdb.h:32,
                 from build/temp.linux-aarch64-3.6/_cares.c:576:
build/temp.linux-aarch64-3.6/_cares.c:5131:17: error: invalid use of undefined type ‘struct ares_caa_reply’
   { "critical", offsetof(struct ares_caa_reply, critical),
                 ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5134:17: error: invalid use of undefined type ‘struct ares_caa_reply’
   { "property", offsetof(struct ares_caa_reply, property),
                 ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5137:16: error: invalid use of undefined type ‘struct ares_caa_reply’
   { "plength", offsetof(struct ares_caa_reply, plength),
                ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5140:14: error: invalid use of undefined type ‘struct ares_caa_reply’
   { "value", offsetof(struct ares_caa_reply, value),
              ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5143:15: error: invalid use of undefined type ‘struct ares_caa_reply’
   { "length", offsetof(struct ares_caa_reply, length),
               ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5359:12: error: invalid application of ‘sizeof’ to incomplete type ‘struct ares_addrinfo’
     sizeof(struct ares_addrinfo), offsetof(struct _cffi_align_struct_ares_addrinfo, y), 5, 2 },
            ^~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5359:5: warning: initialization of ‘long unsigned int’ from ‘const struct _cffi_field_s *’ makes integer from pointer without a cast [-Wint-conversion]
     sizeof(struct ares_addrinfo), offsetof(struct _cffi_align_struct_ares_addrinfo, y), 5, 2 },
     ^~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5359:5: note: (near initialization for ‘_cffi_struct_unions[4].size’)
build/temp.linux-aarch64-3.6/_cares.c:5359:5: error: initializer element is not constant
build/temp.linux-aarch64-3.6/_cares.c:5359:5: note: (near initialization for ‘_cffi_struct_unions[4].size’)
build/temp.linux-aarch64-3.6/_cares.c:5359:35: warning: initialization of ‘int’ from ‘const struct _cffi_field_s *’ makes integer from pointer without a cast [-Wint-conversion]
     sizeof(struct ares_addrinfo), offsetof(struct _cffi_align_struct_ares_addrinfo, y), 5, 2 },
                                   ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5359:35: note: (near initialization for ‘_cffi_struct_unions[4].alignment’)
In file included from /usr/include/rpc/netdb.h:42,
                 from /usr/include/netdb.h:32,
                 from build/temp.linux-aarch64-3.6/_cares.c:576:
build/temp.linux-aarch64-3.6/_cares.c:5359:35: error: initializer element is not constant
     sizeof(struct ares_addrinfo), offsetof(struct _cffi_align_struct_ares_addrinfo, y), 5, 2 },
                                   ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5359:35: note: (near initialization for ‘_cffi_struct_unions[4].alignment’)
build/temp.linux-aarch64-3.6/_cares.c:5361:12: error: invalid application of ‘sizeof’ to incomplete type ‘struct ares_addrinfo_cname’
     sizeof(struct ares_addrinfo_cname), offsetof(struct _cffi_align_struct_ares_addrinfo_cname, y), 7, 4 },
            ^~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5361:5: warning: initialization of ‘long unsigned int’ from ‘const struct _cffi_field_s *’ makes integer from pointer without a cast [-Wint-conversion]
     sizeof(struct ares_addrinfo_cname), offsetof(struct _cffi_align_struct_ares_addrinfo_cname, y), 7, 4 },
     ^~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5361:5: note: (near initialization for ‘_cffi_struct_unions[5].size’)
build/temp.linux-aarch64-3.6/_cares.c:5361:5: error: initializer element is not constant
build/temp.linux-aarch64-3.6/_cares.c:5361:5: note: (near initialization for ‘_cffi_struct_unions[5].size’)
build/temp.linux-aarch64-3.6/_cares.c:5361:41: warning: initialization of ‘int’ from ‘const struct _cffi_field_s *’ makes integer from pointer without a cast [-Wint-conversion]
     sizeof(struct ares_addrinfo_cname), offsetof(struct _cffi_align_struct_ares_addrinfo_cname, y), 7, 4 },
                                         ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5361:41: note: (near initialization for ‘_cffi_struct_unions[5].alignment’)
In file included from /usr/include/rpc/netdb.h:42,
                 from /usr/include/netdb.h:32,
                 from build/temp.linux-aarch64-3.6/_cares.c:576:
build/temp.linux-aarch64-3.6/_cares.c:5361:41: error: initializer element is not constant
     sizeof(struct ares_addrinfo_cname), offsetof(struct _cffi_align_struct_ares_addrinfo_cname, y), 7, 4 },
                                         ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5361:41: note: (near initialization for ‘_cffi_struct_unions[5].alignment’)
build/temp.linux-aarch64-3.6/_cares.c:5363:12: error: invalid application of ‘sizeof’ to incomplete type ‘struct ares_addrinfo_hints’
     sizeof(struct ares_addrinfo_hints), offsetof(struct _cffi_align_struct_ares_addrinfo_hints, y), 11, 4 },
            ^~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5363:5: warning: initialization of ‘long unsigned int’ from ‘const struct _cffi_field_s *’ makes integer from pointer without a cast [-Wint-conversion]
     sizeof(struct ares_addrinfo_hints), offsetof(struct _cffi_align_struct_ares_addrinfo_hints, y), 11, 4 },
     ^~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5363:5: note: (near initialization for ‘_cffi_struct_unions[6].size’)
build/temp.linux-aarch64-3.6/_cares.c:5363:5: error: initializer element is not constant
build/temp.linux-aarch64-3.6/_cares.c:5363:5: note: (near initialization for ‘_cffi_struct_unions[6].size’)
build/temp.linux-aarch64-3.6/_cares.c:5363:41: warning: initialization of ‘int’ from ‘const struct _cffi_field_s *’ makes integer from pointer without a cast [-Wint-conversion]
     sizeof(struct ares_addrinfo_hints), offsetof(struct _cffi_align_struct_ares_addrinfo_hints, y), 11, 4 },
                                         ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5363:41: note: (near initialization for ‘_cffi_struct_unions[6].alignment’)
In file included from /usr/include/rpc/netdb.h:42,
                 from /usr/include/netdb.h:32,
                 from build/temp.linux-aarch64-3.6/_cares.c:576:
build/temp.linux-aarch64-3.6/_cares.c:5363:41: error: initializer element is not constant
     sizeof(struct ares_addrinfo_hints), offsetof(struct _cffi_align_struct_ares_addrinfo_hints, y), 11, 4 },
                                         ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5363:41: note: (near initialization for ‘_cffi_struct_unions[6].alignment’)
build/temp.linux-aarch64-3.6/_cares.c:5365:12: error: invalid application of ‘sizeof’ to incomplete type ‘struct ares_addrinfo_node’
     sizeof(struct ares_addrinfo_node), offsetof(struct _cffi_align_struct_ares_addrinfo_node, y), 15, 8 },
            ^~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5365:5: warning: initialization of ‘long unsigned int’ from ‘const struct _cffi_field_s *’ makes integer from pointer without a cast [-Wint-conversion]
     sizeof(struct ares_addrinfo_node), offsetof(struct _cffi_align_struct_ares_addrinfo_node, y), 15, 8 },
     ^~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5365:5: note: (near initialization for ‘_cffi_struct_unions[7].size’)
build/temp.linux-aarch64-3.6/_cares.c:5365:5: error: initializer element is not constant
build/temp.linux-aarch64-3.6/_cares.c:5365:5: note: (near initialization for ‘_cffi_struct_unions[7].size’)
build/temp.linux-aarch64-3.6/_cares.c:5365:40: warning: initialization of ‘int’ from ‘const struct _cffi_field_s *’ makes integer from pointer without a cast [-Wint-conversion]
     sizeof(struct ares_addrinfo_node), offsetof(struct _cffi_align_struct_ares_addrinfo_node, y), 15, 8 },
                                        ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5365:40: note: (near initialization for ‘_cffi_struct_unions[7].alignment’)
In file included from /usr/include/rpc/netdb.h:42,
                 from /usr/include/netdb.h:32,
                 from build/temp.linux-aarch64-3.6/_cares.c:576:
build/temp.linux-aarch64-3.6/_cares.c:5365:40: error: initializer element is not constant
     sizeof(struct ares_addrinfo_node), offsetof(struct _cffi_align_struct_ares_addrinfo_node, y), 15, 8 },
                                        ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5365:40: note: (near initialization for ‘_cffi_struct_unions[7].alignment’)
build/temp.linux-aarch64-3.6/_cares.c:5369:12: error: invalid application of ‘sizeof’ to incomplete type ‘struct ares_caa_reply’
     sizeof(struct ares_caa_reply), offsetof(struct _cffi_align_struct_ares_caa_reply, y), 25, 6 },
            ^~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5369:5: warning: initialization of ‘long unsigned int’ from ‘const struct _cffi_field_s *’ makes integer from pointer without a cast [-Wint-conversion]
     sizeof(struct ares_caa_reply), offsetof(struct _cffi_align_struct_ares_caa_reply, y), 25, 6 },
     ^~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5369:5: note: (near initialization for ‘_cffi_struct_unions[9].size’)
build/temp.linux-aarch64-3.6/_cares.c:5369:5: error: initializer element is not constant
build/temp.linux-aarch64-3.6/_cares.c:5369:5: note: (near initialization for ‘_cffi_struct_unions[9].size’)
build/temp.linux-aarch64-3.6/_cares.c:5369:36: warning: initialization of ‘int’ from ‘const struct _cffi_field_s *’ makes integer from pointer without a cast [-Wint-conversion]
     sizeof(struct ares_caa_reply), offsetof(struct _cffi_align_struct_ares_caa_reply, y), 25, 6 },
                                    ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5369:36: note: (near initialization for ‘_cffi_struct_unions[9].alignment’)
In file included from /usr/include/rpc/netdb.h:42,
                 from /usr/include/netdb.h:32,
                 from build/temp.linux-aarch64-3.6/_cares.c:576:
build/temp.linux-aarch64-3.6/_cares.c:5369:36: error: initializer element is not constant
     sizeof(struct ares_caa_reply), offsetof(struct _cffi_align_struct_ares_caa_reply, y), 25, 6 },
                                    ^~~~~~~~
build/temp.linux-aarch64-3.6/_cares.c:5369:36: note: (near initialization for ‘_cffi_struct_unions[9].alignment’)
error: command 'gcc' failed with exit status 1

Can you tell me how to solve it?

saghul commented 3 years ago

Sorry, I have no idea what SPG is. Doesn't the wheel work for you? I published aarch64 wheels, which are built with a CI.

Tom-python0121 commented 3 years ago

@saghul how can I install pacares@4.0.0,but python3 setup.py build failed in pycares@4.0.0 on centos8_aarch64. Can you tell me how to solve it?