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

Unable to install using pip on Cygwin #1113

Closed
Joshua-IRT opened this issue Jul 26, 2022 · 5 comments · Fixed by #1120
Closed

Unable to install using pip on Cygwin #1113

Joshua-IRT opened this issue Jul 26, 2022 · 5 comments · Fixed by #1120
Labels
installation-issues Issue related to installation problems. windows Windows related issue

Comments

@Joshua-IRT
Copy link

Joshua-IRT commented Jul 26, 2022

Installation method/steps

  • First, PROJ was installed using the Cygwin package installation tool.
  • Then attempted to install pyproj using pip: pip3 install pyproj

Environment Information

  • pyproj version you are attempting to install = 3.3.1
  • PROJ version = Rel. 9.0.1, June 15th, 2022
  • Python version = 3.9.10 (main, Jan 20 2022, 21:37:52) [GCC 11.2.0]
  • Operation System Information = CYGWIN_NT-10.0-19044-3.3.5-341.x86_64-x86_64-64bit-WindowsPE

Output

Collecting pyproj
  Using cached pyproj-3.3.1.tar.gz (219 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: certifi in /usr/local/lib/python3.9/site-packages/certifi-2022.6.15-py3.9.egg (from pyproj) (2022.6.15)
Building wheels for collected packages: pyproj
  Building wheel for pyproj (pyproject.toml) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3.9.exe /usr/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmp9ncdrpiz
       cwd: /tmp/pip-install-adnywux0/pyproj_fcd15a1a2bd6421a880e98878bf6fbc6
  Complete output (49 lines):
  /tmp/pip-build-env-5yak_mea/overlay/lib/python3.9/site-packages/setuptools/config/setupcfg.py:463: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
    warnings.warn(msg, warning_class)
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.cygwin-3.3.5-x86_64-cpython-39
  creating build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/aoi.py -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/datadir.py -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/enums.py -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/exceptions.py -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/geod.py -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/network.py -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/proj.py -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/sync.py -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/transformer.py -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/utils.py -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/_show_versions.py -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/__init__.py -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/__main__.py -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  creating build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj/crs
  copying pyproj/crs/coordinate_operation.py -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj/crs
  copying pyproj/crs/coordinate_system.py -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj/crs
  copying pyproj/crs/crs.py -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj/crs
  copying pyproj/crs/datum.py -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj/crs
  copying pyproj/crs/enums.py -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj/crs
  copying pyproj/crs/_cf1x8.py -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj/crs
  copying pyproj/crs/__init__.py -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj/crs
  copying pyproj/database.pyi -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/list.pyi -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/_compat.pyi -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/_crs.pyi -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/_datadir.pyi -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/_geod.pyi -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/_network.pyi -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/_sync.pyi -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/_transformer.pyi -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  copying pyproj/py.typed -> build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj
  running build_ext
  building 'pyproj._geod' extension
  creating build/temp.cygwin-3.3.5-x86_64-cpython-39
  creating build/temp.cygwin-3.3.5-x86_64-cpython-39/pyproj
  gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -I/usr/include -I/usr/include/python3.9 -c pyproj/_geod.c -o build/temp.cygwin-3.3.5-x86_64-cpython-39/pyproj/_geod.o
  gcc -shared -Wl,--enable-auto-image-base build/temp.cygwin-3.3.5-x86_64-cpython-39/pyproj/_geod.o -L/usr/lib -L/usr/lib/python3.9/config -L/usr/lib -Wl,--enable-new-dtags,-R/usr/lib -lproj -lpython3.9 -o build/lib.cygwin-3.3.5-x86_64-cpython-39/pyproj/_geod.cpython-39-x86_64-cygwin.dll
  /usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: unrecognized option '--enable-new-dtags'
  /usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: use the --help option for usage information
  collect2: error: ld returned 1 exit status
  error: command '/usr/bin/gcc' failed with exit code 1
  ----------------------------------------
  ERROR: Failed building wheel for pyproj
Failed to build pyproj
ERROR: Could not build wheels for pyproj, which is required to install pyproject.toml-based projects

The issue appears to be that --enable-new-dtags is being selected despite this not applying to the Cygwin environment.

@Joshua-IRT Joshua-IRT added the installation-issues Issue related to installation problems. label Jul 26, 2022
@Joshua-IRT
Copy link
Author

This appears to be an upstream issue in setuptools in the Cygwin environment, rather than an issue with pyproj itself. I have opened an issue there instead: pypa/distutils#171

@snowman2 snowman2 added the windows Windows related issue label Jul 26, 2022
@DWesl
Copy link
Contributor

DWesl commented Aug 16, 2022

Try changing line 170 of setup.py to also test for sys.platform != "cygwin", does that solve your problem?

@snowman2 snowman2 reopened this Aug 16, 2022
@Joshua-IRT
Copy link
Author

Try changing line 170 of setup.py to also test for sys.platform != "cygwin", does that solve your problem?

Thank you, that resolved the problem and pyproj now installs (and imports) successfully under Cygwin:

$ pip3 install ./pyproj-3.3.1
Processing ./pyproj-3.3.1
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: certifi in /usr/local/lib/python3.9/site-packages/certifi-2022.6.15-py3.9.egg (from pyproj==3.3.1) (2022.6.15)
Building wheels for collected packages: pyproj
  Building wheel for pyproj (pyproject.toml) ... done
  Created wheel for pyproj: filename=pyproj-3.3.1-cp39-cp39-cygwin_3_3_5_x86_64.whl size=2167286 sha256=aa44da140185d4a377686a6a94f55d2e866a9bc06ef767e7bbf48160931d616a
  Stored in directory: /home/[user]/.cache/pip/wheels/a7/e1/68/80ef2e9f0e7d70ef66ce8b121becdaaf4b74a620f91e84b194
Successfully built pyproj
Installing collected packages: pyproj
  Attempting uninstall: pyproj
    Found existing installation: pyproj 3.3.1
    Uninstalling pyproj-3.3.1:
      Successfully uninstalled pyproj-3.3.1
Successfully installed pyproj-3.3.1

$ python3
Python 3.9.10 (main, Jan 20 2022, 21:37:52)
[GCC 11.2.0] on cygwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyproj
>>>

@snowman2 snowman2 reopened this Aug 17, 2022
@snowman2
Copy link
Member

That sounds like a good change to add to the code. A PR is welcome if someone has the time.

@snowman2 snowman2 added this to To do in 3.4.0 Release via automation Aug 18, 2022
DWesl added a commit to DWesl/pyproj that referenced this issue Aug 20, 2022
Closes pyproj4#1113 (pyproj4#1113 (comment)), pypa/distutils#171

runtime_library_dirs isn't supported by PE/COFF, used by Windows and Cygwin; it seems to be an ELF thing.
@DWesl
Copy link
Contributor

DWesl commented Aug 20, 2022

#1120 should be similar to what Joshua-IRT got working

3.4.0 Release automation moved this from To do to Done Aug 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
installation-issues Issue related to installation problems. windows Windows related issue
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

3 participants