delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2023/09/12/22:02:53

X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6CD9C3858430
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1694570572;
bh=PEr1YKfwJkBxkZtzNkYq4IccD90POV845h+1378CZ+E=;
h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc:
From;
b=h5DEu0+h+Z8j5fqzTueLs+UWyQczlqIn8w6Px0pKK3dSNFw1sFyewTidwtl4+z5ua
1l0gOKDiIKI3v/uh/KD0hZ+iWxHm/fCgJzreFM3R7uSsOH7vMQYKUDSiqCKOCkdqOh
dSZAGyjOpEq2KLclJdzyz+miyvhw8pKZDGW3h4so=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BA2F83858CDB
X-Authority-Analysis: v=2.4 cv=e5oV9Il/ c=1 sm=1 tr=0 ts=6501181f
a=DxHlV3/gbUaP7LOF0QAmaA==:117 a=DxHlV3/gbUaP7LOF0QAmaA==:17
a=IkcTkHD0fZMA:10 a=dXvAoEkxAAAA:8 a=bZAe9ARq7syUIMJJxz4A:9 a=QEXdDO2ut3YA:10
a=louMuWYoCpMA:10 a=iJ39DRKJB4kz2P1Iyp3E:22
Message-ID: <b374673d-e575-7d09-93e6-427a8885e550@Shaw.ca>
Date: Tue, 12 Sep 2023 20:02:06 -0600
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.15.0
Subject: Re: Python 3.9 shapely package build failed
To: cygwin AT cygwin DOT com
References: <CALUJTM6nL8L-KbfFfmzqopPocTtz0GjaU5a+aNMnHa2EZ_ME-Q AT mail DOT gmail DOT com>
Organization: Inglis
In-Reply-To: <CALUJTM6nL8L-KbfFfmzqopPocTtz0GjaU5a+aNMnHa2EZ_ME-Q@mail.gmail.com>
X-CMAE-Envelope: MS4xfD8UXcwV7tQKdegGBVN/s29pOT0qcGvqSmDLDM70MZ46TpfgbQ9mkKHISj/o2pHYGhQTfLx3MJxwk6dWByehDdB/iGOOdJfBZHDJkbNPcmbBEHRcoUke
FV016OVDB+Is58GqzWTmcc8Lqi9qscWqgMFrig1c9d+Fp+ISNSTk8vUuVOkmekmelE/PCZ2p8RNmOsOgQ9yhxNmzQ1+NS+qr8wi7iGpETv1aYYO27HX5AR6Y
X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00, DKIM_SIGNED,
DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A, RCVD_IN_DNSWL_LOW,
SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Brian Inglis via Cygwin <cygwin AT cygwin DOT com>
Reply-To: cygwin AT cygwin DOT com
Cc: Brian Inglis <Brian DOT Inglis AT Shaw DOT ca>
Errors-To: cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com>
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 38D22r0w014212

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


-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019