g++ отсутствует в Amazon Linux AMI-2016.09 (настройка Nominatim - библиотека не найдена)

Попытка настроить OSM Nominatum, и я получаю следующую ошибку во время ./configure

checking for proj headers in /usr/include... not found
checking for proj projection library... no
configure: error: required library not found

Я гарантировал, что proj а также proj-devel были установлены, но все равно получаю ошибку. Я прочитал ответ здесь, который говорит, чтобы установить gcc-c++, что я и сделал, и я все еще получаю ту же ошибку выше. Не уверен, что делать на этом этапе.

1 ответ

Хорошо, разобрался. Скачал пакет из репозитория AMI yum:

$ yum install --downloadonly --downloaddir=/tmp gcc-c++

А затем проверил содержимое файла:

$ rpm -qlp gcc-c++-4.8.3-3.20.amzn1.noarch.rpm
(contains no files)

Я считаю, что пакет, вероятно, должен создавать символические ссылки, но он ничего не содержит, поэтому он ничего не делает. Проверяя, я вижу, что пакет gcc48-c++ установлено. Глядя на содержимое пакета, я вижу следующие файлы:

$ rpm -ql gcc48-c++ | grep bin
/usr/bin/c++48
/usr/bin/g++48
/usr/bin/x86_64-amazon-linux-c++48
/usr/bin/x86_64-amazon-linux-g++48

Хорошо так g++ не существует в /usr/bin но g++48 делает. Давайте исправим это:

ln -s /usr/bin/g++48 /usr/bin/g++

Сейчас работает ./configure и все работает как положено.

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