USB GPS dongle CanMore GT-730FL-S with Linux

In 2013, I bought a GPS dongle with a USB interface, brand CanMore for doing tests at work. The dongle proved to be a good buy. For the money, this is super value. Only when walking in cities with sky scrapers, you get errors due to reflections of the GPS signals. The errors are not catastrophic. It's just that the indicated track is not the track you took on the ground.

Back in 2013 I used a multi stage method to get to the data:

This time I wanted to skip the Windows laptop as intermediate step, with the help of GpsBabel. According to the net, GpsBabel is able to communicate with the 730FL.


Installing GpsBabel

I got myself gpsbabel-1.5.3.tar.gz off the gpsbabel website and did as follows:

We just compiled gpsbabel and installed it on the system.

output of ./configure:

jan@oxygen ~/Bld/GPS$ ./configure
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for a BSD-compatible install... /usr/bin/ginstall -c
checking whether make sets $(MAKE)... yes
checking how to run the C++ preprocessor... g++ -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
checking for cos in -lm... yes
checking whether to support shapefiles... yes
checking whether to support Palm/OS pdb formats... yes
checking whether to support csv formats... yes
checking whether to support maximum number of formats... yes
checking whether to support filters... yes
checking whether to support zlib... using included version
checking for qmake-qt5... no
checking for qmake-qt4... no
checking for qmake... qmake
checking for lupdate-qt5... no
checking for lupdate-qt4... no
checking for lupdate... lupdate
checking for lrelease-qt5... no
checking for lrelease-qt4... no
checking for lrelease... lrelease
checking for libusb... checking for libusb-config... true
checking for usb_interrupt_read in -lusb... yes
checking for Linux HID interface... yes
checking for reduce relocations... no
checking for random stuff to make you feel better... failed
checking for efence... 
checking for docdir... checking stdarg.h usability... yes
checking stdarg.h presence... yes
checking for stdarg.h... yes
checking for nanosleep... yes
checking for sleep... yes
checking for uname... yes
checking for glob... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating gbversion.h
config.status: creating gui/setup.iss
config.status: creating xmldoc/makedoc
config.status: creating tools/mkcapabilities
config.status: creating win32/gpsbabel.rc
config.status: creating jeeps/Makefile
config.status: creating shapelib/Makefile
config.status: creating zlib/empty
config.status: creating gui/makelinuxdist.sh
config.status: creating config.h
   

output of 'make'

Below is the putput of 'make'. Pay attention to the lines that span several rows:.

jan@oxygen ~/Bld/GPS$ make
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS main.cc -o main.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS globals.cc -o globals.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS queue.cc -o queue.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS route.cc -o route.o
route.cc: In function 'void track_recompute(const route_head*, computed_trkdata**)':
route.cc:664:84: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (thisw->GetCreationTime().isValid() && (thisw->GetCreationTime().toTime_t() < tdata->start)) {
                                                                                            ^
route.cc:668:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (thisw->creation_time.toTime_t() > tdata->end) {
                                              ^
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS waypt.cc -o waypt.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS filter_vecs.cc -o filter_vecs.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS util.cc -o util.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS vecs.cc -o vecs.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS mkshort.cc -o mkshort.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS csv_util.cc -o csv_util.o
gcc  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS strptime.c -o strptime.o
strptime.c: In function 'strptime_internal':
strptime.c:289:21: warning: variable 'era' set but not used [-Wunused-but-set-variable]
   struct era_entry *era;
                     ^
strptime.c:277:15: warning: variable 'rp_backup' set but not used [-Wunused-but-set-variable]
   const char *rp_backup;
                  ^
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS grtcirc.cc -o grtcirc.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS util_crc.cc -o util_crc.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS xmlgeneric.cc -o xmlgeneric.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS formspec.cc -o formspec.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS xmltag.cc -o xmltag.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS cet.cc -o cet.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS cet_util.cc -o cet_util.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS fatal.cc -o fatal.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS rgbcolors.cc -o rgbcolors.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS inifile.cc -o inifile.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS garmin_fs.cc -o garmin_fs.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS gbsleep.cc -o gbsleep.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS units.cc -o units.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS gbser_posix.cc -o gbser_posix.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS gbser.cc -o gbser.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS gbfile.cc -o gbfile.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS parse.cc -o parse.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS session.cc -o session.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS src/core/xmlstreamwriter.cc -o src/core/xmlstreamwriter.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS src/core/usasciicodec.cc -o src/core/usasciicodec.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS src/core/ziparchive.cc -o src/core/ziparchive.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS jeeps/gpsapp.cc -o jeeps/gpsapp.o
jeeps/gpsapp.cc: In function 'void GPS_D109_Get(GPS_SWay**, UC*, int)':
jeeps/gpsapp.cc:1682:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (gps_time != 0xffffffff && gps_time != 0) {
                       ^
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS jeeps/gpscom.cc -o jeeps/gpscom.o
jeeps/gpscom.cc: In function 'int32 GPS_Command_Send_Course(const char*, GPS_SCourse**, GPS_SCourse_Lap**,
GPS_STrack**, GPS_SCourse_Point**, int32, int32, int32, int32)':
jeeps/gpscom.cc:806:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (n_crs > limits.max_courses
                ^
jeeps/gpscom.cc:807:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   || n_clp > limits.max_course_laps
                   ^
jeeps/gpscom.cc:808:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   || n_trk > limits.max_course_trk_pnt
                   ^
jeeps/gpscom.cc:809:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   || n_cpt > limits.max_course_pnt) {
                   ^
jeeps/gpscom.cc:784:9: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
   int32 ret;
          ^
jeeps/gpscom.cc: In function 'int32 GPS_Command_Send_Track_As_Course(const char*, GPS_STrack**, int32, GPS_SWay**, int32, int)':
jeeps/gpscom.cc:1270:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (crs[j]->track_index == min_dist_trk_idx) {
                           ^
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS jeeps/gpsmath.cc -o jeeps/gpsmath.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS jeeps/gpsmem.cc -o jeeps/gpsmem.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS jeeps/gpsprot.cc -o jeeps/gpsprot.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS jeeps/gpsread.cc -o jeeps/gpsread.o
jeeps/gpsread.cc: In function 'int32 GPS_Serial_Packet_Read(gpsdevh*, GPS_PPacket*)':
jeeps/gpsread.cc:132:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (p-(*packet).data-2 != (*packet).n) {
                          ^
jeeps/gpsread.cc:139:39: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (i=0,p=(*packet).data; i<(*packet).n; ++i) {
                               ^
jeeps/gpsread.cc:153:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (i = 0; i < packet->n; i++) {
                 ^
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS jeeps/gpsdevice.cc -o jeeps/gpsdevice.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS jeeps/gpsdevice_ser.cc -o jeeps/gpsdevice_ser.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS jeeps/gpsdevice_usb.cc -o jeeps/gpsdevice_usb.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS jeeps/gpsrqst.cc -o jeeps/gpsrqst.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS jeeps/gpssend.cc -o jeeps/gpssend.o
jeeps/gpssend.cc: In function 'US Build_Serial_Packet(GPS_PPacket, GPS_Serial_PPacket)':
jeeps/gpssend.cc:70:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (i = 0; i < in.n; ++i) {
                 ^
jeeps/gpssend.cc: In function 'int32 GPS_Serial_Write_Packet(gpsdevh*, GPS_PPacket&)':
jeeps/gpssend.cc:139:71: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if ((ret=GPS_Serial_Write(fd,(const void*) &ser_pkt.dle,(size_t)3)) == -1) {
                                                                        ^
jeeps/gpssend.cc:150:74: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if ((ret=GPS_Serial_Write(fd,(const void*)ser_pkt.data,(size_t)bytes)) == -1) {
                                                                           ^
jeeps/gpssend.cc:169:70: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if ((ret=GPS_Serial_Write(fd,(const void*)&ser_pkt.chk,(size_t)3)) == -1) {
                                                                       ^
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS jeeps/gpsserial.cc -o jeeps/gpsserial.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS jeeps/jgpsutil.cc -o jeeps/jgpsutil.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS jeeps/gpsusbread.cc -o jeeps/gpsusbread.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS jeeps/gpsusbsend.cc -o jeeps/gpsusbsend.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS jeeps/gpsusbcommon.cc -o jeeps/gpsusbcommon.o
jeeps/gpsusbcommon.cc: In function 'void gusb_id_unit(garmin_unit_info_t*)':
jeeps/gpsusbcommon.cc:226:72: warning: array subscript is above array bounds [-Warray-bounds]
   gu->product_identifier = xstrdup((char*) iresp.gusb_pkt.databuf+4);
                                                                  ^
jeeps/gpsusbcommon.cc:228:60: warning: array subscript is above array bounds [-Warray-bounds]
   gu->unit_version = le_read16(iresp.gusb_pkt.databuf+2);
                                                      ^
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS ./jeeps/gpslibusb.cc -o jeeps/gpslibusb.o
gcc  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS shapelib/shpopen.c -o shapelib/shpopen.o
gcc  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS shapelib/dbfopen.c -o shapelib/dbfopen.o
gcc  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS shapelib/safileio.c -o shapelib/safileio.o
gcc  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS zlib/adler32.c -o zlib/adler32.o
gcc  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS zlib/compress.c -o zlib/compress.o
gcc  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS zlib/crc32.c -o zlib/crc32.o
gcc  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS zlib/deflate.c -o zlib/deflate.o
gcc  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS zlib/inffast.c -o zlib/inffast.o
gcc  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS zlib/inflate.c -o zlib/inflate.o
gcc  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS zlib/infback.c -o zlib/infback.o
gcc  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS zlib/inftrees.c -o zlib/inftrees.o
gcc  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS zlib/trees.c -o zlib/trees.o
gcc  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS zlib/uncompr.c -o zlib/uncompr.o
gcc  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS zlib/gzlib.c -o zlib/gzlib.o
gcc  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS zlib/gzclose.c -o zlib/gzclose.o
gcc  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS zlib/gzread.c -o zlib/gzread.o
gcc  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS zlib/gzwrite.c -o zlib/gzwrite.o
gcc  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS zlib/zutil.c -o zlib/zutil.o
gcc  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS zlib/contrib/minizip/zip.c -o zlib/contrib/minizip/zip.o
gcc  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS zlib/contrib/minizip/ioapi.c -o zlib/contrib/minizip/ioapi.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS magproto.cc -o magproto.o
magproto.cc: In function 'void mag_serial_init_common(const char*)':
magproto.cc:750:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (current_time().toTime_t() > later) {
                                 ^
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS gpx.cc -o gpx.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS geo.cc -o geo.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS mapsend.cc -o mapsend.o
mapsend.cc: In function 'void mapsend_track_read()':
mapsend.cc:194:7: warning: variable 'valid' set but not used [-Wunused-but-set-variable]
   int valid;
          ^
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS mapsource.cc -o mapsource.o
mapsource.cc: In function 'void mps_read()':
mapsource.cc:1734:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (gbftell(mps_file_in) != mpsFileInPos + reclen) {
                            ^
mapsource.cc:1759:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (gbftell(mps_file_in) != mpsFileInPos + reclen) {
                             ^
mapsource.cc:1772:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (gbftell(mps_file_in) != mpsFileInPos + reclen) {
                             ^
mapsource.cc:1785:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (gbftell(mps_file_in) != mpsFileInPos + reclen) {
                             ^
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS garmin.cc -o garmin.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS garmin_device_xml.cc -o garmin_device_xml.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS garmin_tables.cc -o garmin_tables.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS internal_styles.cc -o internal_styles.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS nmea.cc -o nmea.o
nmea.cc: In function 'void nmea_fix_timestamps(route_head*)':
nmea.cc:901:43: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (wpt->creation_time.toTime_t() > prev) {
                                     ^
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS kml.cc -o kml.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS wbt-200.cc -o wbt-200.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS ozi.cc -o ozi.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS pcx.cc -o pcx.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS gdb.cc -o gdb.o
gdb.cc:178:1: warning: multi-line comment [-Wcomment]
   //#define FREAD_CSTR \
    ^
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS gtrnctr.cc -o gtrnctr.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS xcsv.cc -o xcsv.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS explorist_ini.cc -o explorist_ini.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS gtm.cc -o gtm.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS gpsutil.cc -o gpsutil.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS skytraq.cc -o skytraq.o
skytraq.cc: In function 'int skytraq_rd_msg(const void*, unsigned int)':
skytraq.cc:288:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if ((rcv_len = rd_word()) < len) {
                             ^
skytraq.cc:53:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   #define MIN(X,Y) ((X) < (Y) ? (X) : (Y))
                          ^
skytraq.cc:298:42: note: in expansion of macro 'MIN'
   rd_buf((const unsigned char*) payload, MIN(rcv_len, len));
                                            ^
skytraq.cc:53:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   #define MIN(X,Y) ((X) < (Y) ? (X) : (Y))
                         ^
skytraq.cc:300:67: note: in expansion of macro 'MIN'
   calc_cs = skytraq_calc_checksum((const unsigned char*) payload, MIN(rcv_len, len));
                                                                      ^
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS holux.cc -o holux.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS tmpro.cc -o tmpro.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS tpg.cc -o tpg.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS tpo.cc -o tpo.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS tiger.cc -o tiger.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS easygps.cc -o easygps.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS saroute.cc -o saroute.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS navicache.cc -o navicache.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS psitrex.cc -o psitrex.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS delgpl.cc -o delgpl.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS text.cc -o text.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS html.cc -o html.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS netstumbler.cc -o netstumbler.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS igc.cc -o igc.o
igc.cc: In function 'double interpolate_alt(const route_head*, time_t)':
igc.cc:827:64: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   while (((Waypoint*) curr_elem)->GetCreationTime().toTime_t() < time) {
                                                                ^
igc.cc:840:48: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (curr_wpt->GetCreationTime().toTime_t() == time) {
                                               ^
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS brauniger_iq.cc -o brauniger_iq.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS shape.cc -o shape.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS hiketech.cc -o hiketech.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS glogbook.cc -o glogbook.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS vcf.cc -o vcf.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS google.cc -o google.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS xhtmlent.cc -o xhtmlent.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS lowranceusr.cc -o lowranceusr.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS an1.cc -o an1.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS tomtom.cc -o tomtom.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS tef_xml.cc -o tef_xml.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS maggeo.cc -o maggeo.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS vitosmt.cc -o vitosmt.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS bcr.cc -o bcr.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS ignrando.cc -o ignrando.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS stmwpp.cc -o stmwpp.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS cst.cc -o cst.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS nmn4.cc -o nmn4.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS compegps.cc -o compegps.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS yahoo.cc -o yahoo.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS unicsv.cc -o unicsv.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS wfff_xml.cc -o wfff_xml.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS garmin_txt.cc -o garmin_txt.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS gpssim.cc -o gpssim.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS stmsdf.cc -o stmsdf.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS dmtlog.cc -o dmtlog.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS raymarine.cc -o raymarine.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS alan.cc -o alan.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS vitovtt.cc -o vitovtt.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS ggv_log.cc -o ggv_log.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS g7towin.cc -o g7towin.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS garmin_gpi.cc -o garmin_gpi.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS lmx.cc -o lmx.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS random.cc -o random.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS xol.cc -o xol.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS dg-100.cc -o dg-100.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS navilink.cc -o navilink.o
navilink.cc: In function 'int read_packet(unsigned int, void*, unsigned int, unsigned int, int)':
navilink.cc:314:66: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (gbser_read_wait(serial_handle, data, size, SERIAL_TIMEOUT) != size) {
                                                                  ^
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS mtk_logger.cc -o mtk_logger.o
mtk_logger.cc: In function 'void mtk_read()':
mtk_logger.cc:677:47: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (fread(line, 1, bsize, dout) == bsize && memcmp(line, data, bsize) == 0) {
                                    ^
mtk_logger.cc:693:42: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (fwrite(data, 1, j, dout) != j) {
                                ^
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS ik3d.cc -o ik3d.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS osm.cc -o osm.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS destinator.cc -o destinator.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS exif.cc -o exif.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS vidaone.cc -o vidaone.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS igo8.cc -o igo8.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS gopal.cc -o gopal.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS humminbird.cc -o humminbird.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS mapasia.cc -o mapasia.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS gnav_trl.cc -o gnav_trl.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS navitel.cc -o navitel.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS ggv_ovl.cc -o ggv_ovl.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS jtr.cc -o jtr.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS sbp.cc -o sbp.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS sbn.cc -o sbn.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS mmo.cc -o mmo.o
mmo.cc: In function 'void mmo_write_rte_head_cb(const route_head*)':
mmo.cc:1346:40: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if ((t.isValid()) && (t.toTime_t() < time)) {
                                      ^
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS skyforce.cc -o skyforce.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS itracku.cc -o itracku.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS v900.cc -o v900.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS delbin.cc -o delbin.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS pocketfms_bc.cc -o pocketfms_bc.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS pocketfms_fp.cc -o pocketfms_fp.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS pocketfms_wp.cc -o pocketfms_wp.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS naviguide.cc -o naviguide.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS enigma.cc -o enigma.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS vpl.cc -o vpl.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS teletype.cc -o teletype.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS jogmap.cc -o jogmap.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS bushnell.cc -o bushnell.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS bushnell_trl.cc -o bushnell_trl.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS wintec_tes.cc -o wintec_tes.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS subrip.cc -o subrip.o
subrip.cc: In function 'void subrip_prevwp_pr(const Waypoint*)':
subrip.cc:71:45: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (prevwpp->GetCreationTime().toTime_t() < time_offset) {
                                             ^
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS garmin_xt.cc -o garmin_xt.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS garmin_fit.cc -o garmin_fit.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS lowranceusr4.cc -o lowranceusr4.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS mtk_locus.cc -o mtk_locus.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS googledir.cc -o googledir.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS mapbar_track.cc -o mapbar_track.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS f90g_track.cc -o f90g_track.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS mapfactor.cc -o mapfactor.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS energympro.cc -o energympro.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS mynav.cc -o mynav.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS bend.cc -o bend.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS position.cc -o position.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS radius.cc -o radius.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS duplicate.cc -o duplicate.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS arcdist.cc -o arcdist.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS polygon.cc -o polygon.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS smplrout.cc -o smplrout.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS reverse_route.cc -o reverse_route.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS sort.cc -o sort.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS stackfilter.cc -o stackfilter.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS trackfilter.cc -o trackfilter.o
trackfilter.cc: In function 'void trackfilter_synth()':
trackfilter.cc:824:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if (oldtime != wpt->GetCreationTime().toTime_t()) {
               ^
trackfilter.cc: In function 'int trackfilter_range()':
trackfilter.cc:905:54: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   inside = ((wpt->GetCreationTime().toTime_t() >= start) && (wpt->GetCreationTime().toTime_t() <= stop));
                                                ^
trackfilter.cc:905:102: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   inside = ((wpt->GetCreationTime().toTime_t() >= start) && (wpt->GetCreationTime().toTime_t() <= stop));
                                                                                                 ^
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS discard.cc -o discard.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS nukedata.cc -o nukedata.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS interpolate.cc -o interpolate.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS transform.cc -o transform.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS height.cc -o height.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS swapdata.cc -o swapdata.o
g++  -g -O2 -Wall -c   -I. -I/usr/lib/qt/include  -DHAVE_CONFIG_H -DNEW_STRINGS validate.cc -o validate.o

g++  -L/usr/lib -lusb main.o globals.o queue.o route.o waypt.o filter_vecs.o util.o vecs.o mkshort.o csv_util.o
strptime.o grtcirc.o util_crc.o xmlgeneric.o formspec.o xmltag.o cet.o cet_util.o fatal.o rgbcolors.o inifile.o
garmin_fs.o gbsleep.o units.o gbser_posix.o gbser.o gbfile.o parse.o session.o src/core/xmlstreamwriter.o
src/core/usasciicodec.o src/core/ziparchive.o  jeeps/gpsapp.o jeeps/gpscom.o jeeps/gpsmath.o jeeps/gpsmem.o
jeeps/gpsprot.o jeeps/gpsread.o jeeps/gpsdevice.o jeeps/gpsdevice_ser.o jeeps/gpsdevice_usb.o jeeps/gpsrqst.o
jeeps/gpssend.o jeeps/gpsserial.o jeeps/jgpsutil.o jeeps/gpsusbread.o jeeps/gpsusbsend.o jeeps/gpsusbcommon.o
jeeps/gpslibusb.o shapelib/shpopen.o shapelib/dbfopen.o shapelib/safileio.o zlib/adler32.o zlib/compress.o
zlib/crc32.o zlib/deflate.o zlib/inffast.o zlib/inflate.o zlib/infback.o zlib/inftrees.o zlib/trees.o zlib/uncompr.o
zlib/gzlib.o zlib/gzclose.o zlib/gzread.o zlib/gzwrite.o zlib/zutil.o zlib/contrib/minizip/zip.o
zlib/contrib/minizip/ioapi.o magproto.o gpx.o geo.o mapsend.o mapsource.o garmin.o garmin_device_xml.o garmin_tables.o
internal_styles.o nmea.o kml.o wbt-200.o ozi.o pcx.o gdb.o gtrnctr.o xcsv.o explorist_ini.o gtm.o gpsutil.o skytraq.o
holux.o tmpro.o tpg.o tpo.o tiger.o easygps.o saroute.o navicache.o psitrex.o delgpl.o text.o html.o netstumbler.o
igc.o brauniger_iq.o shape.o hiketech.o glogbook.o vcf.o google.o xhtmlent.o lowranceusr.o an1.o tomtom.o tef_xml.o
maggeo.o vitosmt.o bcr.o ignrando.o stmwpp.o cst.o nmn4.o compegps.o yahoo.o unicsv.o wfff_xml.o garmin_txt.o gpssim.o
stmsdf.o dmtlog.o raymarine.o alan.o vitovtt.o ggv_log.o g7towin.o garmin_gpi.o lmx.o random.o xol.o dg-100.o
navilink.o mtk_logger.o ik3d.o osm.o destinator.o exif.o vidaone.o igo8.o gopal.o humminbird.o mapasia.o gnav_trl.o
navitel.o ggv_ovl.o jtr.o sbp.o sbn.o mmo.o skyforce.o itracku.o v900.o delbin.o pocketfms_bc.o pocketfms_fp.o
pocketfms_wp.o naviguide.o enigma.o vpl.o teletype.o jogmap.o bushnell.o bushnell_trl.o wintec_tes.o subrip.o
garmin_xt.o garmin_fit.o lowranceusr4.o mtk_locus.o googledir.o mapbar_track.o f90g_track.o mapfactor.o energympro.o
mynav.o bend.o position.o radius.o duplicate.o arcdist.o polygon.o smplrout.o reverse_route.o sort.o stackfilter.o
trackfilter.o discard.o nukedata.o interpolate.o transform.o height.o swapdata.o validate.o  -lm  -L/usr/lib/qt/lib
-lQtCore -L/usr/lib -lusb -o gpsbabel
   
Now, those are an awful lot of warnings.... and then the compiler says it's a clean compile...

Testing the lot

First, Make sure you have a data directory, in my case /home/jan/Data/gps, then test the /dev directory. Slackware creates /dev.ttyUSB0 and /dev/serial/*

And after a lot of testing and trials this is the best I get:

root@oxygen /home/jan/Data/gps$ gpsbabel -D 2 -i skytraq -f /dev/ttyUSB0 -o gpx
GPSBabel Version: 1.5.3 
options: module/option=value: skytraq/erase="0" (=default)
options: module/option=value: skytraq/targetlocation="" (=default)
options: module/option=value: skytraq/configlog="" (=default)
options: module/option=value: skytraq/baud="230400" (=default)
options: module/option=value: skytraq/initbaud="0" (=default)
options: module/option=value: skytraq/read-at-once="255" (=default)
options: module/option=value: skytraq/first-sector="0" (=default)
options: module/option=value: skytraq/last-sector="-1" (=default)
options: module/option=value: skytraq/no-output="0" (=default)
skytraq: Probing SkyTraq Venus at 9600baud...
skytraq: Didn't get message start tag
Didn't receive ACK (-3), retrying...
skytraq: Didn't get message start tag
Didn't receive ACK (-3)
skytraq: Probing SkyTraq Venus at 230400baud...
skytraq: Didn't get message start tag
Didn't receive ACK (-3), retrying...
skytraq: Didn't get message start tag
Didn't receive ACK (-3)
skytraq: Probing SkyTraq Venus at 115200baud...
skytraq: Didn't get message start tag
Didn't receive ACK (-3), retrying...
skytraq: Didn't get message start tag
Didn't receive ACK (-3)
skytraq: Probing SkyTraq Venus at 57600baud...
skytraq: Didn't get message start tag
Didn't receive ACK (-3), retrying...
skytraq: Didn't get message start tag
Didn't receive ACK (-3)
skytraq: Probing SkyTraq Venus at 4800baud...
skytraq: Didn't get message start tag
Didn't receive ACK (-3), retrying...
skytraq: Didn't get message start tag
Didn't receive ACK (-3)
skytraq: Probing SkyTraq Venus at 19200baud...
skytraq: Didn't get message start tag
Didn't receive ACK (-3), retrying...
skytraq: Didn't get message start tag
Didn't receive ACK (-3)
skytraq: Probing SkyTraq Venus at 38400baud...
skytraq: Didn't get message start tag
Didn't receive ACK (-3), retrying...
skytraq: Didn't get message start tag
Didn't receive ACK (-3)
skytraq: Can't find skytraq device on '/dev/ttyUSB0'
   
It may be my device has too old firmware.

A new testrun produced:
root@oxygen /home/jan$ gpsbabel -D 2 -i skytraq -f /dev/ttyUSB0 -o gpx
GPSBabel Version: 1.5.3 
options: module/option=value: skytraq/erase="0" (=default)
options: module/option=value: skytraq/targetlocation="" (=default)
options: module/option=value: skytraq/configlog="" (=default)
options: module/option=value: skytraq/baud="230400" (=default)
options: module/option=value: skytraq/initbaud="0" (=default)
options: module/option=value: skytraq/read-at-once="255" (=default)
options: module/option=value: skytraq/first-sector="0" (=default)
options: module/option=value: skytraq/last-sector="-1" (=default)
options: module/option=value: skytraq/no-output="0" (=default)
skytraq: Probing SkyTraq Venus at 9600baud...
skytraq: Didn't get message start tag
Didn't receive ACK (-3), retrying...
skytraq: Didn't get message start tag
Didn't receive ACK (-3)
skytraq: Probing SkyTraq Venus at 230400baud...
skytraq: Didn't get message start tag
Didn't receive ACK (-3), retrying...
skytraq: Didn't get message start tag
Didn't receive ACK (-3)
skytraq: Probing SkyTraq Venus at 115200baud...
skytraq: Didn't get message start tag
Didn't receive ACK (-3), retrying...
skytraq: Didn't get message start tag
Didn't receive ACK (-3)
skytraq: Probing SkyTraq Venus at 57600baud...
skytraq: Didn't get message start tag
Didn't receive ACK (-3), retrying...
skytraq: Didn't get message start tag
Didn't receive ACK (-3)
skytraq: Probing SkyTraq Venus at 4800baud...
skytraq: Didn't get message start tag
Didn't receive ACK (-3), retrying...
skytraq: Didn't get message start tag
Didn't receive ACK (-3)
skytraq: Probing SkyTraq Venus at 19200baud...
skytraq: Didn't get message start tag
Didn't receive ACK (-3), retrying...
skytraq: Didn't get message start tag
Didn't receive ACK (-3)
skytraq: Probing SkyTraq Venus at 38400baud...
Receiving message with 2 bytes of payload (expected >=2)
Receiving message with 2 bytes of payload (expected >=2)
Receiving message with 14 bytes of payload (expected >=14)
skytraq: Venus device found: Kernel version = 1.4.89, ODM version = 1.10.24, revision (Y/M/D) = 11/08/23
Receiving message with 2 bytes of payload (expected >=2)
Receiving message with 2 bytes of payload (expected >=2)
skytraq: cannot set new location
   
Skytraq Venus found. Minicom can read live data off it, using the command, as root,
minicom -b 38400 -D /dev/ttyUSB0

Bottom line

GpsBabel cannot read my GT-730FL-S dongle. Sometimes it detects the chipset, but it cannot read from the device, whereas minicom captures the live data.

Are the multiple warnings, issued in the make process, the problem? Anyway, for the time being I just need to use the Windows detour.

Page created on 13 Feb 2016 and