I have recently gotten my cross-compile environment to work, per the instructions in the OE How To area.

I successfully compiled the Qtopia example progra, ran it locally on my dev system via the qvfb, then recompiled for arm and ran it on my Z6000L.

Ok, so I got a boost of confidence from getting the trivial sample program to work. So I got the patched version of GPSD here. This patched version is required for working with the USB version of the DeLorme Earthmate.

I encountered an error similar to what is listed on Jay's site. My error:

gcc  -DHAVE_CONFIG_H -g -O2 -Wall -Werror -c -I. -I/usr/X11R6/include -o gpsd.o gpsd.c
gcc  -DHAVE_CONFIG_H -g -O2 -Wall -Werror -c -I. -I/usr/X11R6/include -o netlib.o netlib.c
gcc  -DHAVE_CONFIG_H -g -O2 -Wall -Werror -c -I. -I/usr/X11R6/include -o nmea_parse.o nmea_parse.c
gcc  -DHAVE_CONFIG_H -g -O2 -Wall -Werror -c -I. -I/usr/X11R6/include -o serial.o serial.c
gcc  -DHAVE_CONFIG_H -g -O2 -Wall -Werror -c -I. -I/usr/X11R6/include -o tm.o tm.c
gcc  -DHAVE_CONFIG_H -g -O2 -Wall -Werror -c -I. -I/usr/X11R6/include -o em.o em.c
gcc  -DHAVE_CONFIG_H -g -O2 -Wall -Werror -c -I. -I/usr/X11R6/include -o send_nmea.o send_nmea.c
gcc  -DHAVE_CONFIG_H -g -O2 -Wall -Werror -c -I. -I/usr/X11R6/include -o display.o display.c
gcc  -DHAVE_CONFIG_H -g -O2 -Wall -Werror -c -I. -I/usr/X11R6/include -o m8.o m8.c
m8.c: In function `takeover_device':
m8.c:127: parse error before `int'
m8.c:129: `ret' undeclared (first use in this function)
m8.c:129: (Each undeclared identifier is reported only once
m8.c:129: for each function it appears in.)
make: *** [m8.o] Error 1

His site says to manually run the following line to bypass this error manually:

gcc -I/usr/local/include -o gpsd gpsd.o -L. -lgpsd -lnsl -lm -lc -L/usr/local/lib -lusb

Which returns the following output on my machine:

/usr/bin/ld: cannot find -lgpsd
collect2: ld returned 1 exit status

I don't do any Linux development. I've done compiling of third-party packages and had problems that I had to end up tweaking, but this crosscompile environment is very alien to me, so I'm not sure where to start to debug.

The makefile I'm using is the default one that comes with GPSD, but I am running the dev-x86-qpe.sh script to establish my environment beforehand.

Any helpful hints? Thanks in advance.