Closed Cynthia-Higginbotham closed 5 years ago
As you say, this is an issue with the Cython compiler rather than any code specific to Cartopy cython/cython#2790. What is not quite clear to me is whether this issue only occurs during processing of the pyx file to turn it into C code, or if the C code is trying to use a forbidden function? If it is the former then distributing the C code could be a solution to this, see #1035 for some related discussion.
Including the generated C file(s) in source distributions (and making the recompilation optional) would solve this problem.
@Cynthia-Higginbotham - this issue was closed because #1264 means that users will no longer need Cython when installing source distributions (e.g. from pypi). Thanks to @scoder for the advice.
This will be part of the next release (v0.18).
Description
Cython crashes when attempting to build cython extensions to cartopy on FIPS-enabled systems because it tries to use md5 hashes internally, and FIPS-enabled systems disable md5 because it is insecure. This is a Cython issue which I have just filed (Cython fails to build code on FIPS-enabled systems cython/cython#2790), but since cartopy depends on Cython, it became a cartopy issue as well, since it cannot be built on any FIPS-enabled system.
Steps to reproduce
Traceback
Full environment definition
### Operating system RedHat EL7 ### Cartopy version Cartopy 0.17.0, the current version on PyPi ### conda list N/A ### pip list ``` cycler 0.10.0 Cython 0.29.2 docutils 0.12 Jinja2 2.7.3 kiwisolver 1.0.1 MarkupSafe 0.23 matplotlib 2.2.3 nose 1.3.4 numpy 1.15.2 pip 18.0 Pygments 1.6 pyparsing 2.2.2 pyshp 2.0.1 python-dateutil 2.7.3 pytz 2018.5 scipy 0.13.3 setuptools 11.3.1 Shapely 1.6.4.post2 simplejson 3.6.5 six 1.11.0 Sphinx 1.2.2 SQLAlchemy 0.9.8 virtualenv 1.11.6 wheel 0.32.0 ```