When trying to install via `pip` on Windows 11 on ARM I get the following error:
```console
$ py -3 -m pip install lxml
Collecting lxml
Using cached lxml-4.9.2.tar.gz (3.7 MB)
Preparing metadata (setup.py) ... done
Building wheels for collected packages: lxml
Building wheel for lxml (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [122 lines of output]
Building lxml version 4.9.2.
Building without Cython.
Building against pre-built libxml2 andl libxslt libraries
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-arm64-3.11
creating build\lib.win-arm64-3.11\lxml
copying src\lxml\builder.py -> build\lib.win-arm64-3.11\lxml
copying src\lxml\cssselect.py -> build\lib.win-arm64-3.11\lxml
copying src\lxml\doctestcompare.py -> build\lib.win-arm64-3.11\lxml
copying src\lxml\ElementInclude.py -> build\lib.win-arm64-3.11\lxml
copying src\lxml\pyclasslookup.py -> build\lib.win-arm64-3.11\lxml
copying src\lxml\sax.py -> build\lib.win-arm64-3.11\lxml
copying src\lxml\usedoctest.py -> build\lib.win-arm64-3.11\lxml
copying src\lxml\_elementpath.py -> build\lib.win-arm64-3.11\lxml
copying src\lxml\__init__.py -> build\lib.win-arm64-3.11\lxml
creating build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\__init__.py -> build\lib.win-arm64-3.11\lxml\includes
creating build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\builder.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\clean.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\defs.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\diff.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\ElementSoup.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\formfill.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\html5parser.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\soupparser.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\usedoctest.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\_diffcommand.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\_html5builder.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\_setmixin.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\__init__.py -> build\lib.win-arm64-3.11\lxml\html
creating build\lib.win-arm64-3.11\lxml\isoschematron
copying src\lxml\isoschematron\__init__.py -> build\lib.win-arm64-3.11\lxml\isoschematron
copying src\lxml\etree.h -> build\lib.win-arm64-3.11\lxml
copying src\lxml\etree_api.h -> build\lib.win-arm64-3.11\lxml
copying src\lxml\lxml.etree.h -> build\lib.win-arm64-3.11\lxml
copying src\lxml\lxml.etree_api.h -> build\lib.win-arm64-3.11\lxml
copying src\lxml\etree.pyx -> build\lib.win-arm64-3.11\lxml
copying src\lxml\objectify.pyx -> build\lib.win-arm64-3.11\lxml
copying src\lxml\apihelpers.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\classlookup.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\cleanup.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\debug.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\docloader.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\dtd.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\extensions.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\iterparse.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\nsclasses.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\objectpath.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\parser.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\parsertarget.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\proxy.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\public-api.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\readonlytree.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\relaxng.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\saxparser.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\schematron.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\serializer.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\xinclude.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\xmlerror.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\xmlid.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\xmlschema.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\xpath.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\xslt.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\xsltext.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\includes\c14n.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\config.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\dtdvalid.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\etreepublic.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\htmlparser.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\relaxng.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\schematron.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\tree.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\uri.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\xinclude.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\xmlerror.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\xmlparser.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\xmlschema.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\xpath.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\xslt.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\__init__.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\etree_defs.h -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\lxml-version.h -> build\lib.win-arm64-3.11\lxml\includes
creating build\lib.win-arm64-3.11\lxml\isoschematron\resources
creating build\lib.win-arm64-3.11\lxml\isoschematron\resources\rng
copying src\lxml\isoschematron\resources\rng\iso-schematron.rng -> build\lib.win-arm64-3.11\lxml\isoschematron\resources\rng
creating build\lib.win-arm64-3.11\lxml\isoschematron\resources\xsl
copying src\lxml\isoschematron\resources\xsl\RNG2Schtrn.xsl -> build\lib.win-arm64-3.11\lxml\isoschematron\resources\xsl
copying src\lxml\isoschematron\resources\xsl\XSD2Schtrn.xsl -> build\lib.win-arm64-3.11\lxml\isoschematron\resources\xsl
creating build\lib.win-arm64-3.11\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_abstract_expand.xsl -> build\lib.win-arm64-3.11\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_dsdl_include.xsl -> build\lib.win-arm64-3.11\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_message.xsl -> build\lib.win-arm64-3.11\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_skeleton_for_xslt1.xsl -> build\lib.win-arm64-3.11\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_svrl_for_xslt1.xsl -> build\lib.win-arm64-3.11\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\readme.txt -> build\lib.win-arm64-3.11\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
running build_ext
building 'lxml.etree' extension
creating build\temp.win-arm64-3.11
creating build\temp.win-arm64-3.11\Release
creating build\temp.win-arm64-3.11\Release\src
creating build\temp.win-arm64-3.11\Release\src\lxml
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\bin\HostX86\ARM64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DCYTHON_CLINE_IN_TRACEBACK=0 -Isrc -Isrc\lxml\includes -IC:\Users\test\AppData\Local\Programs\Python\Python311-arm64\include -IC:\Users\test\AppData\Local\Programs\Python\Python311-arm64\Include -IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include -IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\ATLMFC\include -IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include -IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\winrt -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\cppwinrt -IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um /Tcsrc\lxml\etree.c /Fobuild\temp.win-arm64-3.11\Release\src\lxml\etree.obj -w
cl : Command line warning D9025 : overriding '/W3' with '/w'
etree.c
C:\Users\test\AppData\Local\Temp\pip-install-rmdb1w4j\lxml_38a4ec12cccb47b5b4a80313a649f412\src\lxml\includes/etree_defs.h(14): fatal error C1083: Cannot open include file: 'libxml/xmlversion.h': No such file or directory
Compile failed: command 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.34.31933\\bin\\HostX86\\ARM64\\cl.exe' failed with exit code 2
creating Users
creating Users\test
creating Users\test\AppData
creating Users\test\AppData\Local
creating Users\test\AppData\Local\Temp
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\bin\HostX86\ARM64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -I/usr/include/libxml2 -IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include -IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\ATLMFC\include -IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include -IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\winrt -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\cppwinrt -IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um /TcC:\Users\test\AppData\Local\Temp\xmlXPathInitdcjyjat4.c /FoUsers\test\AppData\Local\Temp\xmlXPathInitdcjyjat4.obj
xmlXPathInitdcjyjat4.c
C:\Users\test\AppData\Local\Temp\xmlXPathInitdcjyjat4.c(1): fatal error C1083: Cannot open include file: 'libxml/xpath.h': No such file or directory
error: command 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.34.31933\\bin\\HostX86\\ARM64\\cl.exe' failed with exit code 2
*********************************************************************************
Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
*********************************************************************************
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for lxml
Running setup.py clean for lxml
Failed to build lxml
Installing collected packages: lxml
Running setup.py install for lxml ... error
error: subprocess-exited-with-error
× Running setup.py install for lxml did not run successfully.
│ exit code: 1
╰─> [117 lines of output]
Building lxml version 4.9.2.
Building without Cython.
Building against pre-built libxml2 andl libxslt libraries
running install
running build
running build_py
creating build
creating build\lib.win-arm64-3.11
creating build\lib.win-arm64-3.11\lxml
copying src\lxml\builder.py -> build\lib.win-arm64-3.11\lxml
copying src\lxml\cssselect.py -> build\lib.win-arm64-3.11\lxml
copying src\lxml\doctestcompare.py -> build\lib.win-arm64-3.11\lxml
copying src\lxml\ElementInclude.py -> build\lib.win-arm64-3.11\lxml
copying src\lxml\pyclasslookup.py -> build\lib.win-arm64-3.11\lxml
copying src\lxml\sax.py -> build\lib.win-arm64-3.11\lxml
copying src\lxml\usedoctest.py -> build\lib.win-arm64-3.11\lxml
copying src\lxml\_elementpath.py -> build\lib.win-arm64-3.11\lxml
copying src\lxml\__init__.py -> build\lib.win-arm64-3.11\lxml
creating build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\__init__.py -> build\lib.win-arm64-3.11\lxml\includes
creating build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\builder.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\clean.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\defs.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\diff.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\ElementSoup.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\formfill.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\html5parser.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\soupparser.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\usedoctest.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\_diffcommand.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\_html5builder.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\_setmixin.py -> build\lib.win-arm64-3.11\lxml\html
copying src\lxml\html\__init__.py -> build\lib.win-arm64-3.11\lxml\html
creating build\lib.win-arm64-3.11\lxml\isoschematron
copying src\lxml\isoschematron\__init__.py -> build\lib.win-arm64-3.11\lxml\isoschematron
copying src\lxml\etree.h -> build\lib.win-arm64-3.11\lxml
copying src\lxml\etree_api.h -> build\lib.win-arm64-3.11\lxml
copying src\lxml\lxml.etree.h -> build\lib.win-arm64-3.11\lxml
copying src\lxml\lxml.etree_api.h -> build\lib.win-arm64-3.11\lxml
copying src\lxml\etree.pyx -> build\lib.win-arm64-3.11\lxml
copying src\lxml\objectify.pyx -> build\lib.win-arm64-3.11\lxml
copying src\lxml\apihelpers.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\classlookup.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\cleanup.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\debug.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\docloader.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\dtd.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\extensions.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\iterparse.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\nsclasses.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\objectpath.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\parser.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\parsertarget.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\proxy.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\public-api.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\readonlytree.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\relaxng.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\saxparser.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\schematron.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\serializer.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\xinclude.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\xmlerror.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\xmlid.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\xmlschema.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\xpath.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\xslt.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\xsltext.pxi -> build\lib.win-arm64-3.11\lxml
copying src\lxml\includes\c14n.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\config.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\dtdvalid.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\etreepublic.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\htmlparser.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\relaxng.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\schematron.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\tree.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\uri.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\xinclude.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\xmlerror.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\xmlparser.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\xmlschema.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\xpath.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\xslt.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\__init__.pxd -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\etree_defs.h -> build\lib.win-arm64-3.11\lxml\includes
copying src\lxml\includes\lxml-version.h -> build\lib.win-arm64-3.11\lxml\includes
creating build\lib.win-arm64-3.11\lxml\isoschematron\resources
creating build\lib.win-arm64-3.11\lxml\isoschematron\resources\rng
copying src\lxml\isoschematron\resources\rng\iso-schematron.rng -> build\lib.win-arm64-3.11\lxml\isoschematron\resources\rng
creating build\lib.win-arm64-3.11\lxml\isoschematron\resources\xsl
copying src\lxml\isoschematron\resources\xsl\RNG2Schtrn.xsl -> build\lib.win-arm64-3.11\lxml\isoschematron\resources\xsl
copying src\lxml\isoschematron\resources\xsl\XSD2Schtrn.xsl -> build\lib.win-arm64-3.11\lxml\isoschematron\resources\xsl
creating build\lib.win-arm64-3.11\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_abstract_expand.xsl -> build\lib.win-arm64-3.11\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_dsdl_include.xsl -> build\lib.win-arm64-3.11\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_message.xsl -> build\lib.win-arm64-3.11\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_schematron_skeleton_for_xslt1.xsl -> build\lib.win-arm64-3.11\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\iso_svrl_for_xslt1.xsl -> build\lib.win-arm64-3.11\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
copying src\lxml\isoschematron\resources\xsl\iso-schematron-xslt1\readme.txt -> build\lib.win-arm64-3.11\lxml\isoschematron\resources\xsl\iso-schematron-xslt1
running build_ext
building 'lxml.etree' extension
creating build\temp.win-arm64-3.11
creating build\temp.win-arm64-3.11\Release
creating build\temp.win-arm64-3.11\Release\src
creating build\temp.win-arm64-3.11\Release\src\lxml
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\bin\HostX86\ARM64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DCYTHON_CLINE_IN_TRACEBACK=0 -Isrc -Isrc\lxml\includes -IC:\Users\test\AppData\Local\Programs\Python\Python311-arm64\include -IC:\Users\test\AppData\Local\Programs\Python\Python311-arm64\Include -IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include -IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\ATLMFC\include -IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include -IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\winrt -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\cppwinrt -IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um /Tcsrc\lxml\etree.c /Fobuild\temp.win-arm64-3.11\Release\src\lxml\etree.obj -w
cl : Command line warning D9025 : overriding '/W3' with '/w'
etree.c
C:\Users\test\AppData\Local\Temp\pip-install-rmdb1w4j\lxml_38a4ec12cccb47b5b4a80313a649f412\src\lxml\includes/etree_defs.h(14): fatal error C1083: Cannot open include file: 'libxml/xmlversion.h': No such file or directory
Compile failed: command 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.34.31933\\bin\\HostX86\\ARM64\\cl.exe' failed with exit code 2
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\bin\HostX86\ARM64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -I/usr/include/libxml2 -IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include -IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\ATLMFC\include -IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include -IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\winrt -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\cppwinrt -IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um /TcC:\Users\test\AppData\Local\Temp\xmlXPathInit090jfbrt.c /FoUsers\test\AppData\Local\Temp\xmlXPathInit090jfbrt.obj
xmlXPathInit090jfbrt.c
C:\Users\test\AppData\Local\Temp\xmlXPathInit090jfbrt.c(1): fatal error C1083: Cannot open include file: 'libxml/xpath.h': No such file or directory
error: command 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.34.31933\\bin\\HostX86\\ARM64\\cl.exe' failed with exit code 2
*********************************************************************************
Could not find function xmlCheckVersion in library libxml2. Is libxml2 installed?
*********************************************************************************
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure
× Encountered error while trying to install package.
╰─> lxml
note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.
```
Downloading the sources from the GitHub Release page for 4.9.2 and trying to manually build it fails in a similar way.
```console
$$env:STATICBUILD=1; py -3 .\setup.py build
Building lxml version 4.9.2.
Latest version of libxml2 is 2.9.12-1
Latest version of libxslt is 1.1.34
Latest version of zlib is 1.2.11
Latest version of iconv is 1.14
Retrieving "https://github.com/lxml/libxml2-win-binaries/releases/download/2022.05.30/libxml2-2.9.12-1.win-arm64.zip" to "libs\libxml2-2.9.12-1.win-arm64.zip"
Unpacking libxml2-2.9.12-1.win-arm64.zip into libs
Retrieving "https://github.com/lxml/libxml2-win-binaries/releases/download/2022.05.30/libxslt-1.1.34.win-arm64.zip" to "libs\libxslt-1.1.34.win-arm64.zip"
Unpacking libxslt-1.1.34.win-arm64.zip into libs
Retrieving "https://github.com/lxml/libxml2-win-binaries/releases/download/2022.05.30/zlib-1.2.11.win-arm64.zip" to "libs\zlib-1.2.11.win-arm64.zip"
Unpacking zlib-1.2.11.win-arm64.zip into libs
Retrieving "https://github.com/lxml/libxml2-win-binaries/releases/download/2022.05.30/iconv-1.14.win-arm64.zip" to "libs\iconv-1.14.win-arm64.zip"
Unpacking iconv-1.14.win-arm64.zip into libs
Building without Cython.
Building against pre-built libxml2 andl libxslt libraries
Building against libxml2/libxslt in one of the following directories:
libs\libxml2-2.9.12-1.win-arm64\lib
libs\libxslt-1.1.34.win-arm64\lib
libs\zlib-1.2.11.win-arm64\lib
libs\iconv-1.14.win-arm64\lib
running build
running build_py
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libexslt\__init__.py -> build\lib.win-arm64-3.11\lxml\includes\libexslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\__init__.py -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\zlib-1.2.11.win-arm64\include\__init__.py -> build\lib.win-arm64-3.11\lxml\includes\extlibs
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\c14n.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\catalog.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\chvalid.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\debugXML.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\dict.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\DOCBparser.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\encoding.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\entities.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\globals.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\hash.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\HTMLparser.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\HTMLtree.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\list.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\nanoftp.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\nanohttp.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\parser.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\parserInternals.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\pattern.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\relaxng.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\SAX.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\SAX2.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\schemasInternals.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\schematron.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\threads.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\tree.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\uri.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\valid.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\xinclude.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\xlink.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\xmlautomata.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\xmlerror.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\xmlexports.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\xmlIO.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\xmlmemory.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\xmlmodule.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\xmlreader.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\xmlregexp.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\xmlsave.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\xmlschemas.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\xmlschemastypes.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\xmlstring.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\xmlunicode.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\xmlversion.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\xmlwriter.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\xpath.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\xpathInternals.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxml2-2.9.12-1.win-arm64\include\libxml\xpointer.h -> build\lib.win-arm64-3.11\lxml\includes\libxml
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libexslt\exslt.h -> build\lib.win-arm64-3.11\lxml\includes\libexslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libexslt\exsltconfig.h -> build\lib.win-arm64-3.11\lxml\includes\libexslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libexslt\exsltexports.h -> build\lib.win-arm64-3.11\lxml\includes\libexslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libexslt\libexslt.h -> build\lib.win-arm64-3.11\lxml\includes\libexslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\attributes.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\documents.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\extensions.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\extra.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\functions.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\imports.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\keys.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\libxslt.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\namespaces.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\numbersInternals.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\preproc.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\security.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\templates.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\transform.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\trio.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\triodef.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\variables.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\win32config.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\xslt.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\xsltconfig.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\xsltexports.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\xsltInternals.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\xsltlocale.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\libxslt-1.1.34.win-arm64\include\libxslt\xsltutils.h -> build\lib.win-arm64-3.11\lxml\includes\libxslt
copying C:\Users\test\Downloads\lxml-4.9.2\libs\zlib-1.2.11.win-arm64\include\zconf.h -> build\lib.win-arm64-3.11\lxml\includes\extlibs
copying C:\Users\test\Downloads\lxml-4.9.2\libs\zlib-1.2.11.win-arm64\include\zlib.h -> build\lib.win-arm64-3.11\lxml\includes\extlibs
running build_ext
building 'lxml.etree' extension
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\bin\HostX86\ARM64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -DLIBXML_STATIC -DLIBXSLT_STATIC -DCYTHON_CLINE_IN_TRACEBACK=0 -Ilibs\libxml2-2.9.12-1.win-arm64\include -Ilibs\libxslt-1.1.34.win-arm64\include -Ilibs\zlib-1.2.11.win-arm64\include -Ilibs\iconv-1.14.win-arm64\include -Isrc -Isrc\lxml\includes -IC:\Users\test\AppData\Local\Programs\Python\Python311-arm64\include -IC:\Users\test\AppData\Local\Programs\Python\Python311-arm64\Include -IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\include -IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\ATLMFC\include -IC:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include -IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\winrt -IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\cppwinrt -IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um /Tcsrc\lxml\etree.c /Fobuild\temp.win-arm64-3.11\Release\src\lxml\etree.obj -w
cl : Command line warning D9025 : overriding '/W3' with '/w'
etree.c
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\bin\HostX86\ARM64\link.exe /nologo /INCREMENTAL:NO /LTCG /DLL /MANIFEST:EMBED,ID=2 /MANIFESTUAC:NO /LIBPATH:libs\libxml2-2.9.12-1.win-arm64\lib /LIBPATH:libs\libxslt-1.1.34.win-arm64\lib /LIBPATH:libs\zlib-1.2.11.win-arm64\lib /LIBPATH:libs\iconv-1.14.win-arm64\lib /LIBPATH:C:\Users\test\AppData\Local\Programs\Python\Python311-arm64\libs /LIBPATH:C:\Users\test\AppData\Local\Programs\Python\Python311-arm64\PCbuild\arm64 /LIBPATH:C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\ATLMFC\lib\ARM64 /LIBPATH:C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.34.31933\lib\ARM64 /LIBPATH:C:\Program Files (x86)\Windows Kits\10\lib\10.0.22621.0\ucrt\arm64 /LIBPATH:C:\Program Files (x86)\Windows Kits\10\\lib\10.0.22621.0\\um\arm64 libxslt_a.lib libexslt_a.lib libxml2_a.lib iconv_a.lib zlib.lib WS2_32.lib /EXPORT:PyInit_etree build\temp.win-arm64-3.11\Release\src\lxml\etree.obj /OUT:build\lib.win-arm64-3.11\lxml\etree.cp311-win_arm64.pyd /IMPLIB:build\temp.win-arm64-3.11\Release\src\lxml\etree.cp311-win_arm64.lib
fatal error C1047: The object or library file 'libs\iconv-1.14.win-arm64\lib\iconv_a.lib' was created by a different version of the compiler than other objects like 'build\temp.win-arm64-3.11\Release\src\lxml\etree.obj'; rebuild all objects and libraries with the same compiler
LINK : fatal error LNK1257: code generation failed
error: command 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.34.31933\\bin\\HostX86\\ARM64\\link.exe' failed with exit code 1257
```
Looking at the GitHub workflow for `libxml2-win-binaries`, VS 2019 is used for these pre-build binaries, but you can't really get the build tools for that on Windows 11 on ARM as far as I understand from Microsoft's docs: https://learn.microsoft.com/en-us/visualstudio/install/visual-studio-on-arm-devices?view=vs-2022
Maybe I'm missing something, but is there a way to get `lxml` working on Windows 11 ARM?
I can't really provide all the required information, but here it goes:
Python : sys.version_info(major=3, minor=11, micro=0, releaselevel='beta', serial=3)
The sources I used were from the 4.9.2 release: https://github.com/lxml/lxml/releases/tag/lxml-4.9.2
I managed to workaround this by checking out `libxml2-win-binaries`, building them with VS 2022 (some minor changes to `build.ps1` are needed, I can make them public if needed; I also converted the `libiconv` VS solution to use VS2022 by using Visual Studio because the version generated by applying `libiconv.patch` was not compatible with what I had installed, but I'm 99% sure this is a me problem), and patching the build scripts to no longer download the prebuilt binaries from GitHub.
As such, I'm not sure if this is a bug, a problem with my environment, or an unsupported use case.
Should users of Windows 11 ARM be able to install `lxml` with `pip`?
Should the prebuilt binaries work on Windows 11 ARM? Making sure these come in all shapes and sizes that can be required in the wild is probably not worth the effort (switching to VS 2022 will make them incompatible with VS 2019 probably).
Even if this is not a bug, I think that having this knowledge posted here may at least help others like me in the future.
Windows is notoriously annoying to support, so I'm not going to try it myself. I'll leave it to Windows users instead to provide a working setup. PRs welcome for the library and lxml build.
https:/ /github. com/lxml/ libxml2- win-binaries /github. com/lxml/ lxml
https:/