Bug#741596: mkgmap crashes: java.lang.NoClassDefFoundError: it/unimi/dsi/fastutil/longs/Long2ObjectOpenHashMap

Manfred Stock manfred.stock+debian at gmail.com
Wed Jun 11 20:16:17 UTC 2014


Package: mkgmap
Version: 0.0.0+svn2981-1
Followup-For: Bug #741596

Hi,

I experienced the same problem when trying the mkgmap package from sid, and
took a closer look at it. On one hand, I noticed that
it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap is contained in
libfastutil-java, however, that is not marked as a dependency in the mkgmap
package. Installing libfastutil-java did not immediately help though, I also
had to apply the following change to the mkgmap script:

-    exec $JAVACMD -jar /usr/share/mkgmap/mkgmap.jar "$@"
+    exec $JAVACMD -cp /usr/share/java/fastutil.jar:/usr/share/mkgmap/mkgmap.jar uk.me.parabola.mkgmap.main.Main "$@"

After that, the mkgmap command from the bug report ran successfully. I also
noticed that META-INF/MANIFEST.MF in the mkgmap.jar file declares a Class-Path
which is fairly long and most likely contains (nearly?) exclusively files that
cannot be found at the given location. For most files, this probably is no
problem, but I suspect that when using a pbf export of OSM data, the same
problem will occur for classes provided by libprotobuf-java and libosmpbf-java.

So it seems that ${java:Depends} in the control file does not add all necessary
dependencies (I've got no idea if it should/could, but I guess it adds ant,
which is probably *not* needed at runtime...), and that META-INF/MANIFEST.MF or
the mkgmap script should be changed such that they point to the required .jar
files.

Best regards
Manfred

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.14-0.bpo.1-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_CH.utf8, LC_CTYPE=de_CH.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages mkgmap depends on:
ii  ant            1.9.4-1
ii  default-jre    2:1.7-52
ii  openjdk-7-jre  7u55-2.4.7-2

mkgmap recommends no packages.

Versions of packages mkgmap suggests:
pn  josm        <none>
pn  qlandkarte  <none>

-- no debconf information



More information about the Pkg-grass-devel mailing list