public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* Python 3.9 shapely package build failed
@ 2023-09-13  0:58 Joel Breazeale
  2023-09-13  2:02 ` Brian Inglis
  0 siblings, 1 reply; 3+ messages in thread
From: Joel Breazeale @ 2023-09-13  0:58 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 11101 bytes --]

The shapely Python 3.9 package is failing to build.  Please see the
messages in red and the one in green below:


[bin]$ /usr/local/bin/pip3.9 install shapely
Collecting shapely
  Using cached shapely-2.0.1.tar.gz (275 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: numpy>=1.14 in
/usr/local/lib/python3.9/site-packages (from shapely) (1.25.2)
Building wheels for collected packages: shapely
  Building wheel for shapely (pyproject.toml) ... error
  error: *subprocess-exited-with-error*


  × Building wheel for shapely (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [103 lines of output]
      <string>:8: DeprecationWarning: pkg_resources is deprecated as an
API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
      Could not find geos-config executable. Either append the path to
geos-config to PATH or manually provide the include_dirs, library_dirs,
libraries and other link args for compiling against a GEOS version >=3.5.
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.cygwin-3.4.9-x86_64-cpython-39
      creating build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/affinity.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/constructive.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/coordinates.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/coords.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/creation.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/decorators.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/errors.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/geos.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/io.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/linear.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/measurement.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/ops.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/plotting.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/predicates.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/prepared.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/set_operations.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/speedups.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/strtree.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/testing.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/validation.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/wkb.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/wkt.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/_enum.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/_geometry.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/_ragged_array.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/_version.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/__init__.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      creating build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/algorithms
      copying shapely/algorithms/cga.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/algorithms
      copying shapely/algorithms/polylabel.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/algorithms
      copying shapely/algorithms/__init__.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/algorithms
      creating build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
      copying shapely/geometry/base.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
      copying shapely/geometry/collection.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
      copying shapely/geometry/conftest.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
      copying shapely/geometry/geo.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
      copying shapely/geometry/linestring.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
      copying shapely/geometry/multilinestring.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
      copying shapely/geometry/multipoint.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
      copying shapely/geometry/multipolygon.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
      copying shapely/geometry/point.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
      copying shapely/geometry/polygon.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
      copying shapely/geometry/__init__.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
      creating build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
      copying shapely/tests/common.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
      copying shapely/tests/test_constructive.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
      copying shapely/tests/test_coordinates.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
      copying shapely/tests/test_creation.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
      copying shapely/tests/test_creation_indices.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
      copying shapely/tests/test_geometry.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
      copying shapely/tests/test_io.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
      copying shapely/tests/test_linear.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
      copying shapely/tests/test_measurement.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
      copying shapely/tests/test_misc.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
      copying shapely/tests/test_plotting.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
      copying shapely/tests/test_predicates.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
      copying shapely/tests/test_ragged_array.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
      copying shapely/tests/test_set_operations.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
      copying shapely/tests/test_strtree.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
      copying shapely/tests/test_testing.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
      copying shapely/tests/__init__.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
      creating build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/vectorized
      copying shapely/vectorized/__init__.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/vectorized
      creating
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
      copying shapely/tests/geometry/test_collection.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
      copying shapely/tests/geometry/test_coords.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
      copying shapely/tests/geometry/test_decimal.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
      copying shapely/tests/geometry/test_emptiness.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
      copying shapely/tests/geometry/test_format.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
      copying shapely/tests/geometry/test_geometry_base.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
      copying shapely/tests/geometry/test_hash.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
      copying shapely/tests/geometry/test_linestring.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
      copying shapely/tests/geometry/test_multi.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
      copying shapely/tests/geometry/test_multilinestring.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
      copying shapely/tests/geometry/test_multipoint.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
      copying shapely/tests/geometry/test_multipolygon.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
      copying shapely/tests/geometry/test_point.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
      copying shapely/tests/geometry/test_polygon.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
      copying shapely/tests/geometry/__init__.py ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
      copying shapely/_geos.pxd ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      copying shapely/_pygeos_api.pxd ->
build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
      UPDATING build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/_version.py
      set build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/_version.py to
'2.0.1'
      running build_ext
      building 'shapely.lib' extension
      creating build/temp.cygwin-3.4.9-x86_64-cpython-39
      creating build/temp.cygwin-3.4.9-x86_64-cpython-39/src
      gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall
-I/usr/include/python3.9
-I/tmp/pip-build-env-udfc5yaz/overlay/lib/python3.9/site-packages/numpy/core/include
-c src/c_api.c -o build/temp.cygwin-3.4.9-x86_64-cpython-39/src/c_api.o
      In file included from src/c_api.h:22,
                       from src/c_api.c:15:
      src/geos.h:15:10: fatal error: geos_c.h: No such file or directory
         15 | #include <geos_c.h>
            |          ^~~~~~~~~~
      compilation terminated.
      error: command '/usr/bin/gcc' 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 shapely
Failed to build shapely
ERROR: Could not build wheels for shapely, which is required to install
pyproject.toml-based projects
[bin]$


I presume the inability to find geos-config then caused geos_c.h to not be
able to be found.

I have shapely installed and working under Homebrew (Python 3.11.5), Oracle
Linux 9.2 under VirtualBox (Python 3.9.16) and Oracle Linux 8 (Python
3.11.4), just not under cygwin.

What do you think is the fix for this issue?

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Python 3.9 shapely package build failed
  2023-09-13  0:58 Python 3.9 shapely package build failed Joel Breazeale
@ 2023-09-13  2:02 ` Brian Inglis
  2023-09-13  2:31   ` Joel Breazeale
  0 siblings, 1 reply; 3+ messages in thread
From: Brian Inglis @ 2023-09-13  2:02 UTC (permalink / raw)
  To: cygwin; +Cc: Joel Breazeale

On 2023-09-12 18:58, Joel Breazeale via Cygwin wrote:
> The shapely Python 3.9 package is failing to build.  Please see the
> messages in red and the one in green below:
> 
> 
> [bin]$ /usr/local/bin/pip3.9 install shapely
> Collecting shapely
>    Using cached shapely-2.0.1.tar.gz (275 kB)
>    Installing build dependencies ... done
>    Getting requirements to build wheel ... done
>    Installing backend dependencies ... done
>    Preparing metadata (pyproject.toml) ... done
> Requirement already satisfied: numpy>=1.14 in
> /usr/local/lib/python3.9/site-packages (from shapely) (1.25.2)
> Building wheels for collected packages: shapely
>    Building wheel for shapely (pyproject.toml) ... error
>    error: *subprocess-exited-with-error*
> 
> 
>    × Building wheel for shapely (pyproject.toml) did not run successfully.
>    │ exit code: 1
>    ╰─> [103 lines of output]
>        <string>:8: DeprecationWarning: pkg_resources is deprecated as an
> API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
>        Could not find geos-config executable. Either append the path to
> geos-config to PATH or manually provide the include_dirs, library_dirs,
> libraries and other link args for compiling against a GEOS version >=3.5.
>        running bdist_wheel
>        running build
>        running build_py
>        creating build
>        creating build/lib.cygwin-3.4.9-x86_64-cpython-39
>        creating build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/affinity.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/constructive.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/coordinates.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/coords.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/creation.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/decorators.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/errors.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/geos.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/io.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/linear.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/measurement.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/ops.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/plotting.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/predicates.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/prepared.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/set_operations.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/speedups.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/strtree.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/testing.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/validation.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/wkb.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/wkt.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/_enum.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/_geometry.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/_ragged_array.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/_version.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/__init__.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        creating build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/algorithms
>        copying shapely/algorithms/cga.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/algorithms
>        copying shapely/algorithms/polylabel.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/algorithms
>        copying shapely/algorithms/__init__.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/algorithms
>        creating build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
>        copying shapely/geometry/base.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
>        copying shapely/geometry/collection.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
>        copying shapely/geometry/conftest.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
>        copying shapely/geometry/geo.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
>        copying shapely/geometry/linestring.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
>        copying shapely/geometry/multilinestring.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
>        copying shapely/geometry/multipoint.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
>        copying shapely/geometry/multipolygon.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
>        copying shapely/geometry/point.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
>        copying shapely/geometry/polygon.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
>        copying shapely/geometry/__init__.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
>        creating build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
>        copying shapely/tests/common.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
>        copying shapely/tests/test_constructive.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
>        copying shapely/tests/test_coordinates.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
>        copying shapely/tests/test_creation.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
>        copying shapely/tests/test_creation_indices.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
>        copying shapely/tests/test_geometry.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
>        copying shapely/tests/test_io.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
>        copying shapely/tests/test_linear.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
>        copying shapely/tests/test_measurement.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
>        copying shapely/tests/test_misc.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
>        copying shapely/tests/test_plotting.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
>        copying shapely/tests/test_predicates.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
>        copying shapely/tests/test_ragged_array.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
>        copying shapely/tests/test_set_operations.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
>        copying shapely/tests/test_strtree.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
>        copying shapely/tests/test_testing.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
>        copying shapely/tests/__init__.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
>        creating build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/vectorized
>        copying shapely/vectorized/__init__.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/vectorized
>        creating
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
>        copying shapely/tests/geometry/test_collection.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
>        copying shapely/tests/geometry/test_coords.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
>        copying shapely/tests/geometry/test_decimal.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
>        copying shapely/tests/geometry/test_emptiness.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
>        copying shapely/tests/geometry/test_format.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
>        copying shapely/tests/geometry/test_geometry_base.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
>        copying shapely/tests/geometry/test_hash.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
>        copying shapely/tests/geometry/test_linestring.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
>        copying shapely/tests/geometry/test_multi.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
>        copying shapely/tests/geometry/test_multilinestring.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
>        copying shapely/tests/geometry/test_multipoint.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
>        copying shapely/tests/geometry/test_multipolygon.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
>        copying shapely/tests/geometry/test_point.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
>        copying shapely/tests/geometry/test_polygon.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
>        copying shapely/tests/geometry/__init__.py ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
>        copying shapely/_geos.pxd ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        copying shapely/_pygeos_api.pxd ->
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
>        UPDATING build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/_version.py
>        set build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/_version.py to
> '2.0.1'
>        running build_ext
>        building 'shapely.lib' extension
>        creating build/temp.cygwin-3.4.9-x86_64-cpython-39
>        creating build/temp.cygwin-3.4.9-x86_64-cpython-39/src
>        gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall
> -I/usr/include/python3.9
> -I/tmp/pip-build-env-udfc5yaz/overlay/lib/python3.9/site-packages/numpy/core/include
> -c src/c_api.c -o build/temp.cygwin-3.4.9-x86_64-cpython-39/src/c_api.o
>        In file included from src/c_api.h:22,
>                         from src/c_api.c:15:
>        src/geos.h:15:10: fatal error: geos_c.h: No such file or directory
>           15 | #include <geos_c.h>
>              |          ^~~~~~~~~~
>        compilation terminated.
>        error: command '/usr/bin/gcc' 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 shapely
> Failed to build shapely
> ERROR: Could not build wheels for shapely, which is required to install
> pyproject.toml-based projects
> [bin]$
> 
> I presume the inability to find geos-config then caused geos_c.h to not be
> able to be found.

Both are part of the same package.

> I have shapely installed and working under Homebrew (Python 3.11.5), Oracle
> Linux 9.2 under VirtualBox (Python 3.9.16) and Oracle Linux 8 (Python
> 3.11.4), just not under cygwin.
> 
> What do you think is the fix for this issue?

$ cygcheck -p geos_c.h
Found 3 matches for geos_c.h
libgeos-devel-3.10.3-1 - libgeos-devel: Geometry Engine for Topology - (devel)
libgeos-devel-3.11.0-1 - libgeos-devel: Geometry Engine for Topology - (devel)
libgeos-devel-3.11.1-1 - libgeos-devel: Geometry Engine for Topology - (devel)
$ cygcheck -p geos-config
Found 3 matches for geos-config
libgeos-devel-3.10.3-1 - libgeos-devel: Geometry Engine for Topology - (devel)
libgeos-devel-3.11.0-1 - libgeos-devel: Geometry Engine for Topology - (devel)
libgeos-devel-3.11.1-1 - libgeos-devel: Geometry Engine for Topology - (devel)

Neither is installed, because to build library code you typically need to have 
installed a [lib]...-devel package, which other packages do not usually depend on.

Check the prereqs in python, then check the Cygwin packages that provide 
packages with that root name, then install them, before trying pip install, 
which is outside of Cygwin packaging, so you need to do everything yourself!

If in doubt, you can just install everything which matches geos or whatever!

-- 
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer     but when there is no more to cut
                                 -- Antoine de Saint-Exupéry


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Python 3.9 shapely package build failed
  2023-09-13  2:02 ` Brian Inglis
