Page 1 sur 1

probleme compilation

Publié : ven. févr. 17, 2017 3:22 pm
par nordlead75
bonjour a tous

j'essaie d'installer mon serveur de carto en compilant les dernieres version

je suis sous debian 9 (stretch)

j'ai compilé nodejs, mapnik
la j'essaie de compiler mode_tile et j'obtiens cette erreur

Code : Tout sélectionner

g++ -DHAVE_CONFIG_H -I. -I./includes  -pthread -DSYSTEM_LIBINIPARSER=0  -I/usr/local/include -I/usr/local/include/mapnik/agg -I/usr/local/include/mapnik -I/usr/include -I/usr/include/freetype2 -I/usr/include/gdal -I/usr/include/postgresql -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/libpng16 -DMAPNIK_MEMORY_MAPPED_FILE -DMAPNIK_HAS_DLCFN -DBIGINT -DBOOST_REGEX_HAS_ICU -DHAVE_JPEG -DMAPNIK_USE_PROJ4 -DHAVE_PNG -DHAVE_WEBP -DHAVE_TIFF -DLINUX -DMAPNIK_THREADSAFE -DBOOST_SPIRIT_NO_PREDEFINED_TERMINALS=1 -DBOOST_PHOENIX_NO_PREDEFINED_TERMINALS=1 -DBOOST_SPIRIT_USE_PHOENIX_V3=1 -DNDEBUG -DHAVE_CAIRO -DGRID_RENDERER -std=c++14 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -pthread -ftemplate-depth-300 -Wsign-compare -Wshadow -O3 -g -O2 -MT src/gen_tile_test-gen_tile_test.o -MD -MP -MF src/.deps/gen_tile_test-gen_tile_test.Tpo -c -o src/gen_tile_test-gen_tile_test.o `test -f 'src/gen_tile_test.cpp' || echo './'`src/gen_tile_test.cpp
src/gen_tile_test.cpp:58:28: fatal error: mapnik/box2d.hpp: Aucun fichier ou dossier de ce type
 #include <mapnik/box2d.hpp>
                            ^
compilation terminated.
Makefile:1080 : la recette pour la cible « src/gen_tile_test-gen_tile_test.o » a échouée
make[1]: *** [src/gen_tile_test-gen_tile_test.o] Erreur 1
make[1] : on quitte le répertoire « /usr/local/src/mod_tile »
Makefile:1300 : la recette pour la cible « all-recursive » a échouée
j'ai fait une recherche et j'ai trouvé le fichier a ces 2 endroits pourtant

root@tile1:/usr/local/src/mod_tile# find / -name box2d.hpp
/usr/local/include/mapnik/geometry/box2d.hpp
/usr/local/src/mapnik/include/mapnik/geometry/box2d.hpp


auriez vous une info ?

merci

Re: probleme compilation

Publié : ven. févr. 17, 2017 6:44 pm
par yvecai
sudo ldconfig?

Re: probleme compilation

Publié : sam. févr. 18, 2017 12:37 am
par nordlead75
bon j'ai trouvé mais la j'ai un autre probleme pour mettre en place le style osm-fr

au lancement de renderd j'obtiens ca :

Code : Tout sélectionner

renderd[2619]: Starting stats thread
debug: init_storage_backend: initialising file storage backend at: /data/osm/tiles
renderd[2619]: Loading parameterization function for
debug: init_storage_backend: initialising file storage backend at: /data/osm/tiles
renderd[2619]: Loading parameterization function for
renderd[2619]: An error occurred while loading the map layer 'default': Postgis Plugin: ERREUR:  la relation « planet_osm_rels » n'existe pas
LINE 1: ...xt,',') as rels from planet_osm_roads b LEFT JOIN planet_osm...
                                                             ^
in executeQuery Full sql was: 'SELECT * FROM /* admin-boundaries */ (select way, admin_level, coalesce(b.tags->'maritime','no') as maritime, count(r.*) as nb, string_agg(id::text,',') as rels from planet_osm_roads b LEFT JOIN planet_osm_rels r ON (r.parts @> ARRAY[osm_id] AND r.members @> ARRAY['w' || osm_id] AND regexp_replace(r.tags::text,'[{}]',',') ~ format('(,admin_level,%s.*,boundary,administrative|,boundary,administrative.*,admin_level,%s,)',admin_level,admin_level)) where boundary='administrative' and admin_level is not null GROUP BY 1,2,3 order by to_int(admin_level) desc, 4 ) as admin_boundaries LIMIT 0'
  encountered during parsing of layer 'admin-boundaries' in Layer of '/data/osm/styles/osmfr-cartocss/style.xml'
