You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tilemaker/docs/INSTALL.md

2.2 KiB

Installing tilemaker

macOS

Install all dependencies with Homebrew:

brew install boost lua shapelib rapidjson

Then:

make
sudo make install

(System Integrity Protection on macOS prevents the manpages being installed. This isn't important: ignore the two lines saying "Operation not permitted".)

Ubuntu and Debian

Start with:

sudo apt install build-essential libboost-dev libboost-filesystem-dev libboost-program-options-dev libboost-system-dev lua5.1 liblua5.1-0-dev libshp-dev libsqlite3-dev rapidjson-dev

Once you've installed those, then cd back to your Tilemaker directory and simply:

make
sudo make install

If it fails, check that the LIB and INC lines in the Makefile correspond with your system, then try again. The above lines install Lua 5.1, but you can also choose any newer version.

Fedora

Start with:

dnf install lua-devel luajit-devel sqlite-devel shapelib-devel rapidjson-devel boost-devel

then build either with lua:

make LUA_CFLAGS="$(pkg-config --cflags lua)" LUA_LIBS="$(pkg-config --libs lua)"
make install

or with luajit:

make LUA_CFLAGS="$(pkg-config --cflags luajit)" LUA_LIBS="$(pkg-config --libs luajit)"
make install

Using cmake

You can optionally use cmake to build:

mkdir build
cd build
cmake ..
make
sudo make install

Docker

The Dockerfile is not formally supported by project maintainers and you are encouraged to send pull requests to fix any issues you encounter.

Build from project root directory with:

docker build . -t tilemaker

It can also be build with a BUILD_DEBUG build argument, which will build the executables for Debug, and not strip out symbols. gdb will also installed to facilate debugging:

docker build . --build-arg BUILD_DEBUG=1 -t tilemaker

The docker container can be run like this:

docker run -it --rm -v $(pwd):/data tilemaker /data/monaco-latest.osm.pbf --output /data/monaco-latest.pmtiles

The tilemaker-server can be run like this:

docker run -it --rm -v $(pwd):/data --entrypoint /usr/src/app/tilemaker-server tilemaker --help

Keep in mind to map the volume your .osm.pbf files are in to a path within your docker container, as seen in the example above.