He estado siguiendo este tutorial: https://switch2osm.org/serving-tiles/manually-building-a-tile-server-20-04-lts/
y se quedó atascado en la ejecución
carto project.mml > mapnik.xmlMi objetivo es configurar el servidor OSM, por lo que el comportamiento esperado de carto es compilar project.mml en mapnik.xml "listo para renderizar".
El comportamiento real es como el siguiente: Carto genera un error:
ubuadmin@klab-osm:~/src/openstreetmap-carto$ carto -v /usr/lib/nodejs/carto/lib/carto/tree/reference.js:19 if (mapnik_reference.version.hasOwnProperty(version)) { ^ TypeError: Cannot read property 'hasOwnProperty' of undefined at Object.ref.setVersion (/usr/lib/nodejs/carto/lib/carto/tree/reference.js:19:34) at /usr/lib/nodejs/carto/lib/carto/tree/reference.js:209:5 at Object.<anonymous> (/usr/lib/nodejs/carto/lib/carto/tree/reference.js:213:3) at Module._compile (internal/modules/cjs/loader.js:778:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) at Module.load (internal/modules/cjs/loader.js:653:32) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) at Function.Module._load (internal/modules/cjs/loader.js:585:3) at Module.require (internal/modules/cjs/loader.js:692:17) at require (internal/modules/cjs/helpers.js:25:18)Soy consciente de este problema de Github:https://github.com/gravitystorm/openstreetmap-carto/issues/3409 y esta pregunta SO: TypeError: no se puede leer la propiedad 'hasOwnProperty' de undefined node-carto pero no los he encontrado útiles .
Estoy trabajando en Ubuntu 20.04 Focal Fossa, la versión de mapnik es 0.1, no puedo verificar la versión de carto debido al error mencionado anteriormente.
El truco es que, debido a la política de la empresa, la máquina en la que estoy trabajando no está (y no estará) conectada a Internet: inicio sesión a través de SSH. Por eso instalé carto usando sudo apt install nodejs-carto de npm install -g carto - la compañía tiene un espejo en el repositorio de Ubuntu dentro de la intranet.
Aparentemente, el problema era que la versión de carto era demasiado baja; después de actualizar a carto@1.2.0 , el problema desapareció.