Skip to content

pip install fails Mac M4 #291

Closed
Closed
@rcompton

Description

(crawl2) rbox@Mac crawlers % pip install crawl4ai
Collecting crawl4ai
  Using cached Crawl4AI-0.3.742-py3-none-any.whl.metadata (24 kB)
Collecting aiosqlite~=0.20 (from crawl4ai)
  Using cached aiosqlite-0.20.0-py3-none-any.whl.metadata (4.3 kB)
Collecting html2text~=2024.2 (from crawl4ai)
  Using cached html2text-2024.2.26-py3-none-any.whl
Collecting lxml~=5.3 (from crawl4ai)
  Using cached lxml-5.3.0-cp313-cp313-macosx_10_13_universal2.whl.metadata (3.8 kB)
Collecting litellm~=1.48 (from crawl4ai)
  Using cached litellm-1.52.14-py3-none-any.whl.metadata (33 kB)
Collecting numpy<3,>=1.26.0 (from crawl4ai)
  Using cached numpy-2.1.3-cp313-cp313-macosx_14_0_arm64.whl.metadata (62 kB)
Collecting pillow~=10.4 (from crawl4ai)
  Using cached pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (9.2 kB)
Collecting playwright<1.48,>=1.47 (from crawl4ai)
  Using cached playwright-1.47.0-py3-none-macosx_11_0_arm64.whl.metadata (3.5 kB)
Collecting python-dotenv~=1.0 (from crawl4ai)
  Using cached python_dotenv-1.0.1-py3-none-any.whl.metadata (23 kB)
Collecting requests~=2.26 (from crawl4ai)
  Using cached requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)
Collecting beautifulsoup4~=4.12 (from crawl4ai)
  Using cached beautifulsoup4-4.12.3-py3-none-any.whl.metadata (3.8 kB)
Collecting tf-playwright-stealth~=1.0 (from crawl4ai)
  Using cached tf_playwright_stealth-1.1.0-py3-none-any.whl.metadata (2.6 kB)
Collecting xxhash~=3.4 (from crawl4ai)
  Using cached xxhash-3.5.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (12 kB)
Collecting rank-bm25~=0.2 (from crawl4ai)
  Using cached rank_bm25-0.2.2-py3-none-any.whl.metadata (3.2 kB)
Collecting aiofiles~=24.0 (from crawl4ai)
  Using cached aiofiles-24.1.0-py3-none-any.whl.metadata (10 kB)
Collecting colorama~=0.4 (from crawl4ai)
  Using cached colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB)
Collecting snowballstemmer~=2.2 (from crawl4ai)
  Using cached snowballstemmer-2.2.0-py2.py3-none-any.whl.metadata (6.5 kB)
Collecting typing_extensions>=4.0 (from aiosqlite~=0.20->crawl4ai)
  Using cached typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
Collecting soupsieve>1.2 (from beautifulsoup4~=4.12->crawl4ai)
  Using cached soupsieve-2.6-py3-none-any.whl.metadata (4.6 kB)
Collecting aiohttp (from litellm~=1.48->crawl4ai)
  Using cached aiohttp-3.11.7-cp313-cp313-macosx_11_0_arm64.whl.metadata (7.7 kB)
Collecting click (from litellm~=1.48->crawl4ai)
  Using cached click-8.1.7-py3-none-any.whl.metadata (3.0 kB)
Collecting importlib-metadata>=6.8.0 (from litellm~=1.48->crawl4ai)
  Using cached importlib_metadata-8.5.0-py3-none-any.whl.metadata (4.8 kB)
Collecting jinja2<4.0.0,>=3.1.2 (from litellm~=1.48->crawl4ai)
  Using cached jinja2-3.1.4-py3-none-any.whl.metadata (2.6 kB)
Collecting jsonschema<5.0.0,>=4.22.0 (from litellm~=1.48->crawl4ai)
  Using cached jsonschema-4.23.0-py3-none-any.whl.metadata (7.9 kB)
Collecting openai>=1.54.0 (from litellm~=1.48->crawl4ai)
  Using cached openai-1.55.0-py3-none-any.whl.metadata (24 kB)
