matplotlib / matplotlib/basemap

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

Abierto
#314 8 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Python
Estrellas
817
Forks
395
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

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,

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comience reproduciendo la instalación de Cygwin de 64 bits e inspeccionando la compilación fallida en geos-3.3.3/src/algorithm/locate/IndexedPointInAreaLocator.cpp. Lea ../../../include/geos/platform.h y ../../../include/geos/geom/Coordinate.inl alrededor del uso de ISNAN y, a continuación, verifique que la instalación de basemap se complete y que el script indicado pueda ejecutarse.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cpp, python
Área
build-system, operating-systems
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
30/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.