AW: AW: Fwd: gpsd support

Dario Lombardo dario.lombardo at libero.it
Tue Feb 22 13:30:16 UTC 2011



On 02/22/2011 12:10 PM, Andreas.Eversberg wrote:
> hi dario,
>
> i just tried to compile master and your patch. (heaving gpsd installed)
> here are some problems:
>
>    CC     gps.o
> gps.c:41: error: 'gps' redeclared as different kind of symbol
> /usr/include/gps.h:127: error: previous definition of 'gps' was here
> gps.c: In function 'osmo_gpsd_cb':
> gps.c:73: warning: implicit declaration of function 'gps_waiting'
> gps.c: In function 'osmo_gpsd_open':
> gps.c:123: warning: implicit declaration of function 'gps_stream'
> gps.c:123: error: 'WATCH_ENABLE' undeclared (first use in this function)
> gps.c:123: error: (Each undeclared identifier is reported only once
> gps.c:123: error: for each function it appears in.)
>
> 1. the symbol "gps" is used as structure instance for struct osmo_gps.
> it is also used in an enum declaration at /usr/include/gps.h:
>
> ...
>              enum {gps, glonass, unknown} system;
> ...
>
> 2. the declarations 'gps_waiting', 'gps_stream', 'WATCH_ENABLE' are not
> defined at gps.h
>
Everything works for me:

ironlady:~/Projects/mobile/osmocom/src$
ironlady:~/Projects/mobile/osmocom/src$
ironlady:~/Projects/mobile/osmocom/src$ grep system /usr/include/gps.h
  * Values for "system" fields.  Note, the encoding logic is senstive to 
the
         int system;
         int system;                /* Which system is it? */
         int system;                /* Which system is it? */
ironlady:~/Projects/mobile/osmocom/src$
ironlady:~/Projects/mobile/osmocom/src$

The enum you said is not present in my gpsd include. Instead I have

/*
  * Values for "system" fields.  Note, the encoding logic is senstive to 
the
  * actual values of these; it's not sufficient that they're distinct.
  */
#define NAVSYSTEM_GPS       0
#define NAVSYSTEM_GLONASS    1
#define NAVSYSTEM_GALILEO    2
#define NAVSYSTEM_UNKNOWN    3

The symbols you miss, can be found on my system.

ironlady:~/Projects/mobile/osmocom/src$ grep gps_waiting /usr/include/gps.h
extern bool gps_waiting(struct gps_data_t *);
ironlady:~/Projects/mobile/osmocom/src$ grep gps_stream /usr/include/gps.h
extern int gps_stream(struct gps_data_t *, unsigned int, /*@null@*/void *);
ironlady:~/Projects/mobile/osmocom/src$ grep WATCH_ENABLE 
/usr/include/gps.h
#define WATCH_ENABLE    0x0001u    /* enable streaming */
ironlady:~/Projects/mobile/osmocom/src$
ironlady:~/Projects/mobile/osmocom/src$
ironlady:~/Projects/mobile/osmocom/src$

> this is maybe one reason why i failed to write gpsd support. symbols in
> the howtos and examples were missing. here is the latest version i got
> from the gentoo repository:
>
> *  sci-geosciences/gpsd
>        Latest version available: 2.32
>        Latest version installed: 2.32
>        Size of files: 603 kB
>        Homepage:      http://gpsd.berlios.de/
>        Description:   GPS daemon and library to support USB/serial GPS
> devices and various GPS/mapping clients.
>        License:       BSD
>
> any ideas?
>
My gpsd version is much more recent:

ironlady:~/Projects/mobile/osmocom/src$ rpm -q gpsd
gpsd-2.95-2.fc14.i686
ironlady:~/Projects/mobile/osmocom/src$





More information about the baseband-devel mailing list