[MacPorts] #69576: py312-lxml @4.9.3: error: incompatible function pointer types assigning to 'xmlStructuredErrorFunc' (was: py312-lxml error: incompatible function pointer types assigning to 'xmlStructuredErrorFunc')

MacPorts noreply at macports.org
Sat Mar 23 03:59:53 UTC 2024


#69576: py312-lxml @4.9.3: error: incompatible function pointer types assigning to
'xmlStructuredErrorFunc'
-------------------------+----------------------
  Reporter:  rrobtoo     |      Owner:  petrrr
      Type:  defect      |     Status:  assigned
  Priority:  Normal      |  Milestone:
 Component:  ports       |    Version:  2.9.1
Resolution:              |   Keywords:
      Port:  py312-lxml  |
-------------------------+----------------------
Changes (by ryandesign):

 * status:  new => assigned
 * owner:  (none) => petrrr


Old description:

> Hi Team,
> The py312-lxml compilation fails with the following error
>
> :debug:main Starting logging for py312-lxml @4.9.3_0
> :debug:sysinfo macOS 14.4 (darwin/23.4.0) arch arm
> :debug:sysinfo MacPorts 2.9.1
> :debug:sysinfo Xcode 15.3, CLT 15.3.0.0.1.1708646388
> :debug:sysinfo SDK 14
> :debug:sysinfo MACOSX_DEPLOYMENT_TARGET: 14.0
>

> :info:build creating build/temp.macosx-14.0-arm64-cpython-312/src/lxml
> :info:build /usr/bin/clang -fno-strict-overflow -fno-common -dynamic
> -DNDEBUG -g -O3 -Wall -pipe -Os
> -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch
> arm64 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk
> -DCYTHON_CLINE_IN_TRACEBACK=0 -I/opt/ports/include/libxml2 -Isrc
> -Isrc/lxml/includes
> -I/opt/ports/Library/Frameworks/Python.framework/Versions/3.12/include/python3.12
> -c src/lxml/etree.c -o
> build/temp.macosx-14.0-arm64-cpython-312/src/lxml/etree.o -w
> -flat_namespace
> :info:build src/lxml/etree.c:113152:38: error: incompatible function
> pointer types assigning to 'xmlStructuredErrorFunc' (aka 'void (*)(void
> *, const struct _xmlError *)') from 'void (void *, xmlError *)' (aka
> 'void (void *, struct _xmlError *)') [-Wincompatible-function-pointer-
> types]
> :info:build   __pyx_v_self->_c_ctxt->sax->serror =
> __pyx_f_4lxml_5etree__receiveParserError;
> :info:build                                      ^
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> :info:build src/lxml/etree.c:117640:25: error: incompatible function
> pointer types assigning to 'xmlStructuredErrorFunc' (aka 'void (*)(void
> *, const struct _xmlError *)') from 'void (void *, xmlError *)' (aka
> 'void (void *, struct _xmlError *)') [-Wincompatible-function-pointer-
> types]
> :info:build     __pyx_v_sax->serror =
> __pyx_f_4lxml_5etree__receiveParserError;
> :info:build                         ^
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> :info:build src/lxml/etree.c:181724:28: error: incompatible function
> pointer types assigning to 'xmlStructuredErrorFunc' (aka 'void (*)(void
> *, const struct _xmlError *)') from 'void (void *, xmlError *)' (aka
> 'void (void *, struct _xmlError *)') [-Wincompatible-function-pointer-
> types]
> :info:build   __pyx_v_xpathCtxt->error =
> __pyx_f_4lxml_5etree__receiveXPathError;
> :info:build                            ^
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> :info:build src/lxml/etree.c:218998:60: error: incompatible function
> pointer types passing 'void (void *, xmlError *)' (aka 'void (void *,
> struct _xmlError *)') to parameter of type 'xmlStructuredErrorFunc' (aka
> 'void (*)(void *, const struct _xmlError *)') [-Wincompatible-function-
> pointer-types]
> :info:build   xmlRelaxNGSetParserStructuredErrors(__pyx_v_parser_ctxt,
> __pyx_f_4lxml_5etree__receiveError, ((void
> *)__pyx_v_self->__pyx_base._error_log));
> :info:build
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> :info:build /opt/ports/include/libxml2/libxml/relaxng.h:156:30: note:
> passing argument to parameter 'serror' here
> :info:build
> xmlStructuredErrorFunc serror,
> :info:build
> ^
> :info:build src/lxml/etree.c:219416:60: error: incompatible function
> pointer types passing 'void (void *, xmlError *)' (aka 'void (void *,
> struct _xmlError *)') to parameter of type 'xmlStructuredErrorFunc' (aka
> 'void (*)(void *, const struct _xmlError *)') [-Wincompatible-function-
> pointer-types]
> :info:build     xmlRelaxNGSetValidStructuredErrors(__pyx_v_valid_ctxt,
> __pyx_f_4lxml_5etree__receiveError, ((void
> *)__pyx_v_self->__pyx_base._error_log));
> :info:build
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> :info:build /opt/ports/include/libxml2/libxml/relaxng.h:185:31: note:
> passing argument to parameter 'serror' here
> :info:build
> xmlStructuredErrorFunc serror, void *ctx);
> :info:build
> ^
> :info:build src/lxml/etree.c:220305:59: error: incompatible function
> pointer types passing 'void (void *, xmlError *)' (aka 'void (void *,
> struct _xmlError *)') to parameter of type 'xmlStructuredErrorFunc' (aka
> 'void (*)(void *, const struct _xmlError *)') [-Wincompatible-function-
> pointer-types]
> :info:build   xmlSchemaSetParserStructuredErrors(__pyx_v_parser_ctxt,
> __pyx_f_4lxml_5etree__receiveError, ((void
> *)__pyx_v_self->__pyx_base._error_log));
> :info:build
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> :info:build /opt/ports/include/libxml2/libxml/xmlschemas.h:156:30: note:
> passing argument to parameter 'serror' here
> :info:build
> xmlStructuredErrorFunc serror,
> :info:build
> ^
> :info:build src/lxml/etree.c:220848:59: error: incompatible function
> pointer types passing 'void (void *, xmlError *)' (aka 'void (void *,
> struct _xmlError *)') to parameter of type 'xmlStructuredErrorFunc' (aka
> 'void (*)(void *, const struct _xmlError *)') [-Wincompatible-function-
> pointer-types]
> :info:build     xmlSchemaSetValidStructuredErrors(__pyx_v_valid_ctxt,
> __pyx_f_4lxml_5etree__receiveError, ((void
> *)__pyx_v_self->__pyx_base._error_log));
> :info:build
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> :info:build /opt/ports/include/libxml2/libxml/xmlschemas.h:185:30: note:
> passing argument to parameter 'serror' here
> :info:build
> xmlStructuredErrorFunc serror,
> :info:build
> ^

