matplotlib / matplotlib/basemap

Cygwin install error: error: 'isnan' was not declared in this scope

未关闭
#314 8 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
Python
星标
817
派生
395
PR 合并指标
30 天内没有已合并 PR

描述

Dear all,

after struggling with the installation of basemap I decided to post here. I have tried a couple of different 'hacks' found in google but none worked.

Full error:

libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../../../include -I../../../include/geos -I../../../include -DGEOS_INLINE -pedantic -Wall -ansi -Wno-long-long -ffloat-store -g -O2 -MT IndexedPointInAreaLocator.lo -MD -MP -MF .deps/IndexedPointInAreaLocator.Tpo -c IndexedPointInAreaLocator.cpp -DDLL_EXPORT -DPIC -o .libs/IndexedPointInAreaLocator.o
In file included from ../../../include/geos/geom/Geometry.h:26:0,
from IndexedPointInAreaLocator.cpp:18:
../../../include/geos/geom/Coordinate.inl: In member function 'bool geos::geom::Coordinate::isNull() const':
../../../include/geos/platform.h:88:27: error: 'isnan' was not declared in this scope

define ISNAN(x) (isnan(x))

                       ^

../../../include/geos/geom/Coordinate.inl:39:10: note: in expansion of macro 'ISNAN'
return (ISNAN(x) && ISNAN(y) && ISNAN(z));
^
../../../include/geos/platform.h:88:27: note: suggested alternative:

define ISNAN(x) (isnan(x))

                       ^

../../../include/geos/geom/Coordinate.inl:39:10: note: in expansion of macro 'ISNAN'
return (ISNAN(x) && ISNAN(y) && ISNAN(z));
^
In file included from ../../../include/geos/geom/Coordinate.inl:23:0,
from ../../../include/geos/geom/Coordinate.h:161,
from ../../../include/geos/geom/Envelope.h:26,
from ../../../include/geos/geom/Geometry.h:28,
from IndexedPointInAreaLocator.cpp:18:
/usr/lib/gcc/x86_64-pc-cygwin/5.4.0/include/c++/cmath:862:5: note: 'std::isnan'
isnan(_Tp __f)
^
In file included from ../../../include/geos/geom/Geometry.h:26:0,
from IndexedPointInAreaLocator.cpp:18:
../../../include/geos/geom/Coordinate.inl: In member function 'bool geos::geom::Coordinate::equals3D(const geos::geom::Coordinate&) const':
../../../include/geos/platform.h:88:27: error: 'isnan' was not declared in this scope

define ISNAN(x) (isnan(x))

                       ^

../../../include/geos/geom/Coordinate.inl:83:21: note: in expansion of macro 'ISNAN'
((z == other.z)||(ISNAN(z) && ISNAN(other.z)));
^
../../../include/geos/platform.h:88:27: note: suggested alternative:

define ISNAN(x) (isnan(x))

                       ^

../../../include/geos/geom/Coordinate.inl:83:21: note: in expansion of macro 'ISNAN'
((z == other.z)||(ISNAN(z) && ISNAN(other.z)));
^
In file included from ../../../include/geos/geom/Coordinate.inl:23:0,
from ../../../include/geos/geom/Coordinate.h:161,
from ../../../include/geos/geom/Envelope.h:26,
from ../../../include/geos/geom/Geometry.h:28,
from IndexedPointInAreaLocator.cpp:18:
/usr/lib/gcc/x86_64-pc-cygwin/5.4.0/include/c++/cmath:862:5: note: 'std::isnan'
isnan(_Tp __f)
^
make[4]: *** [Makefile:373: IndexedPointInAreaLocator.lo] Error 1
make[4]: Leaving directory '/tmp/basemap/geos-3.3.3/src/algorithm/locate'
make[3]: *** [Makefile:392: all-recursive] Error 1
make[3]: Leaving directory '/tmp/basemap/geos-3.3.3/src/algorithm/locate'
make[2]: *** [Makefile:444: all-recursive] Error 1
make[2]: Leaving directory '/tmp/basemap/geos-3.3.3/src/algorithm'
make[1]: *** [Makefile:476: all-recursive] Error 1
make[1]: Leaving directory '/tmp/basemap/geos-3.3.3/src'
make: *** [Makefile:368: all-recursive] Error 1

I am installing it on cygwin 64 bits.

I have also tried to use cygwin's binaries but they give errors on a tested script.

I am not sure of any additional relevant information.

Best regards,

贡献指南

这个仓库没有索引到贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

首先重现 Cygwin 64-bit 安装,并检查 geos-3.3.3/src/algorithm/locate/IndexedPointInAreaLocator.cpp 中失败的构建。阅读 ../../../include/geos/platform.h 和 ../../../include/geos/geom/Coordinate.inl 中 ISNAN 使用处附近的内容,然后验证 basemap 安装能够完成,并且所报告的脚本可以运行。

由索引模型根据 Issue 内容生成。

评估

技术栈
cpp, python
领域
build-system, operating-systems
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
需要澄清
新手友好度
30/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。