renderd[2619]: An error occurred while loading the map layer 'default': Postgis Plugin: ERREUR:  la relation « planet_osm_rels » n'existe pas
LINE 1: ...xt,',') as rels from planet_osm_roads b LEFT JOIN planet_osm...
                                                             ^
in executeQuery Full sql was: 'SELECT * FROM /* admin-boundaries */ (select way, admin_level, coalesce(b.tags->'maritime','no') as maritime, count(r.*) as nb, string_agg(id::text,',') as rels from planet_osm_roads b LEFT JOIN planet_osm_rels r ON (r.parts @> ARRAY[osm_id] AND r.members @> ARRAY['w' || osm_id] AND regexp_replace(r.tags::text,'[{}]',',') ~ format('(,admin_level,%s.*,boundary,administrative|,boundary,administrative.*,admin_level,%s,)',admin_level,admin_level)) where boundary='administrative' and admin_level is not null GROUP BY 1,2,3 order by to_int(admin_level) desc, 4 ) as admin_boundaries LIMIT 0'
  encountered during parsing of layer 'admin-boundaries' in Layer of '/data/osm/styles/osmfr-cartocss/style.xml'
je précise que j'ai séparé le serveur postgres postgis du serveur apache et renderd sur 2 machines differentes

si vous avez une idee

Re: probleme compilation

Publié : sam. févr. 18, 2017 8:50 am
par cquest
mapnik ne trouve pas la table planet_osm_rels

C'est une table intermédiaire utilisée par osm2pgsql pour le mode "slim"... et elle est nécessaire pour le rendu FR qui l'utilise.
Il va sûrement falloir ré-importer les données en mode slim pour avoir cette table.

Re: probleme compilation

Publié : sam. févr. 18, 2017 10:59 am
par nordlead75
je vais donc essayer ca et je te tiens au courant
merci de la reponse rapide en tout cas

Re: probleme compilation

Publié : sam. févr. 18, 2017 11:11 am
par nordlead75
j'ai quand meme une question

quel est l'interet au final car si on retire le mode slim c'est pour aller plus vite pour tout mettre en ram ?

le mode slim est donc obligatoire au final ?

Re: probleme compilation

Publié : sam. févr. 18, 2017 4:34 pm
par cquest
Le mode slim est surtout indispensable pour mettre à jour la base.

On a au moins 2 tables ajoutées, qui conservent les liens entre node/way et les membres des relations et c'est cette dernière que certaines requêtes du rendu FR utilisent pour retrouver des infos qui ne figurent que dans les relations. Exemple: retrouver à quelles lignes de transport en commun appartient un arrêt, pour adapter le logo à l'opérateur local ;)

Re: probleme compilation

Publié : sam. févr. 18, 2017 5:04 pm
par nordlead75
ok la c'est une premiere insertion de planet donc c'est tres lent par rapport au mode sans slim

Re: probleme compilation

Publié : dim. févr. 19, 2017 2:12 pm
par nordlead75
j'en suis a cette vitesse d'insertion en mode slim

Processing: Node(3736895k 230.3k/s) Way(31375k 0.39k/s) Relation(0 0.00/s)

comment cela se fait que cela soit aussi lent ?

voici ma commande :

osm2pgsql -d osm --hstore --cache 16000 --slim --number-processes 4 planet-latest.osm.pbf

Re: probleme compilation

Publié : dim. févr. 19, 2017 6:07 pm
par cquest
Pour un import planet, il est très fortement recommandé d'utiliser un fichier "flatnodes"... et un SSD !

Il est aussi préférable de tester le rendu avec un petit import (par exemple une région) avant de se lancer dans un import monde, car si on a oublié quelque chose, on est bon pour un nouvel import bien long...

Re: probleme compilation

Publié : dim. févr. 19, 2017 6:35 pm
par nordlead75
j'ai bcp de ressources derriere donc je comprends pas que ce soit si long

je peux redimensionner la VM pour lui donner ce qu'il faut

désolé je suis novice dans ce monde d'osm , ou trouver le fichier flatnode ? et quelle est la syntaxe pour l'import ?

je vais recommencer ensuite avec une petite ville

Re: probleme compilation

