AW: AW: Fwd: gpsd support
Dario Lombardo
dario.lombardo at libero.it
Tue Feb 22 14:30:16 CET 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