matplotlib / matplotlib/basemap

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

オープン
#314 コメント 8 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
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. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず Cygwin 64-bit のインストールを再現し、geos-3.3.3/src/algorithm/locate/IndexedPointInAreaLocator.cpp で失敗しているビルドを調査します。ISNAN の使用箇所周辺にある ../../../include/geos/platform.h と ../../../include/geos/geom/Coordinate.inl を読み、その後 basemap のインストールが完了し、報告されたスクリプトを実行できることを確認します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cpp, python
領域
build-system, operating-systems
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
30/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。