[Ubuntu] Next package in the long not maintained list: mkgmap

Andreas Tille andreas at an3as.eu
Fri Jan 24 07:24:11 PST 2014


Hi,

as an active user of OpenMTBmaps I really need a working mkgmap but as I
reported in #710046 it does not work any more in testing.  So I tried to
upgrade it to the latest upstream version and my first attempt last summer
failed (see debian-mentors list[1]).

At least I managed to package one new precondition (libfastutil-java)
for Debian but I think we now really need to tackle the larger beast
which hides behind the error message I'm posting at the end of this mail
(and which was also topic of my mails to Debian Mentors last year).

What is done so far?

  1. I have migrated the packaging from SVN to Git.  I droped some
     README.status at the old SVN location to keep people informed so
     if you really want to work on the package you should check out

         ssh://git.debian.org/git/pkg-grass/mkgmap.git

  2. In this git-buildpackage - read repository I injected the source
     of the latest upstream version and an up to date packaging which
     should enable you to create the stumbling stone error (see end of
     this mail.

What needs to be done?

I found out that the class which is used by mkgmap seems to be here

   https://github.com/osmandapp/OsmAnd-tools/blob/master/OsmAndMapCreator/src/crosby/binary/Osmformat.java

and we somehow need to package this precondition.  I admit that I'm just
lacking the needed Java experience for finalising this but I would be
really glad to help with all the Debian stuff around to finalise the
packaging.

Any help is really appreciated

    Andreas.


[1] https://lists.debian.org/debian-mentors/2013/06/msg00043.html
    + following mails.


Here is the Build-Log snipped which breaks git-buildpackage

...
make[1]: Entering directory `/tmp/buildd/mkgmap-0.0.0+svn2981'
ant
Buildfile: /tmp/buildd/mkgmap-0.0.0+svn2981/build.xml

prepare:
    [mkdir] Created dir: /tmp/buildd/mkgmap-0.0.0+svn2981/build/classes
    [mkdir] Created dir: /tmp/buildd/mkgmap-0.0.0+svn2981/lib/optional

compile:
    [javac] Compiling 477 source files to /tmp/buildd/mkgmap-0.0.0+svn2981/build/classes
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:26: error: package crosby.binary does not exist
    [javac] import crosby.binary.BinaryParser;
    [javac]                     ^
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:27: error: package crosby.binary does not exist
    [javac] import crosby.binary.Osmformat;
    [javac]                     ^
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinMapDataSource.java:23: error: package crosby.binary.file does not exist
    [javac] import crosby.binary.file.BlockInputStream;
    [javac]                          ^
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:40: error: cannot find symbol
    [javac] 	public class BinParser extends BinaryParser {
    [javac] 	                               ^
    [javac]   symbol:   class BinaryParser
    [javac]   location: class OsmBinHandler
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:42: error: package Osmformat does not exist
    [javac] 		protected void parse(Osmformat.HeaderBlock header) {
    [javac] 		                              ^
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:62: error: package Osmformat does not exist
    [javac] 		protected void parseNodes(List<Osmformat.Node> nodes) {
    [javac] 		                                        ^
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:85: error: package Osmformat does not exist
    [javac] 		protected final void parseDense(Osmformat.DenseNodes nodes) {
    [javac] 		                                         ^
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:128: error: package Osmformat does not exist
    [javac] 		protected void parseWays(List<Osmformat.Way> ways) {
    [javac] 		                                       ^
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:151: error: package Osmformat does not exist
    [javac] 		protected void parseRelations(List<Osmformat.Relation> rels) {
    [javac] 		                                            ^
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinMapDataSource.java:54: error: cannot find symbol
    [javac] 			BlockInputStream stream = new BlockInputStream(is, reader);
    [javac] 			^
    [javac]   symbol:   class BlockInputStream
    [javac]   location: class OsmBinMapDataSource
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinMapDataSource.java:54: error: cannot find symbol
    [javac] 			BlockInputStream stream = new BlockInputStream(is, reader);
    [javac] 			                              ^
    [javac]   symbol:   class BlockInputStream
    [javac]   location: class OsmBinMapDataSource
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:63: error: package Osmformat does not exist
    [javac] 			for (Osmformat.Node binNode : nodes) {
    [javac] 			              ^
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:98: error: cannot find symbol
    [javac] 				Coord co = new Coord(parseLat(lat), parseLon(lon));
    [javac] 				                     ^
    [javac]   symbol:   method parseLat(long)
    [javac]   location: class OsmBinHandler.BinParser
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:98: error: cannot find symbol
    [javac] 				Coord co = new Coord(parseLat(lat), parseLon(lon));
    [javac] 				                                    ^
    [javac]   symbol:   method parseLon(long)
    [javac]   location: class OsmBinHandler.BinParser
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:107: error: cannot find symbol
    [javac] 						String key = getStringById(keyid);
    [javac] 						             ^
    [javac]   symbol:   method getStringById(int)
    [javac]   location: class OsmBinHandler.BinParser
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:108: error: cannot find symbol
    [javac] 						String val = getStringById(valid);
    [javac] 						             ^
    [javac]   symbol:   method getStringById(int)
    [javac]   location: class OsmBinHandler.BinParser
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:129: error: package Osmformat does not exist
    [javac] 			for (Osmformat.Way binWay : ways) {
    [javac] 			              ^
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:153: error: package Osmformat does not exist
    [javac] 			for (Osmformat.Relation binRel : rels) {
    [javac] 			              ^
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:189: error: package Osmformat.Relation does not exist
    [javac] 					if (binRel.getTypes(j) == Osmformat.Relation.MemberType.NODE) {
    [javac] 					                                            ^
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:200: error: package Osmformat.Relation does not exist
    [javac] 					} else if (binRel.getTypes(j) == Osmformat.Relation.MemberType.WAY) {
    [javac] 					                                                   ^
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:202: error: package Osmformat.Relation does not exist
    [javac] 					} else if (binRel.getTypes(j) == Osmformat.Relation.MemberType.RELATION) {
    [javac] 					                                                   ^
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 21 errors

BUILD FAILED
/tmp/buildd/mkgmap-0.0.0+svn2981/build.xml:238: Compile failed; see the compiler error output for details.

Total time: 6 seconds
make[1]: *** [override_dh_auto_build] Error 1
make[1]: Leaving directory `/tmp/buildd/mkgmap-0.0.0+svn2981'
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
E: Failed autobuilding of package
W: no hooks of type C found -- ignoring
I: unmounting dev/pts filesystem
I: unmounting run/shm filesystem
I: unmounting proc filesystem
w Coord(parseLat(lat), parseLon(lon));
    [javac] 				                                    ^
    [javac]   symbol:   method parseLon(long)
    [javac]   location: class OsmBinHandler.BinParser
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:107: error: cannot find symbol
    [javac] 						String key = getStringById(keyid);
    [javac] 						             ^
    [javac]   symbol:   method getStringById(int)
    [javac]   location: class OsmBinHandler.BinParser
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:108: error: cannot find symbol
    [javac] 						String val = getStringById(valid);
    [javac] 						             ^
    [javac]   symbol:   method getStringById(int)
    [javac]   location: class OsmBinHandler.BinParser
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:129: error: package Osmformat does not exist
    [javac] 			for (Osmformat.Way binWay : ways) {
    [javac] 			              ^
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:153: error: package Osmformat does not exist
    [javac] 			for (Osmformat.Relation binRel : rels) {
    [javac] 			              ^
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:189: error: package Osmformat.Relation does not exist
    [javac] 					if (binRel.getTypes(j) == Osmformat.Relation.MemberType.NODE) {
    [javac] 					                                            ^
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:200: error: package Osmformat.Relation does not exist
    [javac] 					} else if (binRel.getTypes(j) == Osmformat.Relation.MemberType.WAY) {
    [javac] 					                                                   ^
    [javac] /tmp/buildd/mkgmap-0.0.0+svn2981/src/uk/me/parabola/mkgmap/reader/osm/bin/OsmBinHandler.java:202: error: package Osmformat.Relation does not exist
    [javac] 					} else if (binRel.getTypes(j) == Osmformat.Relation.MemberType.RELATION) {
    [javac] 					                                                   ^
    [javac] Note: Some input files use unchecked or unsafe operations.
    [javac] Note: Recompile with -Xlint:unchecked for details.
    [javac] 21 errors

BUILD FAILED
/tmp/buildd/mkgmap-0.0.0+svn2981/build.xml:238: Compile failed; see the compiler error output for details.

Total time: 6 seconds
make[1]: *** [override_dh_auto_build] Error 1
make[1]: Leaving directory `/tmp/buildd/mkgmap-0.0.0+svn2981'
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
E: Failed autobuilding of package


-- 
http://fam-tille.de


More information about the Ubuntu mailing list