Publié : dim. févr. 19, 2017 7:09 pm
par nordlead75
bon je viens d'inserer ile-de-france en mode flatnode et slim

tout c'est bien passé et bcp plus rapide

par contre sur l'autre serveur au lancement de renderd j'ai toujours cette erreur

Code : Tout sélectionner

in executeQuery Full sql was: 'SELECT * FROM /* water-lines */ (select st_intersection(ST_SetSRID(ST_MakeBox2D(ST_Point(ST_XMin(ST_SetSRID('BOX3D(-3.402823466385289e+38 -3.402823466385289e+38,3.402823466385289e+38 3.402823466385289e+38)'::box3d, 3857))+0*((select num from params where key='buffer')+(select num from params where key='x_bleed')),ST_Ymin(ST_SetSRID('BOX3D(-3.402823466385289e+38 -3.402823466385289e+38,3.402823466385289e+38 3.402823466385289e+38)'::box3d, 3857))+0*((select num from params where key='y_bleed')+(select num from params where key='buffer'))), ST_Point(ST_XMax(ST_SetSRID('BOX3D(-3.402823466385289e+38 -3.402823466385289e+38,3.402823466385289e+38 3.402823466385289e+38)'::box3d, 3857))-0*((select num from params where key='x_bleed')+(select num from params where key='buffer')),ST_Ymax(ST_SetSRID('BOX3D(-3.402823466385289e+38 -3.402823466385289e+38,3.402823466385289e+38 3.402823466385289e+38)'::box3d, 3857))-0*((select num from params where key='y_bleed')+(select num from params where key='buffer')))),3857),way) as way,waterway,disused,lock,coalesce(tags->'name:fr',tags->'int_name',name) as name, case when coalesce(tunnel,covered) in ('yes','true','1') then 'yes'::text else coalesce(tunnel,covered) end as tunnel, tags->'CEMT' as cemt, case when tags->'motorboat'='yes' then 'motorboat' when tags->'boat'='yes' then 'boat' else 'no' end as boat from planet_osm_line where way && ST_SetSRID('BOX3D(-3.402823466385289e+38 -3.402823466385289e+38,3.402823466385289e+38 3.402823466385289e+38)'::box3d, 3857) AND osm_id>0 AND waterway in ('weir','river','canal','derelict_canal','stream','drain','ditch','wadi') and (bridge is null or bridge not in ('yes','true','1','aqueduct')) order by z_order ) as water_lines LIMIT 0'
  encountered during parsing of layer 'water-lines' in Layer of '/data/osm/styles/osmfr-cartocss/style.xml'
renderd[13704]: An error occurred while loading the map layer 'default': Postgis Plugin: ERREUR:  la relation « params » n'existe pas
LINE 1: ...66385289e+38)'::box3d, 3857))+0*((select num from params whe...
                                                             ^
in executeQuery Full sql was: 'SELECT * FROM /* water-lines */ (select st_intersection(ST_SetSRID(ST_MakeBox2D(ST_Point(ST_XMin(ST_SetSRID('BOX3D(-3.402823466385289e+38 -3.402823466385289e+38,3.402823466385289e+38 3.402823466385289e+38)'::box3d, 3857))+0*((select num from params where key='buffer')+(select num from params where key='x_bleed')),ST_Ymin(ST_SetSRID('BOX3D(-3.402823466385289e+38 -3.402823466385289e+38,3.402823466385289e+38 3.402823466385289e+38)'::box3d, 3857))+0*((select num from params where key='y_bleed')+(select num from params where key='buffer'))), ST_Point(ST_XMax(ST_SetSRID('BOX3D(-3.402823466385289e+38 -3.402823466385289e+38,3.402823466385289e+38 3.402823466385289e+38)'::box3d, 3857))-0*((select num from params where key='x_bleed')+(select num from params where key='buffer')),ST_Ymax(ST_SetSRID('BOX3D(-3.402823466385289e+38 -3.402823466385289e+38,3.402823466385289e+38 3.402823466385289e+38)'::box3d, 3857))-0*((select num from params where key='y_bleed')+(select num from params where key='buffer')))),3857),way) as way,waterway,disused,lock,coalesce(tags->'name:fr',tags->'int_name',name) as name, case when coalesce(tunnel,covered) in ('yes','true','1') then 'yes'::text else coalesce(tunnel,covered) end as tunnel, tags->'CEMT' as cemt, case when tags->'motorboat'='yes' then 'motorboat' when tags->'boat'='yes' then 'boat' else 'no' end as boat from planet_osm_line where way && ST_SetSRID('BOX3D(-3.402823466385289e+38 -3.402823466385289e+38,3.402823466385289e+38 3.402823466385289e+38)'::box3d, 3857) AND osm_id>0 AND waterway in ('weir','river','canal','derelict_canal','stream','drain','ditch','wadi') and (bridge is null or bridge not in ('yes','true','1','aqueduct')) order by z_order ) as water_lines LIMIT 0'
  encountered during parsing of layer 'water-lines' in Layer of '/data/osm/styles/osmfr-cartocss/style.xml'

