À l'aide d'une procédure de création de géos sur Ubuntu 12.04, j'essaie de créer des géos sur 14.04 et j'obtiens l'erreur suivante: "Impossible de compiler sans macro ou fonction isnan" lorsque make
est exécuté.
Sudo apt-get -y install build-essential
wget http://download.osgeo.org/geos/geos-3.4.2.tar.bz2
tar xvfj geos-3.4.2.tar.bz2
cd geos-3.4.2
./configure
make
pour une raison quelconque, la macro isnan()
ne semble pas être disponible le 14.04, comment puis-je le compiler?
J'ai eu le même problème. Pour moi, cela découle de la séquence d'étapes suivante
Sudo aptitude install g++
Le problème est que configure avait pris des décisions en fonction des outils installés, mais c'étaient les mauvais. La solution consiste à relancer configure après l'installation de g ++.
@ user224082 Bien que Ubuntu 14.04 fournisse libgeos, il ne fournit pas les liaisons PHP. Vous devez donc toujours compiler à la main si vous en avez besoin.
libgeos-3.4.2 est dans référentiel principal Ubunt pour Ubuntu 14.04. Vous n’avez donc pas besoin d’exécuter des méthodes de compilation difficiles.
libgeos-3.4.2
et ses packages nécessaires peuvent être installés avec:
Sudo apt-get install libgeos-3.4.2 libgeos-c1 libgeos-dbg libgeos-dev libgeos-doc libgeos-Ruby1.8 Ruby-geos libgeos++-dev
Si toutes les réponses existantes ne vous aident pas, comme ce fut mon cas, vous pouvez essayer de vous assurer que la macro est définie pendant la compilation.
Lorsque vous avez identifié l'include censé garantir que la macro peut être compilée dans mon cas : Coordinate.inl
dans le cas de geos-3.3.3 , la macro est définie dans platform.h
Il suffit de remplacer la ligne 24 , par:
_#define HAVE_ISNAN 1
_
Terminé. J'espère vraiment que vous avez eu l'aide d'une réponse différente avant de choisir celle-ci, mais cela résout définitivement le problème soulevé.