Пытаясь собрать nominatim 3.4.1, я получаю "фатальную ошибку: postgres .h: нет такого файла или каталога" - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь установить Nominatim 3.4.1 на Ubuntu 20.04 и PostgreSQL 12, поэтому я следую официальным инструкциям здесь , проблема в том, когда я выполняю make, я есть эта ошибка:

[ 79%] Built target osm2pgsql_lib
[ 79%] Built target osm2pgsql
[ 79%] <b>Running external makefile /usr/lib/postgresql/12/lib/pgxs/src/makefiles/pgxs.mk</b>
/srv/nominatim/Nominatim-3.4.0/module/Makefile:11: warning: overriding recipe for target &apos;install&apos;
/usr/lib/postgresql/12/lib/pgxs/src/makefiles/pgxs.mk:241: warning: ignoring old recipe for target &apos;install&apos;
<b>/srv/nominatim/Nominatim-3.4.0/module/nominatim.c:1:10:</b> <b>fatal error: </b>postgres.h: No such file or directory
    1 | #include <b>"postgres.h"</b>
      |          <b>^~~~~~~~~~~~</b>
compilation terminated.
make[3]: *** [<builtin>: nominatim.o] Error 1
make[2]: *** [module/CMakeFiles/nominatim_lib.dir/build.make:61: /srv/nominatim/Nominatim-3.4.0/module/dummy] Error 2
make[1]: *** [CMakeFiles/Makefile2:1908: module/CMakeFiles/nominatim_lib.dir/all] Error 2
make: *** [Makefile:141: all] Error 2

первые строки nominatim.c файла:

#include "postgres.h"
#include "fmgr.h"

Я пробовал find / -name "postgres.h" и find / -name "fmgr.h" и таких файлов нет.

Я почти уверен, что проблема в том, что PostgreSQL 12 удалил эти файлы, изменил имена или что-то подобное, и Nominatim 3.1.4 не знает об этом изменении. Я бы не хотел понизить PostgreSQL, чтобы решить эту проблему, если это не единственно возможное решение, также я не знаю, решит ли это проблему с помощью понижения.

...