@ 2023-09-13  2:31   ` Joel Breazeale
  0 siblings, 0 replies; 3+ messages in thread
From: Joel Breazeale @ 2023-09-13  2:31 UTC (permalink / raw)
  To: cygwin

[-- Attachment #1: Type: text/plain, Size: 14025 bytes --]

Brian,

I was not aware of the cygcheck command.  I won't forget it!  Once
libgeos-devel-3.11.1-1 was installed the build worked great!

Thank you,
Joel Breazeale

On Tue, Sep 12, 2023 at 9:02 PM Brian Inglis <Brian.Inglis@shaw.ca> wrote:

> On 2023-09-12 18:58, Joel Breazeale via Cygwin wrote:
> > The shapely Python 3.9 package is failing to build.  Please see the
> > messages in red and the one in green below:
> >
> >
> > [bin]$ /usr/local/bin/pip3.9 install shapely
> > Collecting shapely
> >    Using cached shapely-2.0.1.tar.gz (275 kB)
> >    Installing build dependencies ... done
> >    Getting requirements to build wheel ... done
> >    Installing backend dependencies ... done
> >    Preparing metadata (pyproject.toml) ... done
> > Requirement already satisfied: numpy>=1.14 in
> > /usr/local/lib/python3.9/site-packages (from shapely) (1.25.2)
> > Building wheels for collected packages: shapely
> >    Building wheel for shapely (pyproject.toml) ... error
> >    error: *subprocess-exited-with-error*
> >
> >
> >    × Building wheel for shapely (pyproject.toml) did not run
> successfully.
> >    │ exit code: 1
> >    ╰─> [103 lines of output]
> >        <string>:8: DeprecationWarning: pkg_resources is deprecated as an
> > API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
> >        Could not find geos-config executable. Either append the path to
> > geos-config to PATH or manually provide the include_dirs, library_dirs,
> > libraries and other link args for compiling against a GEOS version >=3.5.
> >        running bdist_wheel
> >        running build
> >        running build_py
> >        creating build
> >        creating build/lib.cygwin-3.4.9-x86_64-cpython-39
> >        creating build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/affinity.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/constructive.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/coordinates.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/coords.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/creation.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/decorators.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/errors.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/geos.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/io.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/linear.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/measurement.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/ops.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/plotting.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/predicates.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/prepared.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/set_operations.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/speedups.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/strtree.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/testing.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/validation.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/wkb.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/wkt.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/_enum.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/_geometry.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/_ragged_array.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/_version.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/__init__.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        creating
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/algorithms
> >        copying shapely/algorithms/cga.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/algorithms
> >        copying shapely/algorithms/polylabel.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/algorithms
> >        copying shapely/algorithms/__init__.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/algorithms
> >        creating build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
> >        copying shapely/geometry/base.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
> >        copying shapely/geometry/collection.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
> >        copying shapely/geometry/conftest.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
> >        copying shapely/geometry/geo.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
> >        copying shapely/geometry/linestring.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
> >        copying shapely/geometry/multilinestring.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
> >        copying shapely/geometry/multipoint.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
> >        copying shapely/geometry/multipolygon.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
> >        copying shapely/geometry/point.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
> >        copying shapely/geometry/polygon.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
> >        copying shapely/geometry/__init__.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/geometry
> >        creating build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
> >        copying shapely/tests/common.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
> >        copying shapely/tests/test_constructive.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
> >        copying shapely/tests/test_coordinates.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
> >        copying shapely/tests/test_creation.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
> >        copying shapely/tests/test_creation_indices.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
> >        copying shapely/tests/test_geometry.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
> >        copying shapely/tests/test_io.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
> >        copying shapely/tests/test_linear.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
> >        copying shapely/tests/test_measurement.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
> >        copying shapely/tests/test_misc.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
> >        copying shapely/tests/test_plotting.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
> >        copying shapely/tests/test_predicates.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
> >        copying shapely/tests/test_ragged_array.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
> >        copying shapely/tests/test_set_operations.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
> >        copying shapely/tests/test_strtree.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
> >        copying shapely/tests/test_testing.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
> >        copying shapely/tests/__init__.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests
> >        creating
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/vectorized
> >        copying shapely/vectorized/__init__.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/vectorized
> >        creating
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
> >        copying shapely/tests/geometry/test_collection.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
> >        copying shapely/tests/geometry/test_coords.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
> >        copying shapely/tests/geometry/test_decimal.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
> >        copying shapely/tests/geometry/test_emptiness.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
> >        copying shapely/tests/geometry/test_format.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
> >        copying shapely/tests/geometry/test_geometry_base.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
> >        copying shapely/tests/geometry/test_hash.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
> >        copying shapely/tests/geometry/test_linestring.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
> >        copying shapely/tests/geometry/test_multi.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
> >        copying shapely/tests/geometry/test_multilinestring.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
> >        copying shapely/tests/geometry/test_multipoint.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
> >        copying shapely/tests/geometry/test_multipolygon.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
> >        copying shapely/tests/geometry/test_point.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
> >        copying shapely/tests/geometry/test_polygon.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
> >        copying shapely/tests/geometry/__init__.py ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/tests/geometry
> >        copying shapely/_geos.pxd ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        copying shapely/_pygeos_api.pxd ->
> > build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely
> >        UPDATING
> build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/_version.py
> >        set build/lib.cygwin-3.4.9-x86_64-cpython-39/shapely/_version.py
> to
> > '2.0.1'
> >        running build_ext
> >        building 'shapely.lib' extension
> >        creating build/temp.cygwin-3.4.9-x86_64-cpython-39
> >        creating build/temp.cygwin-3.4.9-x86_64-cpython-39/src
> >        gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3
> -Wall
> > -I/usr/include/python3.9
> >
> -I/tmp/pip-build-env-udfc5yaz/overlay/lib/python3.9/site-packages/numpy/core/include
> > -c src/c_api.c -o build/temp.cygwin-3.4.9-x86_64-cpython-39/src/c_api.o
> >        In file included from src/c_api.h:22,
> >                         from src/c_api.c:15:
> >        src/geos.h:15:10: fatal error: geos_c.h: No such file or directory
> >           15 | #include <geos_c.h>
> >              |          ^~~~~~~~~~
> >        compilation terminated.
> >        error: command '/usr/bin/gcc' 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 shapely
> > Failed to build shapely
> > ERROR: Could not build wheels for shapely, which is required to install
> > pyproject.toml-based projects
> > [bin]$
> >
> > I presume the inability to find geos-config then caused geos_c.h to not
> be
> > able to be found.
>
> Both are part of the same package.
>
> > I have shapely installed and working under Homebrew (Python 3.11.5),
> Oracle
> > Linux 9.2 under VirtualBox (Python 3.9.16) and Oracle Linux 8 (Python
> > 3.11.4), just not under cygwin.
> >
> > What do you think is the fix for this issue?
>
> $ cygcheck -p geos_c.h
> Found 3 matches for geos_c.h
> libgeos-devel-3.10.3-1 - libgeos-devel: Geometry Engine for Topology -
> (devel)
> libgeos-devel-3.11.0-1 - libgeos-devel: Geometry Engine for Topology -
> (devel)
> libgeos-devel-3.11.1-1 - libgeos-devel: Geometry Engine for Topology -
> (devel)
> $ cygcheck -p geos-config
> Found 3 matches for geos-config
> libgeos-devel-3.10.3-1 - libgeos-devel: Geometry Engine for Topology -
> (devel)
> libgeos-devel-3.11.0-1 - libgeos-devel: Geometry Engine for Topology -
> (devel)
> libgeos-devel-3.11.1-1 - libgeos-devel: Geometry Engine for Topology -
> (devel)
>
> Neither is installed, because to build library code you typically need to
> have
> installed a [lib]...-devel package, which other packages do not usually
> depend on.
>
> Check the prereqs in python, then check the Cygwin packages that provide
> packages with that root name, then install them, before trying pip
> install,
> which is outside of Cygwin packaging, so you need to do everything
> yourself!
>
> If in doubt, you can just install everything which matches geos or
> whatever!
>
> --
> Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada
>
> La perfection est atteinte                   Perfection is achieved
> non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to
> add
> mais lorsqu'il n'y a plus rien à retirer     but when there is no more to
> cut
>                                  -- Antoine de Saint-Exupéry
>
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-09-13  2:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-13  0:58 Python 3.9 shapely package build failed Joel Breazeale
2023-09-13  2:02 ` Brian Inglis
2023-09-13  2:31   ` Joel Breazeale

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).