probleme compilation

Extraire des données OSM, créer sa carte, uMap, utiliser sur un GPS ou un smartphone...
Répondre
nordlead75
Messages : 14
Inscription : mar. févr. 14, 2017 11:15 am

probleme compilation

Message par nordlead75 » ven. févr. 17, 2017 3:22 pm

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

yvecai
Messages : 19
Inscription : ven. févr. 26, 2016 4:49 pm

Re: probleme compilation

Message par yvecai » ven. févr. 17, 2017 6:44 pm

sudo ldconfig?

nordlead75
Messages : 14
Inscription : mar. févr. 14, 2017 11:15 am

Re: probleme compilation

Message par nordlead75 » sam. févr. 18, 2017 12:37 am

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

Avatar de l’utilisateur
cquest
Messages : 1646
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: probleme compilation

Message par cquest » sam. févr. 18, 2017 8:50 am

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.

nordlead75
Messages : 14
Inscription : mar. févr. 14, 2017 11:15 am

Re: probleme compilation

Message par nordlead75 » sam. févr. 18, 2017 10:59 am

je vais donc essayer ca et je te tiens au courant
merci de la reponse rapide en tout cas

nordlead75
Messages : 14
Inscription : mar. févr. 14, 2017 11:15 am

Re: probleme compilation

Message par nordlead75 » sam. févr. 18, 2017 11:11 am

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 ?

Avatar de l’utilisateur
cquest
Messages : 1646
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: probleme compilation

Message par cquest » sam. févr. 18, 2017 4:34 pm

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 ;)

nordlead75
Messages : 14
Inscription : mar. févr. 14, 2017 11:15 am

Re: probleme compilation

Message par nordlead75 » sam. févr. 18, 2017 5:04 pm

ok la c'est une premiere insertion de planet donc c'est tres lent par rapport au mode sans slim

nordlead75
Messages : 14
Inscription : mar. févr. 14, 2017 11:15 am

Re: probleme compilation

Message par nordlead75 » dim. févr. 19, 2017 2:12 pm

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

Avatar de l’utilisateur
cquest
Messages : 1646
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: probleme compilation

Message par cquest » dim. févr. 19, 2017 6:07 pm

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...

nordlead75
Messages : 14
Inscription : mar. févr. 14, 2017 11:15 am

Re: probleme compilation

Message par nordlead75 » dim. févr. 19, 2017 6:35 pm

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

nordlead75
Messages : 14
Inscription : mar. févr. 14, 2017 11:15 am

Re: probleme compilation

Message par nordlead75 » dim. févr. 19, 2017 7:09 pm

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

nordlead75
Messages : 14
Inscription : mar. févr. 14, 2017 11:15 am

Re: probleme compilation

Message par nordlead75 » dim. févr. 19, 2017 7:47 pm

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'

nordlead75
Messages : 14
Inscription : mar. févr. 14, 2017 11:15 am

Re: probleme compilation

Message par nordlead75 » lun. févr. 20, 2017 9:19 am

je viens de faire le test avec le style par defaut d'osm et aucun probleme

Avatar de l’utilisateur
cquest
Messages : 1646
Inscription : ven. avr. 16, 2010 12:22 am
Localisation : Val de Marne
Contact :

Re: probleme compilation

Message par cquest » lun. févr. 20, 2017 7:27 pm

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

nordlead75
Messages : 14
Inscription : mar. févr. 14, 2017 11:15 am

Re: probleme compilation

Message par nordlead75 » lun. févr. 20, 2017 8:04 pm

j'ai du supprimer le golf.mss aussi dans le fichier .MML

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité