X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/2ffc1537e7a7e37eaec4af81fd2176fc1ae69bce..a408da4cccf0c6a6c0c222df2e901e764ce7054d:/docs/admin/Faq.md?ds=inline diff --git a/docs/admin/Faq.md b/docs/admin/Faq.md index 5737cef5..1d0252d3 100644 --- a/docs/admin/Faq.md +++ b/docs/admin/Faq.md @@ -37,65 +37,6 @@ nominatim import --continue indexing Otherwise it's best to start the full setup from the beginning. -### PHP "open_basedir restriction in effect" warnings - - PHP Warning: file_get_contents(): open_basedir restriction in effect. - -You need to adjust the -[open_basedir](https://www.php.net/manual/en/ini.core.php#ini.open-basedir) -setting in your PHP configuration (`php.ini` file). By default this setting may -look like this: - - open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/ - -Either add reported directories to the list or disable this setting temporarily -by adding ";" at the beginning of the line. Don't forget to enable this setting -again once you are done with the PHP command line operations. - - -### PHP timezeone warnings - -The Apache log may contain lots of PHP warnings like this: - `PHP Warning: date_default_timezone_set() function.` - -You should set the default time zone as instructed in the warning in -your `php.ini` file. Find the entry about timezone and set it to -something like this: - - ; Defines the default timezone used by the date functions - ; https://php.net/date.timezone - date.timezone = 'America/Denver' - -Or - -``` -echo "date.timezone = 'America/Denver'" > /etc/php.d/timezone.ini -``` - -### nominatim.so version mismatch - -When running the import you may get a version mismatch: -`COPY_END for place failed: ERROR: incompatible library "/srv/Nominatim/nominatim/build/module/nominatim.so": version mismatch` - -pg_config seems to use bad includes sometimes when multiple versions -of PostgreSQL are available in the system. Make sure you remove the -server development libraries (`postgresql-server-dev-13` on Ubuntu) -and recompile (`cmake .. && make`). - - -### I see the error "ERROR: permission denied for language c" - -`nominatim.so`, written in C, is required to be installed on the database -server. Some managed database (cloud) services like Amazon RDS do not allow -this. There is currently no work-around other than installing a database -on a non-managed machine. - - -### I see the error: "function transliteration(text) does not exist" - -Reinstall the nominatim functions with `nominatim refresh --functions` -and check for any errors, e.g. a missing `nominatim.so` file. - ### I see the error: "ERROR: mmap (remap) failed" This may be a simple out-of-memory error. Try reducing the memory used @@ -137,48 +78,31 @@ for default Ubuntu operating system for example it's `www-data`. GRANT SELECT ON ALL TABLES IN SCHEMA public TO "www-data"; ``` -### Website reports "Could not load library "nominatim.so" +### Setup fails with "DB Error: extension not found" -Example error message +Make sure you have the PostgreSQL extensions "hstore" and "postgis" installed. +See the installation instructions for a full list of required packages. -``` - SELECT make_standard_name('3039 E MEADOWLARK LN') [nativecode=ERROR: could not - load library "/srv/nominatim/Nominatim-3.1.0/build/module/nominatim.so": - /srv/nominatim/Nominatim-3.1.0/build/module/nominatim.so: cannot open shared - object file: Permission denied - CONTEXT: PL/pgSQL function make_standard_name(text) line 5 at assignment] -``` -The PostgreSQL database, i.e. user `postgres`, needs to have access to that file. +### UnicodeEncodeError: 'ascii' codec can't encode character -The permission need to be read & executable by everybody, but not writeable -by everybody, e.g. +Make sure that the operating system's locale is UTF-8. With some prebuilt +images (e.g. LXC containers from Proxmox, see +[discussion](https://github.com/osm-search/Nominatim/discussions/2343)) or +images that optimize for size it might be missing. + +On Ubuntu you can check the locale is installed: ``` - -rwxr-xr-x 1 nominatim nominatim 297984 build/module/nominatim.so + grep UTF-8 /etc/default/locale ``` -Try `chmod a+r nominatim.so; chmod a+x nominatim.so`. - -When running SELinux, make sure that the -[context is set up correctly](../appendix/Install-on-Centos-8.md#adding-selinux-security-settings). - -When you recently updated your operating system, updated PostgreSQL to -a new version or moved files (e.g. the build directory) you should -recreate `nominatim.so`. Try +And install it using ``` - cd build - rm -r module/ - cmake $main_Nominatim_path && make + dpkg-reconfigure locales ``` -### Setup.php fails with "DB Error: extension not found" - -Make sure you have the PostgreSQL extensions "hstore" and "postgis" installed. -See the installation instructions for a full list of required packages. - - ### I forgot to delete the flatnodes file before starting an import. That's fine. For each import the flatnodes file get overwritten. @@ -190,4 +114,6 @@ for more information. ### Can I import negative OSM ids into Nominatim? -See [this question of Stackoverflow](https://help.openstreetmap.org/questions/64662/nominatim-flatnode-with-negative-id). +No, negative IDs are no longer supported by osm2pgsql. You can use +large 64-bit IDs that are guaranteed not to clash with OSM IDs. However, +you will not able to use a flatnode file with them.