«Невозможно скомпилировать без функции или макроса isnan» при попытке скомпилировать geos 14.04.

Используя процедуру построения geos в Ubuntu 12.04, я пытаюсь собрать geos 14.04 и получить ошибку: « Невозможно скомпилировать без функции 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
задан 14 May 2014 в 06:14

3 ответа

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
0
ответ дан 14 May 2014 в 06:14

У меня была та же проблема. Для меня это появилось от следующей последовательности шагов

  • ./настраивать
  • , делают
  • , Обнаруживают то, чтобы избегать g ++ и устанавливают его: sudo aptitude install g++
  • делают

, проблема, это настраивает, принял некоторые решения на основе того, какие инструменты были установлены, но они были неправильными. Решение состоит в том, чтобы повторно выполниться, настраивают после установки g ++.

@user224082, Хотя Ubuntu 14.04 обеспечивает libgeos, она не обеспечивает привязку PHP, таким образом, все еще необходимо скомпилировать вручную при необходимости в них.

2
ответ дан 14 May 2014 в 06:14
  • 1
    passwd does not read passwords via STDIN? Таким образом, что такое клавиатура тогда если не STDIN? – Sergiy Kolodyazhnyy 23 November 2015 в 07:05

Если все существующие ответы не помогают Вам, как был мой случай, можно попытаться удостовериться, что макрос определяется в течение времени компиляции.

Когда Вы определили включение, которое, как предполагается, гарантирует, что макрос может быть скомпилирован в моем случае: Coordinate.inl

enter image description here

в случае geos-3.3.3 макрос определяется в platform.h

platform.h

Просто замените строку 24, с:

#define HAVE_ISNAN 1

Готово. Я действительно надеюсь, что Вы получили справку из другого ответа перед движением для этого но она определенно устраняет поднятый вопрос.

1
ответ дан 1 December 2019 в 15:39

Другие вопросы по тегам:

Похожие вопросы: