web-dev-qa-db-ja.com

14.04でgeosをコンパイルしようとすると、「isnan関数またはマクロなしではコンパイルできません」

Ubuntu 12.04でgeosを構築する手順を使用して、14.04でgeosを構築しようとしていますが、「isnan関数またはマクロなしでコンパイルできません "makeが実行されたとき。

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 

何らかの理由でisnan()マクロが14.04で利用できないようですが、どうすればこれをコンパイルできますか?

3
monkut

同じ問題がありました。私にとっては、次の一連のステップから生まれました

  • 。/構成、設定
  • make
  • 欠落しているg ++を検出してインストールします:Sudo aptitude install g++
  • make

問題は、configureがインストールされたツールに基づいていくつかの決定を下したが、それらは間違ったものだったということです。解決策は、g ++のインストール後にconfigureを再実行することです。

@ user224082 Ubuntu 14.04はlibgeosを提供しますが、PHPバインディングは提供しないため、必要な場合は手作業でコンパイルする必要があります。

2
AdamS

libgeos-3.4.2メインUbuntuリポジトリ Ubuntu 14.04用です。したがって、難しいコンパイルメソッドを実行する必要はありません。

libgeos-3.4.2およびその必要なパッケージは、次のコマンドでインストールできます。

Sudo apt-get install libgeos-3.4.2 libgeos-c1 libgeos-dbg libgeos-dev libgeos-doc libgeos-Ruby1.8 Ruby-geos libgeos++-dev
2
user224082

私の場合のように、既存の回答がすべて役に立たない場合は、コンパイル時にマクロが定義されていることを確認してみてください。

マクロをコンパイルできるようにすることになっているインクルードを特定したら、私の場合Coordinate.inl

enter image description here

geos-3.3.の場合、マクロはplatform.hで定義されます

platform.h

line 24を次のように置き換えるだけです:

#define HAVE_ISNAN 1

できたこの回答に進む前に、別の回答から助けを得ることを心から願っていますが、それは間違いなく提起された問題を解決します。

1
VeRo