-
Notifications
You must be signed in to change notification settings - Fork 398
Closed
Description
Hi,
I'm trying to install basemap on my mac using docker. As long as conda-forge doesn't seem to support basemap for linux-aarch64 architecture, i try to do that with pip. What am I doing wrong? Running basemap build manually gives same result
> docker run -it --rm --platform=linux/arm64 condaforge/miniforge3:latest
(base) root@1a3647250cc2:/# conda create -y -n test
(base) root@1a3647250cc2:/# conda activate test
(test) root@1a3647250cc2:/# conda install -y matplotlib pyproj=3.5 proj geos numpy=1.24
(test) root@1a3647250cc2:/# GEOS_DIR=$CONDA_PREFIX python -m pip install basemap
Collecting basemap
Downloading basemap-1.3.7.zip (156 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 156.4/156.4 kB 2.8 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting basemap-data<1.4,>=1.3.2 (from basemap)
Downloading basemap_data-1.3.2-py2.py3-none-any.whl (30.5 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 30.5/30.5 MB 44.9 MB/s eta 0:00:00
Collecting pyshp<2.4,>=1.2 (from basemap)
Downloading pyshp-2.3.1-py2.py3-none-any.whl (46 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 46.5/46.5 kB 26.3 MB/s eta 0:00:00
Requirement already satisfied: matplotlib<3.8,>=1.5 in /opt/conda/envs/test/lib/python3.11/site-packages (from basemap) (3.7.2)
Requirement already satisfied: pyproj<3.6.0,>=1.9.3 in /opt/conda/envs/test/lib/python3.11/site-packages (from basemap) (3.5.0)
Requirement already satisfied: numpy<1.25,>=1.22 in /opt/conda/envs/test/lib/python3.11/site-packages (from basemap) (1.24.4)
Requirement already satisfied: contourpy>=1.0.1 in /opt/conda/envs/test/lib/python3.11/site-packages (from matplotlib<3.8,>=1.5->basemap) (1.1.0)
Requirement already satisfied: cycler>=0.10 in /opt/conda/envs/test/lib/python3.11/site-packages (from matplotlib<3.8,>=1.5->basemap) (0.11.0)
Requirement already satisfied: fonttools>=4.22.0 in /opt/conda/envs/test/lib/python3.11/site-packages (from matplotlib<3.8,>=1.5->basemap) (4.41.0)
Requirement already satisfied: kiwisolver>=1.0.1 in /opt/conda/envs/test/lib/python3.11/site-packages (from matplotlib<3.8,>=1.5->basemap) (1.4.4)
Requirement already satisfied: packaging>=20.0 in /opt/conda/envs/test/lib/python3.11/site-packages (from matplotlib<3.8,>=1.5->basemap) (23.1)
Requirement already satisfied: pillow>=6.2.0 in /opt/conda/envs/test/lib/python3.11/site-packages (from matplotlib<3.8,>=1.5->basemap) (10.0.0)
Requirement already satisfied: pyparsing<3.1,>=2.3.1 in /opt/conda/envs/test/lib/python3.11/site-packages (from matplotlib<3.8,>=1.5->basemap) (3.0.9)
Requirement already satisfied: python-dateutil>=2.7 in /opt/conda/envs/test/lib/python3.11/site-packages (from matplotlib<3.8,>=1.5->basemap) (2.8.2)
Requirement already satisfied: certifi in /opt/conda/envs/test/lib/python3.11/site-packages (from pyproj<3.6.0,>=1.9.3->basemap) (2023.5.7)
Requirement already satisfied: six>=1.5 in /opt/conda/envs/test/lib/python3.11/site-packages (from python-dateutil>=2.7->matplotlib<3.8,>=1.5->basemap) (1.16.0)
Building wheels for collected packages: basemap
Building wheel for basemap (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for basemap (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [121 lines of output]
/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/dist.py:945: SetuptoolsDeprecationWarning: The namespace_packages parameter is deprecated.
!!
********************************************************************************
Please replace its usage with implicit namespaces (PEP 420).
See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages for details.
********************************************************************************
!!
ep.load()(self, ep.name, value)
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-aarch64-cpython-311
creating build/lib.linux-aarch64-cpython-311/mpl_toolkits
copying src/mpl_toolkits/__init__.py -> build/lib.linux-aarch64-cpython-311/mpl_toolkits
creating build/lib.linux-aarch64-cpython-311/mpl_toolkits/basemap
copying src/mpl_toolkits/basemap/proj.py -> build/lib.linux-aarch64-cpython-311/mpl_toolkits/basemap
copying src/mpl_toolkits/basemap/__init__.py -> build/lib.linux-aarch64-cpython-311/mpl_toolkits/basemap
copying src/mpl_toolkits/basemap/solar.py -> build/lib.linux-aarch64-cpython-311/mpl_toolkits/basemap
copying src/mpl_toolkits/basemap/test.py -> build/lib.linux-aarch64-cpython-311/mpl_toolkits/basemap
copying src/mpl_toolkits/basemap/cm.py -> build/lib.linux-aarch64-cpython-311/mpl_toolkits/basemap
copying src/mpl_toolkits/basemap/diagnostic.py -> build/lib.linux-aarch64-cpython-311/mpl_toolkits/basemap
running build_ext
Error compiling Cython file:
------------------------------------------------------------
...
__geos_major_version__ = GEOS_VERSION_MAJOR
#if __geos_version__ != "2.2.3-CAPI-1.1.1":
# raise ValueError('version 2.2.3 of the geos library is required')
# intialize GEOS (parameters are notice and error function callbacks).
initGEOS(notice_h, error_h)
^
------------------------------------------------------------
src/_geoslib.pyx:136:9: Cannot assign type 'void (char *, char *) except *' to 'GEOSMessageHandler'
Error compiling Cython file:
------------------------------------------------------------
...
__geos_major_version__ = GEOS_VERSION_MAJOR
#if __geos_version__ != "2.2.3-CAPI-1.1.1":
# raise ValueError('version 2.2.3 of the geos library is required')
# intialize GEOS (parameters are notice and error function callbacks).
initGEOS(notice_h, error_h)
^
------------------------------------------------------------
src/_geoslib.pyx:136:19: Cannot assign type 'void (char *, char *) except *' to 'GEOSMessageHandler'
Compiling src/_geoslib.pyx because it changed.
[1/1] Cythonizing src/_geoslib.pyx
Traceback (most recent call last):
File "/opt/conda/envs/test/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
main()
File "/opt/conda/envs/test/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/conda/envs/test/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 251, in build_wheel
return _build_backend().build_wheel(wheel_directory, config_settings,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 416, in build_wheel
return self._build_with_temp_dir(['bdist_wheel'], '.whl',
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 401, in _build_with_temp_dir
self.run_setup()
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 338, in run_setup
exec(code, locals())
File "<string>", line 171, in <module>
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/__init__.py", line 107, in setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup
return run_commands(dist)
^^^^^^^^^^^^^^^^^^
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
dist.run_commands()
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
self.run_command(cmd)
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/wheel/bdist_wheel.py", line 343, in run
self.run_command("build")
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/build.py", line 131, in run
self.run_command(cmd_name)
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
self.distribution.run_command(command)
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 1234, in run_command
super().run_command(command)
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
cmd_obj.run()
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/command/build_ext.py", line 84, in run
_build_ext.run(self)
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 345, in run
self.build_extensions()
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 467, in build_extensions
self._build_extensions_serial()
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/build_ext.py", line 493, in _build_extensions_serial
self.build_extension(ext)
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/setuptools/command/build_ext.py", line 246, in build_extension
_build_ext.build_extension(self, ext)
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/Cython/Distutils/build_ext.py", line 122, in build_extension
new_ext = cythonize(
^^^^^^^^^^
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/Cython/Build/Dependencies.py", line 1134, in cythonize
cythonize_one(*args)
File "/tmp/pip-build-env-q5qoi0gb/overlay/lib/python3.11/site-packages/Cython/Build/Dependencies.py", line 1301, in cythonize_one
raise CompileError(None, pyx_file)
Cython.Compiler.Errors.CompileError: src/_geoslib.pyx
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for basemap
Failed to build basemap
ERROR: Could not build wheels for basemap, which is required to install pyproject.toml-based projects
Metadata
Metadata
Assignees
Labels
No labels