@@ -54,6 +54,54 @@ CMake usually generates a Makefile for Make, which you will also need.
54
54
* Fedora/CentOS: ` cmake ` , ` make `
55
55
* openSUSE: ` cmake ` , ` make `
56
56
57
+ ### Expat
58
+
59
+ [ Expat] ( https://libexpat.github.io/ ) is needed for parsing OSM XML files.
60
+
61
+ * Debian/Ubuntu: ` libexpat1-dev `
62
+ * Fedora/CentOS: ` expat-devel `
63
+ * openSUSE: ` libexpat-devel `
64
+ * Homebrew: ` expat `
65
+
66
+ ### ZLib
67
+
68
+ [ zlib] ( https://www.zlib.net/ ) is needed for reading and writing OSM PBF files
69
+ and for GZip support when reading and writing XML files.
70
+
71
+ * Debian/Ubuntu: ` zlib1g-dev `
72
+ * Fedora/CentOS: ` zlib-devel `
73
+ * openSUSE: ` zlib-devel `
74
+
75
+ ### bz2lib
76
+
77
+ [ bz2lib] ( https://www.sourceware.org/bzip2/ ) is needed for BZip2 support when
78
+ reading and writing OSM XML files.
79
+
80
+ * Debian/Ubuntu: ` libbz2-dev `
81
+ * Fedora/CentOS: ` bzip2-devel `
82
+ * openSUSE: ` libbz2-devel `
83
+
84
+ ### Boost >= 1.55
85
+
86
+ [ Boost] ( https://www.boost.org/ ) is used for some (limited) functionality
87
+ in libosmium. Many programs using libosmium will not actually need boost
88
+ or only need parts of it.
89
+
90
+ * Boost Iterator is used for Tag filters, and for the Object Pointer Collection.
91
+ (needed until libosmium 2.17)
92
+ * The CRC32 checksum implementation from boost can be used for calculating
93
+ checksums over OSM objects. The implementation in zlib is used otherwise.
94
+ * Libosmium versions before 2.6.1 needed Boost for writing PBF files.
95
+ * Libosmium from version 2.12.0 uses boost::variant in the osmium::StringMatcher
96
+ class.
97
+
98
+ You need at least Boost version 1.55.
99
+
100
+ * Debian/Ubuntu: ` libboost-dev `
101
+ * Fedora/CentOS: ` boost-devel `
102
+ * openSUSE: ` boost-devel `
103
+ * Homebrew: ` boost `
104
+
57
105
### Google Protocol Buffers (until version 2.2)
58
106
59
107
_ Not needed any more from version 2.3.0 onwards_
@@ -94,6 +142,8 @@ a version from the git repository.
94
142
95
143
### Utfcpp (until version 2.14.0)
96
144
145
+ _ Not needed any more from version 2.15.0 onwards_
146
+
97
147
The [ utf8-cpp] ( http://utfcpp.sourceforge.net/ ) library is needed for the OPL
98
148
output format. A copy of this library is included in the libosmium repository
99
149
but not installed by default. Either use the packages of your distribution,
@@ -104,52 +154,11 @@ CMake configuration to install the bundled version.
104
154
* Fedora/CentOS: ` utf8cpp-devel `
105
155
* openSUSE: ` utfcpp `
106
156
107
- ### Expat
108
-
109
- [ Expat] ( https://libexpat.github.io/ ) is needed for parsing OSM XML files.
110
-
111
- * Debian/Ubuntu: ` libexpat1-dev `
112
- * Fedora/CentOS: ` expat-devel `
113
- * openSUSE: ` libexpat-devel `
114
- * Homebrew: ` expat `
115
-
116
- ### ZLib
117
-
118
- [ zlib] ( https://www.zlib.net/ ) is needed for reading and writing OSM PBF files
119
- and for GZip support when reading and writing XML files.
120
-
121
- * Debian/Ubuntu: ` zlib1g-dev `
122
- * Fedora/CentOS: ` zlib-devel `
123
- * openSUSE: ` zlib-devel `
124
-
125
- ### bz2lib
126
-
127
- [ bz2lib] ( https://www.sourceware.org/bzip2/ ) is needed for BZip2 support when
128
- reading and writing OSM XML files.
129
-
130
- * Debian/Ubuntu: ` libbz2-dev `
131
- * Fedora/CentOS: ` bzip2-devel `
132
- * openSUSE: ` libbz2-devel `
133
-
134
- ### Boost >= 1.55
135
-
136
- [ Boost] ( https://www.boost.org/ ) Iterator is used for Tag filters, and for the
137
- Object Pointer Collection. The CRC32 checksum implementation from boost is
138
- needed for calculating checksums over OSM objects. Libosmium versions before
139
- 2.6.1 also needed Boost for writing PBF files.
140
-
141
- You need at least Boost version 1.55.
142
-
143
- * Debian/Ubuntu: ` libboost-dev `
144
- * Fedora/CentOS: ` boost-devel `
145
- * openSUSE: ` boost-devel `
146
- * Homebrew: ` boost `
147
-
148
157
## _ Extra_ dependencies
149
158
150
- ### Google Sparsehash
159
+ ### Google Sparsehash (deprecated)
151
160
152
- Google Sparsehash (https://github.com/sparsehash/sparsehash ) is needed for
161
+ Google Sparsehash (https://github.com/sparsehash/sparsehash ) is used for
153
162
the ` sparse-mem-table ` index map, sometimes used as a node location store.
154
163
This isn't usually needed any more, because there are better implementations
155
164
for the node location store available.
@@ -212,6 +221,10 @@ The [Proj.4](https://proj4.org/) library is needed if you want to
212
221
project OSM coordinates into spatial reference systems other than Web Mercator
213
222
(EPSG 3857, often named Google Mercator).
214
223
224
+ Only the old ` proj_api.h ` based API is supported. If you need this to work
225
+ with newer versions of Proj.4, have a look at https://github.com/osmcode/osmium-proj
226
+ for some untested experimental code.
227
+
215
228
* Debian/Ubuntu: ` libproj-dev `
216
229
* Fedora/CentOS: ` proj-devel ` , ` proj-epsg `
217
230
* openSUSE: ` libproj-devel ` , ` proj `
@@ -239,7 +252,7 @@ yourself, you need [Graphviz](https://www.graphviz.org/) in addition to Doxygen.
239
252
240
253
## Installing dependencies on some Linux systems
241
254
242
- ### Debian Jessie and newer
255
+ ### Debian Stretch, Buster, Bullseye or newer
243
256
244
257
You can install all dependencies with:
245
258
@@ -257,15 +270,14 @@ apt-get install -q -y \
257
270
libgeos++-dev \
258
271
liblz4-dev \
259
272
libproj-dev \
260
- libsparsehash-dev \
261
273
make \
262
274
ruby \
263
275
ruby-json \
264
276
spatialite-bin \
265
277
zlib1g-dev
266
278
```
267
279
268
- ### Ubuntu Xenial (16 .04)
280
+ ### Ubuntu 18 .04 or newer
269
281
270
282
You can install all dependencies with:
271
283
@@ -281,16 +293,16 @@ apt-get install -q -y \
281
293
libexpat1-dev \
282
294
libgdal-dev \
283
295
libgeos++-dev \
296
+ liblz4-dev \
284
297
libproj-dev \
285
- libsparsehash-dev \
286
298
make \
287
299
ruby \
288
300
ruby-json \
289
301
spatialite-bin \
290
302
zlib1g-dev
291
303
```
292
304
293
- ### Fedora 26
305
+ ### Fedora
294
306
295
307
You can install all dependencies with:
296
308
@@ -303,15 +315,15 @@ dnf install --quiet --assumeyes \
303
315
expat-devel \
304
316
gcc-c++ \
305
317
gdal-devel \
318
+ gdalcpp-static \
306
319
geos-devel \
307
320
git \
308
321
graphviz \
322
+ lz4-devel \
309
323
make \
310
324
proj-devel \
311
- proj-epsg \
312
325
ruby \
313
326
rubygem-json \
314
- sparsehash-devel \
315
327
spatialite-tools \
316
328
zlib-devel
317
329
```
@@ -335,7 +347,6 @@ zypper --non-interactive --no-color install \
335
347
proj \
336
348
ruby2.3 \
337
349
ruby2.3-rubygem-json \
338
- sparsehash-devel \
339
350
zlib-devel
340
351
```
341
352
@@ -350,6 +361,6 @@ sudo pacman -Suy protobuf boost-libs zlib expat cmake make bzip2
350
361
and all extra dependencies with:
351
362
352
363
``` sh
353
- sudo pacman -Suy sparsehash boost gdal proj doxygen
364
+ sudo pacman -Suy boost gdal proj doxygen
354
365
```
355
366
0 commit comments