Title: [Bug]: Meson build fails due to qhull link issue. · Issue #27159 · matplotlib/matplotlib · GitHub
Open Graph Title: [Bug]: Meson build fails due to qhull link issue. · Issue #27159 · matplotlib/matplotlib
X Title: [Bug]: Meson build fails due to qhull link issue. · Issue #27159 · matplotlib/matplotlib
Description: Bug summary Building matplotlib fails due to "Connection reset by peer" when meson is building qhull. Perhaps relevant: qhull/qhull#132 Code for reproduction python -m pip install -ve . Actual outcome [Errno 104] Connection reset by peer...
Open Graph Description: Bug summary Building matplotlib fails due to "Connection reset by peer" when meson is building qhull. Perhaps relevant: qhull/qhull#132 Code for reproduction python -m pip install -ve . Actual outc...
X Description: Bug summary Building matplotlib fails due to "Connection reset by peer" when meson is building qhull. Perhaps relevant: qhull/qhull#132 Code for reproduction python -m pip install -ve . A...
Opengraph URL: https://github.com/matplotlib/matplotlib/issues/27159
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"[Bug]: Meson build fails due to qhull link issue.","articleBody":"### Bug summary\r\n\r\nBuilding matplotlib fails due to \"Connection reset by peer\" when meson is building qhull. Perhaps relevant: https://github.com/qhull/qhull/issues/132\r\n\r\n### Code for reproduction\r\n\r\n```python\r\npython -m pip install -ve .\r\n```\r\n\r\n\r\n### Actual outcome\r\n\r\n\u003cdetails\u003e\r\n\r\n\u003csummary\u003e [Errno 104] Connection reset by peer \u003c/summary\u003e\r\n\r\n```\r\n~/github/matplotlib$ python -m pip install -ve .\r\nUsing pip 22.0.2 from /home/xenophon/github/matplotlib/env/lib/python3.10/site-packages/pip (python 3.10)\r\nObtaining file:///home/xenophon/github/matplotlib\r\n Running command pip subprocess to install build dependencies\r\n Collecting meson-python\u003e=0.13.1\r\n Using cached meson_python-0.14.0-py3-none-any.whl (76 kB)\r\n Collecting numpy\u003e=1.25\r\n Using cached numpy-1.26.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (18.2 MB)\r\n Collecting pybind11\u003e=2.6\r\n Using cached pybind11-2.11.1-py3-none-any.whl (227 kB)\r\n Collecting setuptools_scm\u003e=7\r\n Using cached setuptools_scm-8.0.4-py3-none-any.whl (42 kB)\r\n Collecting pyproject-metadata\u003e=0.7.1\r\n Using cached pyproject_metadata-0.7.1-py3-none-any.whl (7.4 kB)\r\n Collecting tomli\u003e=1.0.0\r\n Using cached tomli-2.0.1-py3-none-any.whl (12 kB)\r\n Collecting meson\u003e=0.63.3\r\n Using cached meson-1.2.2-py3-none-any.whl (964 kB)\r\n Collecting packaging\u003e=20\r\n Using cached packaging-23.2-py3-none-any.whl (53 kB)\r\n Collecting typing-extensions\r\n Using cached typing_extensions-4.8.0-py3-none-any.whl (31 kB)\r\n Collecting setuptools\r\n Using cached setuptools-68.2.2-py3-none-any.whl (807 kB)\r\n Installing collected packages: typing-extensions, tomli, setuptools, pybind11, packaging, numpy, meson, setuptools_scm, pyproject-metadata, meson-python\r\n Successfully installed meson-1.2.2 meson-python-0.14.0 numpy-1.26.1 packaging-23.2 pybind11-2.11.1 pyproject-metadata-0.7.1 setuptools-68.2.2 setuptools_scm-8.0.4 tomli-2.0.1 typing-extensions-4.8.0\r\n Installing build dependencies ... done\r\n Running command Checking if build backend supports build_editable\r\n Checking if build backend supports build_editable ... done\r\n Running command Getting requirements to build editable\r\n Getting requirements to build editable ... done\r\n Running command pip subprocess to install backend dependencies\r\n Collecting ninja\u003e=1.8.2\r\n Using cached ninja-1.11.1.1-py2.py3-none-manylinux1_x86_64.manylinux_2_5_x86_64.whl (307 kB)\r\n Collecting patchelf\u003e=0.11.0\r\n Using cached patchelf-0.17.2.1-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.musllinux_1_1_x86_64.whl (425 kB)\r\n Installing collected packages: patchelf, ninja\r\n Successfully installed ninja-1.11.1.1 patchelf-0.17.2.1\r\n Installing backend dependencies ... done\r\n Running command Preparing editable metadata (pyproject.toml)\r\n + meson setup /home/xenophon/github/matplotlib /home/xenophon/github/matplotlib/build/cp310 -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=/home/xenophon/github/matplotlib/build/cp310/meson-python-native-file.ini\r\n The Meson build system\r\n Version: 1.2.2\r\n Source dir: /home/xenophon/github/matplotlib\r\n Build dir: /home/xenophon/github/matplotlib/build/cp310\r\n Build type: native build\r\n Project name: matplotlib\r\n Project version: 3.9.0.dev0\r\n C compiler for the host machine: cc (gcc 11.4.0 \"cc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0\")\r\n C linker for the host machine: cc ld.bfd 2.38\r\n C++ compiler for the host machine: c++ (gcc 11.4.0 \"c++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0\")\r\n C++ linker for the host machine: c++ ld.bfd 2.38\r\n Host machine cpu family: x86_64\r\n Host machine cpu: x86_64\r\n Program python found: YES (/home/xenophon/github/matplotlib/env/bin/python)\r\n Did not find pkg-config by name 'pkg-config'\r\n Found Pkg-config: NO\r\n Run-time dependency python found: YES 3.10\r\n pybind11-config found: YES (/tmp/pip-build-env-8wxg444r/overlay/bin/pybind11-config) 2.11.1\r\n Run-time dependency pybind11 found: YES 2.11.1\r\n\r\n Executing subproject freetype-2.6.1\r\n\r\n freetype-2.6.1| Project name: freetype2\r\n freetype-2.6.1| Project version: 2.6.1\r\n freetype-2.6.1| C compiler for the host machine: cc (gcc 11.4.0 \"cc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0\")\r\n freetype-2.6.1| C linker for the host machine: cc ld.bfd 2.38\r\n freetype-2.6.1| Has header \"unistd.h\" : YES\r\n freetype-2.6.1| Has header \"fcntl.h\" : YES\r\n freetype-2.6.1| Has header \"stdint.h\" : YES\r\n freetype-2.6.1| Configuring ftconfig.h using configuration\r\n freetype-2.6.1| Configuring ftoption.h using configuration\r\n freetype-2.6.1| Build targets in project: 3\r\n freetype-2.6.1| Subproject freetype-2.6.1 finished.\r\n\r\n Downloading qhull source from http://www.qhull.org/download/qhull-2020-src-8.0.2.tgz\r\n WARNING: failed to download with error: [Errno 104] Connection reset by peer. Trying after a delay...\r\n WARNING: failed to download with error: [Errno 104] Connection reset by peer. Trying after a delay...\r\n WARNING: failed to download with error: [Errno 104] Connection reset by peer. Trying after a delay...\r\n WARNING: failed to download with error: [Errno 104] Connection reset by peer. Trying after a delay...\r\n WARNING: failed to download with error: [Errno 104] Connection reset by peer. Trying after a delay...\r\n Traceback (most recent call last):\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/mesonmain.py\", line 194, in run\r\n return options.run_func(options)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/msetup.py\", line 358, in run\r\n app.generate()\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/msetup.py\", line 183, in generate\r\n return self._generate(env, capture, vslite_ctx)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/msetup.py\", line 228, in _generate\r\n intr.run()\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreter/interpreter.py\", line 3002, in run\r\n super().run()\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreterbase/interpreterbase.py\", line 164, in run\r\n self.evaluate_codeblock(self.ast, start=1)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreterbase/interpreterbase.py\", line 190, in evaluate_codeblock\r\n raise e\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreterbase/interpreterbase.py\", line 182, in evaluate_codeblock\r\n self.evaluate_statement(cur)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreterbase/interpreterbase.py\", line 196, in evaluate_statement\r\n return self.function_call(cur)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreterbase/interpreterbase.py\", line 521, in function_call\r\n res = func(node, func_args, kwargs)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreterbase/decorators.py\", line 277, in wrapper\r\n return f(*nargs, **wrapped_kwargs)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreterbase/decorators.py\", line 596, in wrapper\r\n return f(*wrapped_args, **wrapped_kwargs)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreter/interpreter.py\", line 2414, in func_subdir\r\n self.evaluate_codeblock(codeblock)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreterbase/interpreterbase.py\", line 190, in evaluate_codeblock\r\n raise e\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreterbase/interpreterbase.py\", line 182, in evaluate_codeblock\r\n self.evaluate_statement(cur)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreterbase/interpreterbase.py\", line 206, in evaluate_statement\r\n return self.evaluate_if(cur)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreterbase/interpreterbase.py\", line 306, in evaluate_if\r\n self.evaluate_codeblock(node.elseblock)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreterbase/interpreterbase.py\", line 190, in evaluate_codeblock\r\n raise e\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreterbase/interpreterbase.py\", line 182, in evaluate_codeblock\r\n self.evaluate_statement(cur)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreterbase/interpreterbase.py\", line 198, in evaluate_statement\r\n self.assignment(cur)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreterbase/interpreterbase.py\", line 635, in assignment\r\n value = self.evaluate_statement(node.value)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreterbase/interpreterbase.py\", line 196, in evaluate_statement\r\n return self.function_call(cur)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreterbase/interpreterbase.py\", line 521, in function_call\r\n res = func(node, func_args, kwargs)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreterbase/decorators.py\", line 277, in wrapper\r\n return f(*nargs, **wrapped_kwargs)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreterbase/decorators.py\", line 596, in wrapper\r\n return f(*wrapped_args, **wrapped_kwargs)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreter/interpreter.py\", line 879, in func_subproject\r\n return self.do_subproject(args[0], 'meson', kw)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/interpreter/interpreter.py\", line 924, in do_subproject\r\n subdir = r.resolve(subp_name, method)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/wrap/wrap.py\", line 466, in resolve\r\n self.get_file()\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/wrap/wrap.py\", line 543, in get_file\r\n path = self.get_file_internal('source')\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/wrap/wrap.py\", line 763, in get_file_internal\r\n self.download(what, cache_path)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/wrap/wrap.py\", line 738, in download\r\n dhash, tmpfile = self.get_data_with_backoff(srcurl)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/wrap/wrap.py\", line 731, in get_data_with_backoff\r\n return self.get_data(urlstring)\r\n File \"/tmp/pip-build-env-8wxg444r/overlay/lib/python3.10/site-packages/mesonbuild/wrap/wrap.py\", line 702, in get_data\r\n block = resp.read(blocksize)\r\n File \"/usr/lib/python3.10/http/client.py\", line 466, in read\r\n s = self.fp.read(amt)\r\n File \"/usr/lib/python3.10/socket.py\", line 705, in readinto\r\n return self._sock.recv_into(b)\r\n ConnectionResetError: [Errno 104] Connection reset by peer\r\n\r\n ERROR: Unhandled python OSError. This is probably not a Meson bug, but an issue with your build environment.\r\n error: subprocess-exited-with-error\r\n \r\n × Preparing editable metadata (pyproject.toml) did not run successfully.\r\n │ exit code: 104\r\n ╰─\u003e See above for output.\r\n \r\n note: This error originates from a subprocess, and is likely not a problem with pip.\r\n full command: /home/xenophon/github/matplotlib/env/bin/python /home/xenophon/github/matplotlib/env/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_editable /tmp/tmp811wdin1\r\n cwd: /home/xenophon/github/matplotlib\r\n Preparing editable metadata (pyproject.toml) ... error\r\nerror: metadata-generation-failed\r\n\r\n× Encountered error while generating package metadata.\r\n╰─\u003e See above for output.\r\n\r\nnote: This is an issue with the package mentioned above, not pip.\r\nhint: See above for details.\r\n\r\n```\r\n\r\n\u003c/details\u003e\r\n\r\n### Expected outcome\r\n\r\nbuilds successfully\r\n\r\n### Additional information\r\n\r\nIt could be an http vs https issue: the link (and all of qhull's page) is http. Chaning the link/file/hash on qhull.wrap to the [equivalent tarball](https://github.com/qhull/qhull/archive/refs/tags/v8.0.2.tar.gz) on qhull's github page at least advances the error to\r\n```\r\n Downloading qhull source from https://github.com/qhull/qhull/archive/refs/tags/v8.0.2.tar.gz\r\n Downloading file of unknown size.\r\n\r\n Executing subproject qhull\r\n\r\n qhull| Project name: qhull\r\n qhull| Project version: 8.0.2\r\n qhull| C compiler for the host machine: cc (gcc 11.4.0 \"cc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0\")\r\n qhull| C linker for the host machine: cc ld.bfd 2.38\r\n\r\n ../../subprojects/qhull-2020.2/meson.build:5:12: ERROR: Include dir src does not exist.\r\n```\r\n\r\nI also tried installing libqhull8.0 and using [system libraries](https://matplotlib.org/stable/devel/dependencies.html#use-system-libraries), but got the same issue\r\n\r\n### Operating system\r\n\r\nLinux 6.2.0-34-generic; Ubuntu 22.04.1\r\n\r\n### Matplotlib Version\r\n\r\n`master` from today: dfdb37aa11ada50d8c91c320dbd250955b15a990\r\n\r\n### Matplotlib Backend\r\n\r\nN/A\r\n\r\n### Python version\r\n\r\n3.10.12\r\n\r\n### Jupyter version\r\n\r\nN/A\r\n\r\n### Installation\r\n\r\ngit checkout","author":{"url":"https://github.com/Jacob-Stevens-Haas","@type":"Person","name":"Jacob-Stevens-Haas"},"datePublished":"2023-10-20T16:04:12.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":11},"url":"https://github.com/27159/matplotlib/issues/27159"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:5fec9c81-b39d-1544-be71-3b365fd66a4a |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | BB5C:388AB3:20846:299E3:6A513699 |
| html-safe-nonce | 53af01a4271f5f3b344ac3ae4e2c6363bc490edc0acace49f31013d3fb4f626b |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCQjVDOjM4OEFCMzoyMDg0NjoyOTlFMzo2QTUxMzY5OSIsInZpc2l0b3JfaWQiOiI3MjY5NTQxNDI2NTYzNzI0OTUzIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | a86f8e6a927dd0cd8e352115856c2be0b30b05ff4261a1c437d51a42c4673bb0 |
| hovercard-subject-tag | issue:1954597506 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/matplotlib/matplotlib/27159/issue_layout |
| twitter:image | https://opengraph.githubassets.com/f394b4cd40a8dd8106a31e5d24acac5dcf7a206cd1fbda1bb53450543b80fbcf/matplotlib/matplotlib/issues/27159 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/f394b4cd40a8dd8106a31e5d24acac5dcf7a206cd1fbda1bb53450543b80fbcf/matplotlib/matplotlib/issues/27159 |
| og:image:alt | Bug summary Building matplotlib fails due to "Connection reset by peer" when meson is building qhull. Perhaps relevant: qhull/qhull#132 Code for reproduction python -m pip install -ve . Actual outc... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | Jacob-Stevens-Haas |
| hostname | github.com |
| expected-hostname | github.com |
| None | e840f405b2718e8f2d55aafa9ff27dbce17e29d0c253011d05ea0fea3c78baff |
| turbo-cache-control | no-preview |
| go-import | github.com/matplotlib/matplotlib git https://github.com/matplotlib/matplotlib.git |
| octolytics-dimension-user_id | 215947 |
| octolytics-dimension-user_login | matplotlib |
| octolytics-dimension-repository_id | 1385122 |
| octolytics-dimension-repository_nwo | matplotlib/matplotlib |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1385122 |
| octolytics-dimension-repository_network_root_nwo | matplotlib/matplotlib |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 4ae6027e8ba70c79dc08249bb6cdc1a09d788496 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width