matplotlib / matplotlib/basemap
Cygwin install error: error: 'isnan' was not declared in this scope
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 817
- Forks
- 395
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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,
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginnen Sie damit, die 64-Bit-Installation von Cygwin zu reproduzieren und den fehlschlagenden Build in geos-3.3.3/src/algorithm/locate/IndexedPointInAreaLocator.cpp zu untersuchen. Lesen Sie ../../../include/geos/platform.h und ../../../include/geos/geom/Coordinate.inl im Umfeld der Verwendung von ISNAN und überprüfen Sie anschließend, dass die Installation von basemap abgeschlossen wird und das gemeldete Skript ausgeführt werden kann.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- cpp, python
- Bereich
- build-system, operating-systems
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Muss geklärt werden
- Anfängerfreundlichkeit
- 30/100