Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pip install fails on MacOS 11.4 on arm64 (PEP 517) #957

Closed
reagle opened this issue Jul 8, 2021 · 6 comments
Closed

pip install fails on MacOS 11.4 on arm64 (PEP 517) #957

reagle opened this issue Jul 8, 2021 · 6 comments
Labels
bug cat: infrastructure supported platforms, dependency detection, etc.

Comments

@reagle
Copy link

reagle commented Jul 8, 2021

...

      File "/private/var/folders/2l/73vdx0sd5rvcn38yg036h6500000gp/T/pip-build-env-3a1hopxr/overlay/lib/python3.9/site-packages/skbuild/cmaker.py", line 81, in get_cmake_version
        raise SKBuildError(
    Traceback (most recent call last):

    Problem with the CMake installation, aborting build. CMake executable is cmake
    ----------------------------------------
    ERROR: Failed building wheel for ninja
  Failed to build ninja
  ERROR: Could not build wheels for ninja which use PEP 517 and cannot be installed directly
  ----------------------------------------
WARNING: Discarding file:///Users/reagle/Downloads/pytype. Command errored out with exit status 1: /opt/homebrew/opt/[email protected]/bin/python3.9 /private/var/folders/2l/73vdx0sd5rvcn38yg036h6500000gp/T/pip-standalone-pip-1xwnfryi/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /private/var/folders/2l/73vdx0sd5rvcn38yg036h6500000gp/T/pip-build-env-98iwdhl3/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.8.0' ninja wheel pybind11==2.6.0rc3 Check the logs for full command output.
ERROR: Command errored out with exit status 1: /opt/homebrew/opt/[email protected]/bin/python3.9 /private/var/folders/2l/73vdx0sd5rvcn38yg036h6500000gp/T/pip-standalone-pip-1xwnfryi/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /private/var/folders/2l/73vdx0sd5rvcn38yg036h6500000gp/T/pip-build-env-98iwdhl3/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.8.0' ninja wheel pybind11==2.6.0rc3 Check the logs for full command output.
@rchen152 rchen152 added bug cat: infrastructure supported platforms, dependency detection, etc. labels Jul 15, 2021
@rchen152
Copy link
Contributor

Thanks for the report! According to pypa/pip#6256, that error message referencing PEP 517 simply means that the wheel failed to build - the actual cause is probably somewhere else in the output. Any chance you could include more of the log?

@reagle
Copy link
Author

reagle commented Jul 15, 2021

Here's the more complete context, if you want me to increase verbosity or something just tell me how.

╰─➤  pip3 install pytype
Collecting pytype
  Using cached pytype-2021.6.17.tar.gz (2.2 MB)
  Installing build dependencies ... error
  ERROR: Command errored out with exit status 1:
   command: /opt/homebrew/opt/[email protected]/bin/python3.9 /private/var/folders/2l/73vdx0sd5rvcn38yg036h6500000gp/T/pip-standalone-pip-93xoxv5g/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /private/var/folders/2l/73vdx0sd5rvcn38yg036h6500000gp/T/pip-build-env-l4hes8gi/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.8.0' ninja wheel pybind11==2.6.0rc3
       cwd: None
  Complete output (34 lines):
  Collecting setuptools>=40.8.0
    Downloading setuptools-57.2.0-py3-none-any.whl (818 kB)
  Collecting ninja
    Using cached ninja-1.10.0.post2.tar.gz (25 kB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
    Getting requirements to build wheel: started
    Getting requirements to build wheel: finished with status 'done'
      Preparing wheel metadata: started
      Preparing wheel metadata: finished with status 'done'
  Collecting wheel
    Using cached wheel-0.36.2-py2.py3-none-any.whl (35 kB)
  Collecting pybind11==2.6.0rc3
    Using cached pybind11-2.6.0rc3-py2.py3-none-any.whl (187 kB)
  Building wheels for collected packages: ninja
    Building wheel for ninja (PEP 517): started
    Building wheel for ninja (PEP 517): finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /opt/homebrew/opt/[email protected]/bin/python3.9 /var/folders/2l/73vdx0sd5rvcn38yg036h6500000gp/T/tmpklt7i8la_in_process.py build_wheel /var/folders/2l/73vdx0sd5rvcn38yg036h6500000gp/T/tmptbvvs7ac
         cwd: /private/var/folders/2l/73vdx0sd5rvcn38yg036h6500000gp/T/pip-install-446zbhdv/ninja_35e76f1d8ca743bc8166873ec748025e
    Complete output (9 lines):
      File "/private/var/folders/2l/73vdx0sd5rvcn38yg036h6500000gp/T/pip-build-env-4ajg0u02/overlay/lib/python3.9/site-packages/skbuild/setuptools_wrap.py", line 560, in setup
        cmkr = cmaker.CMaker(cmake_executable)
      File "/private/var/folders/2l/73vdx0sd5rvcn38yg036h6500000gp/T/pip-build-env-4ajg0u02/overlay/lib/python3.9/site-packages/skbuild/cmaker.py", line 95, in __init__
        self.cmake_version = get_cmake_version(self.cmake_executable)
      File "/private/var/folders/2l/73vdx0sd5rvcn38yg036h6500000gp/T/pip-build-env-4ajg0u02/overlay/lib/python3.9/site-packages/skbuild/cmaker.py", line 81, in get_cmake_version
        raise SKBuildError(
    Traceback (most recent call last):

    Problem with the CMake installation, aborting build. CMake executable is cmake
    ----------------------------------------
    ERROR: Failed building wheel for ninja
  Failed to build ninja
  ERROR: Could not build wheels for ninja which use PEP 517 and cannot be installed directly
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/1d/6d/42e88d2203832851a08ce8bb4381d8c67f5e3f82ff57598f511de6baac31/pytype-2021.6.17.tar.gz#sha256=8f11a4b93fb807ff849a0cbff926c17ef6147f5f5bb8a28875e8fbea91b853f5 (from https://pypi.org/simple/pytype/) (requires-python:<3.10,>=3.6). Command errored out with exit status 1: /opt/homebrew/opt/[email protected]/bin/python3.9 /private/var/folders/2l/73vdx0sd5rvcn38yg036h6500000gp/T/pip-standalone-pip-93xoxv5g/__env_pip__.zip/pip install --ignore-installed --no-user --prefix /private/var/folders/2l/73vdx0sd5rvcn38yg036h6500000gp/T/pip-build-env-l4hes8gi/overlay --no-warn-script-location --no-binary :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.8.0' ninja wheel pybind11==2.6.0rc3 Check the logs for full command output.
...

@reagle
Copy link
Author

reagle commented Jul 15, 2021

Also, if you want to know my environment, just let me know what you want. I do have Rosetta installed, which I (only) use for two Python apps (zim wiki and pytype).

@rchen152
Copy link
Contributor

Thanks! I took a look at the code triggering the SKBuildError (https://github.com/scikit-build/scikit-build/blob/a7c746ae47d27b641f5734103e8fa4aaaabc09e3/skbuild/cmaker.py#L78-L82):

try:
    version_string = subprocess.check_output([cmake_executable, '--version'])
except (OSError, subprocess.CalledProcessError):
    raise SKBuildError(
        "Problem with the CMake installation, aborting build. CMake executable is %s" % cmake_executable)

It would appear that ninja installation is failing when attempting to run cmake --version.

  • Are you able to manually run cmake --version? If not, perhaps you need to install or upgrade cmake.
  • Can you run pip install ninja? I'm curious whether installing ninja always fails or only when it's a pytype dep.

(Apologies I can't do any of this troubleshooting myself; I and the other pytype devs are all on Linux ^^;)

@reagle
Copy link
Author

reagle commented Jul 16, 2021

Thanks! cmake was not available in my path and did not appear to be installed (brew or cask) with either architecture of homebrew. Even so, when using Rosetta2/x86_6 pytype did install...?

Fortunately, installing the brew of cmake with arch --arm64 homebrew does the trick for building an M1 version of pytype via the arm64 python/pip.

This issue could be closed, but referenced in a follow-up as a dependency issue.

@rchen152
Copy link
Contributor

Great, glad you were able to figure it out! I'll add a note to the Installation section of the README with a link to this bug.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug cat: infrastructure supported platforms, dependency detection, etc.
Projects
None yet
Development

No branches or pull requests

2 participants