Collecting pydantic<3.0.0,>=2.0.0 (from litellm~=1.48->crawl4ai)
  Using cached pydantic-2.10.1-py3-none-any.whl.metadata (169 kB)
Collecting tiktoken>=0.7.0 (from litellm~=1.48->crawl4ai)
  Using cached tiktoken-0.8.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (6.6 kB)
Collecting tokenizers (from litellm~=1.48->crawl4ai)
  Using cached tokenizers-0.20.3-cp313-cp313-macosx_11_0_arm64.whl.metadata (6.7 kB)
Collecting greenlet==3.0.3 (from playwright<1.48,>=1.47->crawl4ai)
  Using cached greenlet-3.0.3.tar.gz (182 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting pyee==12.0.0 (from playwright<1.48,>=1.47->crawl4ai)
  Using cached pyee-12.0.0-py3-none-any.whl.metadata (2.8 kB)
Collecting charset-normalizer<4,>=2 (from requests~=2.26->crawl4ai)
  Using cached charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (34 kB)
Collecting idna<4,>=2.5 (from requests~=2.26->crawl4ai)
  Using cached idna-3.10-py3-none-any.whl.metadata (10 kB)
Collecting urllib3<3,>=1.21.1 (from requests~=2.26->crawl4ai)
  Using cached urllib3-2.2.3-py3-none-any.whl.metadata (6.5 kB)
Collecting certifi>=2017.4.17 (from requests~=2.26->crawl4ai)
  Using cached certifi-2024.8.30-py3-none-any.whl.metadata (2.2 kB)
Collecting fake-http-header<0.4.0,>=0.3.5 (from tf-playwright-stealth~=1.0->crawl4ai)
  Using cached fake_http_header-0.3.5-py3-none-any.whl.metadata (3.5 kB)
Collecting pytest-mockito<0.0.5,>=0.0.4 (from tf-playwright-stealth~=1.0->crawl4ai)
  Using cached pytest_mockito-0.0.4-py3-none-any.whl
Collecting zipp>=3.20 (from importlib-metadata>=6.8.0->litellm~=1.48->crawl4ai)
  Using cached zipp-3.21.0-py3-none-any.whl.metadata (3.7 kB)
Collecting MarkupSafe>=2.0 (from jinja2<4.0.0,>=3.1.2->litellm~=1.48->crawl4ai)
  Using cached MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl.metadata (4.0 kB)
Collecting attrs>=22.2.0 (from jsonschema<5.0.0,>=4.22.0->litellm~=1.48->crawl4ai)
  Using cached attrs-24.2.0-py3-none-any.whl.metadata (11 kB)
Collecting jsonschema-specifications>=2023.03.6 (from jsonschema<5.0.0,>=4.22.0->litellm~=1.48->crawl4ai)
  Using cached jsonschema_specifications-2024.10.1-py3-none-any.whl.metadata (3.0 kB)
Collecting referencing>=0.28.4 (from jsonschema<5.0.0,>=4.22.0->litellm~=1.48->crawl4ai)
  Using cached referencing-0.35.1-py3-none-any.whl.metadata (2.8 kB)
Collecting rpds-py>=0.7.1 (from jsonschema<5.0.0,>=4.22.0->litellm~=1.48->crawl4ai)
  Using cached rpds_py-0.21.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (4.2 kB)
Collecting anyio<5,>=3.5.0 (from openai>=1.54.0->litellm~=1.48->crawl4ai)
  Using cached anyio-4.6.2.post1-py3-none-any.whl.metadata (4.7 kB)
Collecting distro<2,>=1.7.0 (from openai>=1.54.0->litellm~=1.48->crawl4ai)
  Using cached distro-1.9.0-py3-none-any.whl.metadata (6.8 kB)
Collecting httpx<1,>=0.23.0 (from openai>=1.54.0->litellm~=1.48->crawl4ai)
  Using cached httpx-0.27.2-py3-none-any.whl.metadata (7.1 kB)
Collecting jiter<1,>=0.4.0 (from openai>=1.54.0->litellm~=1.48->crawl4ai)
  Using cached jiter-0.7.1-cp313-cp313-macosx_11_0_arm64.whl.metadata (5.2 kB)
Collecting sniffio (from openai>=1.54.0->litellm~=1.48->crawl4ai)
  Using cached sniffio-1.3.1-py3-none-any.whl.metadata (3.9 kB)
Collecting tqdm>4 (from openai>=1.54.0->litellm~=1.48->crawl4ai)
  Using cached tqdm-4.67.0-py3-none-any.whl.metadata (57 kB)
Collecting annotated-types>=0.6.0 (from pydantic<3.0.0,>=2.0.0->litellm~=1.48->crawl4ai)
  Using cached annotated_types-0.7.0-py3-none-any.whl.metadata (15 kB)
Collecting pydantic-core==2.27.1 (from pydantic<3.0.0,>=2.0.0->litellm~=1.48->crawl4ai)
  Using cached pydantic_core-2.27.1-cp313-cp313-macosx_11_0_arm64.whl.metadata (6.6 kB)
Collecting pytest>=3 (from pytest-mockito<0.0.5,>=0.0.4->tf-playwright-stealth~=1.0->crawl4ai)
  Using cached pytest-8.3.3-py3-none-any.whl.metadata (7.5 kB)
Collecting mockito>=1.0.6 (from pytest-mockito<0.0.5,>=0.0.4->tf-playwright-stealth~=1.0->crawl4ai)
  Using cached mockito-1.5.3-py3-none-any.whl.metadata (1.5 kB)
Collecting regex>=2022.1.18 (from tiktoken>=0.7.0->litellm~=1.48->crawl4ai)
  Using cached regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl.metadata (40 kB)
Collecting aiohappyeyeballs>=2.3.0 (from aiohttp->litellm~=1.48->crawl4ai)
  Using cached aiohappyeyeballs-2.4.3-py3-none-any.whl.metadata (6.1 kB)
Collecting aiosignal>=1.1.2 (from aiohttp->litellm~=1.48->crawl4ai)
  Using cached aiosignal-1.3.1-py3-none-any.whl.metadata (4.0 kB)
Collecting frozenlist>=1.1.1 (from aiohttp->litellm~=1.48->crawl4ai)
  Using cached frozenlist-1.5.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (13 kB)
Collecting multidict<7.0,>=4.5 (from aiohttp->litellm~=1.48->crawl4ai)
  Using cached multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (5.0 kB)
Collecting propcache>=0.2.0 (from aiohttp->litellm~=1.48->crawl4ai)
  Using cached propcache-0.2.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (7.7 kB)
Collecting yarl<2.0,>=1.17.0 (from aiohttp->litellm~=1.48->crawl4ai)
  Using cached yarl-1.18.0-cp313-cp313-macosx_11_0_arm64.whl.metadata (67 kB)
Collecting huggingface-hub<1.0,>=0.16.4 (from tokenizers->litellm~=1.48->crawl4ai)
  Using cached huggingface_hub-0.26.2-py3-none-any.whl.metadata (13 kB)
Collecting httpcore==1.* (from httpx<1,>=0.23.0->openai>=1.54.0->litellm~=1.48->crawl4ai)
  Using cached httpcore-1.0.7-py3-none-any.whl.metadata (21 kB)
Collecting h11<0.15,>=0.13 (from httpcore==1.*->httpx<1,>=0.23.0->openai>=1.54.0->litellm~=1.48->crawl4ai)
  Using cached h11-0.14.0-py3-none-any.whl.metadata (8.2 kB)
Collecting filelock (from huggingface-hub<1.0,>=0.16.4->tokenizers->litellm~=1.48->crawl4ai)
  Using cached filelock-3.16.1-py3-none-any.whl.metadata (2.9 kB)
Collecting fsspec>=2023.5.0 (from huggingface-hub<1.0,>=0.16.4->tokenizers->litellm~=1.48->crawl4ai)
  Using cached fsspec-2024.10.0-py3-none-any.whl.metadata (11 kB)
Collecting packaging>=20.9 (from huggingface-hub<1.0,>=0.16.4->tokenizers->litellm~=1.48->crawl4ai)
  Using cached packaging-24.2-py3-none-any.whl.metadata (3.2 kB)
Collecting pyyaml>=5.1 (from huggingface-hub<1.0,>=0.16.4->tokenizers->litellm~=1.48->crawl4ai)
  Using cached PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl.metadata (2.1 kB)
Collecting iniconfig (from pytest>=3->pytest-mockito<0.0.5,>=0.0.4->tf-playwright-stealth~=1.0->crawl4ai)
  Using cached iniconfig-2.0.0-py3-none-any.whl.metadata (2.6 kB)
Collecting pluggy<2,>=1.5 (from pytest>=3->pytest-mockito<0.0.5,>=0.0.4->tf-playwright-stealth~=1.0->crawl4ai)
  Using cached pluggy-1.5.0-py3-none-any.whl.metadata (4.8 kB)
Using cached Crawl4AI-0.3.742-py3-none-any.whl (119 kB)
Using cached aiofiles-24.1.0-py3-none-any.whl (15 kB)
Using cached aiosqlite-0.20.0-py3-none-any.whl (15 kB)
Using cached beautifulsoup4-4.12.3-py3-none-any.whl (147 kB)
Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Using cached litellm-1.52.14-py3-none-any.whl (6.4 MB)
Using cached lxml-5.3.0-cp313-cp313-macosx_10_13_universal2.whl (8.2 MB)
Using cached numpy-2.1.3-cp313-cp313-macosx_14_0_arm64.whl (5.1 MB)
Using cached pillow-10.4.0-cp313-cp313-macosx_11_0_arm64.whl (3.4 MB)
Using cached playwright-1.47.0-py3-none-macosx_11_0_arm64.whl (33.2 MB)
Using cached pyee-12.0.0-py3-none-any.whl (14 kB)
Using cached python_dotenv-1.0.1-py3-none-any.whl (19 kB)
Using cached rank_bm25-0.2.2-py3-none-any.whl (8.6 kB)
Using cached requests-2.32.3-py3-none-any.whl (64 kB)
Using cached snowballstemmer-2.2.0-py2.py3-none-any.whl (93 kB)
Using cached tf_playwright_stealth-1.1.0-py3-none-any.whl (33 kB)
Using cached xxhash-3.5.0-cp313-cp313-macosx_11_0_arm64.whl (30 kB)
Using cached certifi-2024.8.30-py3-none-any.whl (167 kB)
Using cached charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl (119 kB)
Using cached fake_http_header-0.3.5-py3-none-any.whl (14 kB)
Using cached idna-3.10-py3-none-any.whl (70 kB)
Using cached importlib_metadata-8.5.0-py3-none-any.whl (26 kB)
Using cached jinja2-3.1.4-py3-none-any.whl (133 kB)
Using cached jsonschema-4.23.0-py3-none-any.whl (88 kB)
Using cached openai-1.55.0-py3-none-any.whl (389 kB)
Using cached pydantic-2.10.1-py3-none-any.whl (455 kB)
Using cached pydantic_core-2.27.1-cp313-cp313-macosx_11_0_arm64.whl (1.8 MB)
Using cached soupsieve-2.6-py3-none-any.whl (36 kB)
Using cached tiktoken-0.8.0-cp313-cp313-macosx_11_0_arm64.whl (982 kB)
Using cached typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Using cached urllib3-2.2.3-py3-none-any.whl (126 kB)
Using cached aiohttp-3.11.7-cp313-cp313-macosx_11_0_arm64.whl (451 kB)
Using cached click-8.1.7-py3-none-any.whl (97 kB)
Using cached tokenizers-0.20.3-cp313-cp313-macosx_11_0_arm64.whl (2.6 MB)
Using cached aiohappyeyeballs-2.4.3-py3-none-any.whl (14 kB)
Using cached aiosignal-1.3.1-py3-none-any.whl (7.6 kB)
Using cached annotated_types-0.7.0-py3-none-any.whl (13 kB)
Using cached anyio-4.6.2.post1-py3-none-any.whl (90 kB)
Using cached attrs-24.2.0-py3-none-any.whl (63 kB)
Using cached distro-1.9.0-py3-none-any.whl (20 kB)
Using cached frozenlist-1.5.0-cp313-cp313-macosx_11_0_arm64.whl (50 kB)
Using cached httpx-0.27.2-py3-none-any.whl (76 kB)
Using cached httpcore-1.0.7-py3-none-any.whl (78 kB)
Using cached huggingface_hub-0.26.2-py3-none-any.whl (447 kB)
Using cached jiter-0.7.1-cp313-cp313-macosx_11_0_arm64.whl (302 kB)
Using cached jsonschema_specifications-2024.10.1-py3-none-any.whl (18 kB)
Using cached MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl (12 kB)
Using cached mockito-1.5.3-py3-none-any.whl (30 kB)
Using cached multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl (29 kB)
Using cached propcache-0.2.0-cp313-cp313-macosx_11_0_arm64.whl (44 kB)
Using cached pytest-8.3.3-py3-none-any.whl (342 kB)
Using cached referencing-0.35.1-py3-none-any.whl (26 kB)
Using cached regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl (284 kB)
Using cached rpds_py-0.21.0-cp313-cp313-macosx_11_0_arm64.whl (320 kB)
Using cached sniffio-1.3.1-py3-none-any.whl (10 kB)
Using cached tqdm-4.67.0-py3-none-any.whl (78 kB)
Using cached yarl-1.18.0-cp313-cp313-macosx_11_0_arm64.whl (91 kB)
Using cached zipp-3.21.0-py3-none-any.whl (9.6 kB)
Using cached fsspec-2024.10.0-py3-none-any.whl (179 kB)
Using cached packaging-24.2-py3-none-any.whl (65 kB)
Using cached pluggy-1.5.0-py3-none-any.whl (20 kB)
Using cached PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl (171 kB)
Using cached filelock-3.16.1-py3-none-any.whl (16 kB)
Using cached iniconfig-2.0.0-py3-none-any.whl (5.9 kB)
Using cached h11-0.14.0-py3-none-any.whl (58 kB)
Building wheels for collected packages: greenlet
  Building wheel for greenlet (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for greenlet (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [188 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/__init__.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      creating build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/__init__.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      creating build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/test_version.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/test_weakref.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/fail_slp_switch.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/test_gc.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/leakcheck.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/fail_switch_two_greenlets.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/test_generator.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/test_greenlet_trash.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/test_throw.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/test_tracing.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/fail_cpp_exception.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/fail_switch_three_greenlets.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/test_cpp.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/test_contextvars.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/test_greenlet.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/test_extension_interface.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/fail_clearing_run_switches.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/__init__.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/fail_switch_three_greenlets2.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/fail_initialstub_already_started.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/test_generator_nested.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/test_stack_saved.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/test_leaks.py -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      running egg_info
      writing src/greenlet.egg-info/PKG-INFO
      writing dependency_links to src/greenlet.egg-info/dependency_links.txt
      writing requirements to src/greenlet.egg-info/requires.txt
      writing top-level names to src/greenlet.egg-info/top_level.txt
      reading manifest file 'src/greenlet.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no previously-included files found matching 'benchmarks/*.json'
      no previously-included directories found matching 'docs/_build'
      warning: no files found matching '*.py' under directory 'appveyor'
      warning: no previously-included files matching '*.pyc' found anywhere in distribution
      warning: no previously-included files matching '*.pyd' found anywhere in distribution
      warning: no previously-included files matching '*.so' found anywhere in distribution
      warning: no previously-included files matching '.coverage' found anywhere in distribution
      adding license file 'LICENSE'
      adding license file 'LICENSE.PSF'
      adding license file 'AUTHORS'
      writing manifest file 'src/greenlet.egg-info/SOURCES.txt'
      copying src/greenlet/TBrokenGreenlet.cpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/TExceptionState.cpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/TGreenlet.cpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/TGreenletGlobals.cpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/TMainGreenlet.cpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/TPythonState.cpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/TStackState.cpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/TThreadStateDestroy.cpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/TUserGreenlet.cpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/greenlet.cpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/greenlet.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/greenlet_allocator.hpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/greenlet_compiler_compat.hpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/greenlet_cpython_add_pending.hpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/greenlet_cpython_compat.hpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/greenlet_exceptions.hpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/greenlet_greenlet.hpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/greenlet_internal.hpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/greenlet_refs.hpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/greenlet_slp_switch.hpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/greenlet_thread_state.hpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/greenlet_thread_state_dict_cleanup.hpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/greenlet_thread_support.hpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/slp_platformselect.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet
      copying src/greenlet/platform/setup_switch_x64_masm.cmd -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_aarch64_gcc.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_alpha_unix.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_amd64_unix.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_arm32_gcc.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_arm32_ios.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_arm64_masm.asm -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_arm64_masm.obj -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_arm64_msvc.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_csky_gcc.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_loongarch64_linux.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_m68k_gcc.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_mips_unix.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_ppc64_aix.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_ppc64_linux.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_ppc_aix.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_ppc_linux.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_ppc_macosx.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_ppc_unix.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_riscv_unix.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_s390_unix.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_sparc_sun_gcc.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_x32_unix.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_x64_masm.asm -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_x64_masm.obj -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_x64_msvc.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_x86_msvc.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/platform/switch_x86_unix.h -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/platform
      copying src/greenlet/tests/_test_extension.c -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      copying src/greenlet/tests/_test_extension_cpp.cpp -> build/lib.macosx-15.0-arm64-cpython-313/greenlet/tests
      running build_ext
      building 'greenlet._greenlet' extension
      creating build/temp.macosx-15.0-arm64-cpython-313/src/greenlet
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -I/Users/rbox/.virtualenvs/crawl2/include -I/opt/homebrew/opt/python@3.13/Frameworks/Python.framework/Versions/3.13/include/python3.13 -c src/greenlet/greenlet.cpp -o build/temp.macosx-15.0-arm64-cpython-313/src/greenlet/greenlet.o --std=gnu++11
      In file included from src/greenlet/greenlet.cpp:19:
      In file included from src/greenlet/greenlet_internal.hpp:20:
      In file included from src/greenlet/greenlet_greenlet.hpp:26:
      /opt/homebrew/opt/python@3.13/Frameworks/Python.framework/Versions/3.13/include/python3.13/internal/pycore_frame.h:8:4: error: "this header requires Py_BUILD_CORE define"
          8 | #  error "this header requires Py_BUILD_CORE define"
            |    ^
      In file included from src/greenlet/greenlet.cpp:19:
      In file included from src/greenlet/greenlet_internal.hpp:20:
      In file included from src/greenlet/greenlet_greenlet.hpp:26:
      In file included from /opt/homebrew/opt/python@3.13/Frameworks/Python.framework/Versions/3.13/include/python3.13/internal/pycore_frame.h:13:
      /opt/homebrew/opt/python@3.13/Frameworks/Python.framework/Versions/3.13/include/python3.13/internal/pycore_code.h:8:4: error: "this header requires Py_BUILD_CORE define"
          8 | #  error "this header requires Py_BUILD_CORE define"
            |    ^
      In file included from src/greenlet/greenlet.cpp:19:
      In file included from src/greenlet/greenlet_internal.hpp:20:
      In file included from src/greenlet/greenlet_greenlet.hpp:26:
      In file included from /opt/homebrew/opt/python@3.13/Frameworks/Python.framework/Versions/3.13/include/python3.13/internal/pycore_frame.h:13:
      In file included from /opt/homebrew/opt/python@3.13/Frameworks/Python.framework/Versions/3.13/include/python3.13/internal/pycore_code.h:11:
      /opt/homebrew/opt/python@3.13/Frameworks/Python.framework/Versions/3.13/include/python3.13/internal/pycore_lock.h:13:4: error: "this header requires Py_BUILD_CORE define"
         13 | #  error "this header requires Py_BUILD_CORE define"
            |    ^
      In file included from src/greenlet/greenlet.cpp:19:
      In file included from src/greenlet/greenlet_internal.hpp:20:
      In file included from src/greenlet/greenlet_greenlet.hpp:26:
      In file included from /opt/homebrew/opt/python@3.13/Frameworks/Python.framework/Versions/3.13/include/python3.13/internal/pycore_frame.h:13:
      In file included from /opt/homebrew/opt/python@3.13/Frameworks/Python.framework/Versions/3.13/include/python3.13/internal/pycore_code.h:12:
      /opt/homebrew/opt/python@3.13/Frameworks/Python.framework/Versions/3.13/include/python3.13/internal/pycore_backoff.h:9:4: error: "this header requires Py_BUILD_CORE define"
          9 | #  error "this header requires Py_BUILD_CORE define"
            |    ^
      In file included from src/greenlet/greenlet.cpp:19:
      In file included from src/greenlet/greenlet_internal.hpp:20:
      src/greenlet/greenlet_greenlet.hpp:104:9: error: unknown type name '_PyCFrame'
        104 |         _PyCFrame* cframe;
            |         ^
      src/greenlet/greenlet_greenlet.hpp:147:29: error: unknown type name '_PyCFrame'
        147 |         void set_new_cframe(_PyCFrame& frame) noexcept;
            |                             ^
      src/greenlet/greenlet_greenlet.hpp:660:17: error: cannot initialize object parameter of type 'const greenlet::Greenlet' with an expression of type 'const greenlet::UserGreenlet'
        660 |             if (this->started() || !this->_run_callable) {
            |                 ^~~~
      In file included from src/greenlet/greenlet.cpp:32:
      src/greenlet/TMainGreenlet.cpp:48:5: error: cannot initialize object parameter of type 'greenlet::Greenlet' with an expression of type 'greenlet::MainGreenlet'
         48 |     this->tp_clear();
            |     ^~~~
      src/greenlet/TMainGreenlet.cpp:93:9: error: cannot initialize object parameter of type 'const greenlet::Greenlet' with an expression of type 'greenlet::MainGreenlet'
         93 |         this->check_switch_allowed();
            |         ^~~~
      src/greenlet/TMainGreenlet.cpp:96:9: error: cannot initialize object parameter of type 'greenlet::Greenlet' with an expression of type 'greenlet::MainGreenlet'
         96 |         this->release_args();
            |         ^~~~
      src/greenlet/TMainGreenlet.cpp:100:32: error: cannot initialize object parameter of type 'greenlet::Greenlet' with an expression of type 'greenlet::MainGreenlet'
        100 |     switchstack_result_t err = this->g_switchstack();
            |                                ^~~~
      src/greenlet/TMainGreenlet.cpp:104:16: error: cannot initialize object parameter of type 'greenlet::Greenlet' with an expression of type 'greenlet::MainGreenlet'
        104 |         return this->on_switchstack_or_initialstub_failure(
            |                ^~~~
      src/greenlet/TMainGreenlet.cpp:125:22: error: cannot initialize object parameter of type 'greenlet::Greenlet' with an expression of type 'greenlet::MainGreenlet'
        125 |     return Greenlet::tp_traverse(visit, arg);
            |                      ^~~~~~~~~~~
      In file included from src/greenlet/greenlet.cpp:33:
      src/greenlet/TUserGreenlet.cpp:69:9: error: cannot initialize object parameter of type 'const greenlet::Greenlet' with an expression of type 'const greenlet::UserGreenlet'
         69 |     if (this->started()) {
            |         ^~~~
      src/greenlet/TUserGreenlet.cpp:100:22: error: cannot initialize object parameter of type 'greenlet::Greenlet' with an expression of type 'greenlet::UserGreenlet'
        100 |     return Greenlet::throw_GreenletExit_during_dealloc(current_thread_state);
            |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      src/greenlet/TUserGreenlet.cpp:129:9: error: cannot initialize object parameter of type 'const greenlet::Greenlet' with an expression of type 'greenlet::UserGreenlet'
        129 |         this->check_switch_allowed();
            |         ^~~~
      src/greenlet/TUserGreenlet.cpp:132:9: error: cannot initialize object parameter of type 'greenlet::Greenlet' with an expression of type 'greenlet::UserGreenlet'
        132 |         this->release_args();
            |         ^~~~
      src/greenlet/TUserGreenlet.cpp:146:15: error: cannot initialize a variable of type 'Greenlet *' with an rvalue of type 'greenlet::UserGreenlet *'
        146 |     Greenlet* target = this;
            |               ^        ~~~~
      src/greenlet/TUserGreenlet.cpp:158:36: error: cannot initialize object parameter of type 'greenlet::Greenlet' with an expression of type 'greenlet::UserGreenlet'
        158 |                 target->args() <<= this->args();
            |                                    ^~~~
      fatal error: too many errors emitted, stopping now [-ferror-limit=]
      20 errors generated.
      error: command '/usr/bin/clang++' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for greenlet
Failed to build greenlet
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (greenlet)
(crawl2) rbox@Mac crawlers %

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Labels

🐞 BugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions