[FOSS-GPS] foxtrotGPS compiling issues with Ubuntu 9.10

Timo Juhani Lindfors timo.lindfors at iki.fi
Mon May 24 14:56:53 EDT 2010


Aapo Rantalainen <aapo.rantalainen at gmail.com> writes:
> http://www.foxtrotgps.org/build.html
>
> 1) on instructions: libglade2.0 might be libglade2-dev
> 2) libgps-dev is needed but not in list

Thanks for reporting these!  These two are indeed missing from the
build page. I pinged rozzin on IRC in the hope that he has write
access to the web page. A bug tracking system would be nice so that
this does not get forgotten... :-)

> 2B) minimum version of libgps?

At least libgps 2.94-2 has been tested to work.

> With Ubuntu 9.10 (libgps 2.39-5) I got:
> gps_functions.c: In function ‘cb_gpsd_data’:
> gps_functions.c:720: error: ‘struct gps_data_t’ has no member named ‘dop’

".dop.hdop" of gps_data_t used to be just ".hdop".

> gps_functions.c: In function ‘get_gps_thread’:
> gps_functions.c:770: warning: implicit declaration of function ‘gps_stream’
> gps_functions.c:770: error: ‘WATCH_ENABLE’ undeclared (first use in
> this function)
> gps_functions.c:770: error: (Each undeclared identifier is reported only once
> gps_functions.c:770: error: for each function it appears in.)
> gps_functions.c:770: error: ‘POLL_NONBLOCK’ undeclared (first use in
> this function)

However, this one is more tricky. With


--- src/gps_functions.c 2010-05-06 03:50:28 +0000
+++ src/gps_functions.c 2010-05-24 18:50:53 +0000
@@ -717,7 +717,11 @@
        if (ret == 0)
        {
                gpsdata->satellites_used = libgps_gpsdata->satellites_used;
+#if 0 /* "new" libgps */
                gpsdata->hdop = libgps_gpsdata->dop.hdop;
+#else
+               gpsdata->hdop = libgps_gpsdata->hdop;
+#endif
                gpsdata->fix.time = libgps_gpsdata->fix.time;
                if (isnan(gpsdata->fix.time))
                {
@@ -767,7 +771,11 @@
                }


+#if 0 /* "new" libgps */
                gps_stream(libgps_gpsdata, WATCH_ENABLE | POLL_NONBLOCK, NULL);
+#else
+                gps_query(libgps_gpsdata, "w+x\n");
+#endif

                watchdog = g_timeout_add_seconds_full(G_PRIORITY_DEFAULT_IDLE,60,reset_gpsd_io,NULL,NULL);



foxtrotgps builds with libgps-dev 2.37-7. It also connects to gpsd
port and send "w+x\n". However, if I kill netcat that I used to listen
to the gpsd port then foxtrotgps prints

gps_poll returned -1

again and again. I don't currently have a real gpsd to test with so I
can't test if it works in normal cases or not.







More information about the FOSS-GPS mailing list