je precise que postgis est install sur le serveur de base de données mais pas sur le serveur renderd

Re: probleme compilation

Publié : dim. févr. 19, 2017 7:47 pm
par nordlead75
j'ai inséré le additions.sql pour le style osm-fr
et j'ai toujours une erreur au lancement de renderd

Code : Tout sélectionner

renderd[13927]: An error occurred while loading the map layer 'default': Postgis Plugin: ERREUR:  la fonction to_int(text) n'existe pas
LINE 1: ...d admin_level is not null GROUP BY 1,2,3 order by to_int(adm...
                                                             ^
HINT:  Aucune fonction ne correspond au nom donné et aux types d'arguments.
Vous devez ajouter des conversions explicites de type.
in executeQuery Full sql was: 'SELECT * FROM /* admin-boundaries */ (select way, admin_level, coalesce(b.tags->'maritime','no') as maritime, count(r.*) as nb, string_agg(id::text,',') as rels from planet_osm_roads b LEFT JOIN planet_osm_rels r ON (r.parts @> ARRAY[osm_id] AND r.members @> ARRAY['w' || osm_id] AND regexp_replace(r.tags::text,'[{}]',',') ~ format('(,admin_level,%s.*,boundary,administrative|,boundary,administrative.*,admin_level,%s,)',admin_level,admin_level)) where boundary='administrative' and admin_level is not null GROUP BY 1,2,3 order by to_int(admin_level) desc, 4 ) as admin_boundaries LIMIT 0'
  encountered during parsing of layer 'admin-boundaries' in Layer of '/data/osm/styles/osmfr-cartocss/style.xml'
renderd[13927]: An error occurred while loading the map layer 'default': Postgis Plugin: ERREUR:  la fonction to_int(text) n'existe pas
LINE 1: ...d admin_level is not null GROUP BY 1,2,3 order by to_int(adm...
                                                             ^
HINT:  Aucune fonction ne correspond au nom donné et aux types d'arguments.
Vous devez ajouter des conversions explicites de type.
in executeQuery Full sql was: 'SELECT * FROM /* admin-boundaries */ (select way, admin_level, coalesce(b.tags->'maritime','no') as maritime, count(r.*) as nb, string_agg(id::text,',') as rels from planet_osm_roads b LEFT JOIN planet_osm_rels r ON (r.parts @> ARRAY[osm_id] AND r.members @> ARRAY['w' || osm_id] AND regexp_replace(r.tags::text,'[{}]',',') ~ format('(,admin_level,%s.*,boundary,administrative|,boundary,administrative.*,admin_level,%s,)',admin_level,admin_level)) where boundary='administrative' and admin_level is not null GROUP BY 1,2,3 order by to_int(admin_level) desc, 4 ) as admin_boundaries LIMIT 0'
  encountered during parsing of layer 'admin-boundaries' in Layer of '/data/osm/styles/osmfr-cartocss/style.xml'

Re: probleme compilation

Publié : lun. févr. 20, 2017 9:19 am
par nordlead75
je viens de faire le test avec le style par defaut d'osm et aucun probleme

Re: probleme compilation

Publié : lun. févr. 20, 2017 7:27 pm
par cquest
Oui, j'utilise pas mal de petites bricoles en plus sur le style FR ;)

Params est une petite table qui contient quelques paramètres utilisés par le rendu, car j'utilise sur les serveurs d'osm-fr une version patchée de renderd qui calcule des tuiles un peu plus grandes afin de ne pas couper les textes au bord.

Regarde https://github.com/cquest/osmfr-cartocs ... itions.sql

Re: probleme compilation

Publié : lun. févr. 20, 2017 8:04 pm
par nordlead75
j'ai du supprimer le golf.mss aussi dans le fichier .MML