New description:

 Hi Team, \\
 The py312-lxml compilation fails with the following error

 {{{
 :debug:main Starting logging for py312-lxml @4.9.3_0
 :debug:sysinfo macOS 14.4 (darwin/23.4.0) arch arm
 :debug:sysinfo MacPorts 2.9.1
 :debug:sysinfo Xcode 15.3, CLT 15.3.0.0.1.1708646388
 :debug:sysinfo SDK 14
 :debug:sysinfo MACOSX_DEPLOYMENT_TARGET: 14.0
 }}}
 {{{
 :info:build creating build/temp.macosx-14.0-arm64-cpython-312/src/lxml
 :info:build /usr/bin/clang -fno-strict-overflow -fno-common -dynamic
 -DNDEBUG -g -O3 -Wall -pipe -Os
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk -arch arm64
 -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk
 -DCYTHON_CLINE_IN_TRACEBACK=0 -I/opt/ports/include/libxml2 -Isrc
 -Isrc/lxml/includes
 -I/opt/ports/Library/Frameworks/Python.framework/Versions/3.12/include/python3.12
 -c src/lxml/etree.c -o
 build/temp.macosx-14.0-arm64-cpython-312/src/lxml/etree.o -w
 -flat_namespace
 :info:build src/lxml/etree.c:113152:38: error: incompatible function
 pointer types assigning to 'xmlStructuredErrorFunc' (aka 'void (*)(void *,
 const struct _xmlError *)') from 'void (void *, xmlError *)' (aka 'void
 (void *, struct _xmlError *)') [-Wincompatible-function-pointer-types]
 :info:build   __pyx_v_self->_c_ctxt->sax->serror =
 __pyx_f_4lxml_5etree__receiveParserError;
 :info:build                                      ^
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 :info:build src/lxml/etree.c:117640:25: error: incompatible function
 pointer types assigning to 'xmlStructuredErrorFunc' (aka 'void (*)(void *,
 const struct _xmlError *)') from 'void (void *, xmlError *)' (aka 'void
 (void *, struct _xmlError *)') [-Wincompatible-function-pointer-types]
 :info:build     __pyx_v_sax->serror =
 __pyx_f_4lxml_5etree__receiveParserError;
 :info:build                         ^
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 :info:build src/lxml/etree.c:181724:28: error: incompatible function
 pointer types assigning to 'xmlStructuredErrorFunc' (aka 'void (*)(void *,
 const struct _xmlError *)') from 'void (void *, xmlError *)' (aka 'void
 (void *, struct _xmlError *)') [-Wincompatible-function-pointer-types]
 :info:build   __pyx_v_xpathCtxt->error =
 __pyx_f_4lxml_5etree__receiveXPathError;
 :info:build                            ^
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 :info:build src/lxml/etree.c:218998:60: error: incompatible function
 pointer types passing 'void (void *, xmlError *)' (aka 'void (void *,
 struct _xmlError *)') to parameter of type 'xmlStructuredErrorFunc' (aka
 'void (*)(void *, const struct _xmlError *)') [-Wincompatible-function-
 pointer-types]
 :info:build   xmlRelaxNGSetParserStructuredErrors(__pyx_v_parser_ctxt,
 __pyx_f_4lxml_5etree__receiveError, ((void
 *)__pyx_v_self->__pyx_base._error_log));
 :info:build
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 :info:build /opt/ports/include/libxml2/libxml/relaxng.h:156:30: note:
 passing argument to parameter 'serror' here
 :info:build
 xmlStructuredErrorFunc serror,
 :info:build
 ^
 :info:build src/lxml/etree.c:219416:60: error: incompatible function
 pointer types passing 'void (void *, xmlError *)' (aka 'void (void *,
 struct _xmlError *)') to parameter of type 'xmlStructuredErrorFunc' (aka
 'void (*)(void *, const struct _xmlError *)') [-Wincompatible-function-
 pointer-types]
 :info:build     xmlRelaxNGSetValidStructuredErrors(__pyx_v_valid_ctxt,
 __pyx_f_4lxml_5etree__receiveError, ((void
 *)__pyx_v_self->__pyx_base._error_log));
 :info:build
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 :info:build /opt/ports/include/libxml2/libxml/relaxng.h:185:31: note:
 passing argument to parameter 'serror' here
 :info:build
 xmlStructuredErrorFunc serror, void *ctx);
 :info:build
 ^
 :info:build src/lxml/etree.c:220305:59: error: incompatible function
 pointer types passing 'void (void *, xmlError *)' (aka 'void (void *,
 struct _xmlError *)') to parameter of type 'xmlStructuredErrorFunc' (aka
 'void (*)(void *, const struct _xmlError *)') [-Wincompatible-function-
 pointer-types]
 :info:build   xmlSchemaSetParserStructuredErrors(__pyx_v_parser_ctxt,
 __pyx_f_4lxml_5etree__receiveError, ((void
 *)__pyx_v_self->__pyx_base._error_log));
 :info:build
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 :info:build /opt/ports/include/libxml2/libxml/xmlschemas.h:156:30: note:
 passing argument to parameter 'serror' here
 :info:build
 xmlStructuredErrorFunc serror,
 :info:build
 ^
 :info:build src/lxml/etree.c:220848:59: error: incompatible function
 pointer types passing 'void (void *, xmlError *)' (aka 'void (void *,
 struct _xmlError *)') to parameter of type 'xmlStructuredErrorFunc' (aka
 'void (*)(void *, const struct _xmlError *)') [-Wincompatible-function-
 pointer-types]
 :info:build     xmlSchemaSetValidStructuredErrors(__pyx_v_valid_ctxt,
 __pyx_f_4lxml_5etree__receiveError, ((void
 *)__pyx_v_self->__pyx_base._error_log));
 :info:build
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 :info:build /opt/ports/include/libxml2/libxml/xmlschemas.h:185:30: note:
 passing argument to parameter 'serror' here
 :info:build
 xmlStructuredErrorFunc serror,
 :info:build
 ^
 }}}

--

Comment:

 Here is [https://bugs.launchpad.net/lxml/+bug/2044786 the upstream bug
 report] and
 [https://github.com/lxml/lxml/commit/b0861bea17769584a85f57eb00235ce0ca9811af
 their fix] which is included in version 5.0.0 to which the port should be
 updated (or to 5.1.0).

-- 
Ticket URL: <https://trac.macports.org/ticket/69576#comment:1>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list