I'm trying to build a Kamikaze firmware with gpsd. I need to build from source, because I will be needing to create a patch to handle a pulse-per-second signal on a gpio line, but initially I'm just trying to get the thing going as it comes.
I can build the firmware successfully, and everything seems to work, but when I telnet to the box and run gpsd, it locks up in an infinite loop (~100% CPU). It looks as though it's in some library initialisation code, because even if I stick a printf() statement at the beginning of main(), it still hangs.
I've got the latest everything from SVN; I've tried kernel 2.4, I've tried 2.6; I've modded the package Makefile to remove even more options; nothing makes any difference :-(
Here are the libraries it's using:
root@OpenWrt:/# ldd /usr/sbin/gpsd
libgps.so.17 => /usr/lib/libgps.so.17 (0x2aaee000)
libc.so.0 => /lib/libc.so.0 (0x2ab40000)
libnsl.so.0 => /lib/libnsl.so.0 (0x2abe4000)
libm.so.0 => /lib/libm.so.0 (0x2ac26000)
libpthread.so.0 => /lib/libpthread.so.0 (0x2ac74000)
libuClibc++.so.0 => /usr/lib/libuClibc++.so.0 (0x2acc8000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x2ad3a000)
ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x2aaa8000)
I guess the next thing to try is to see if I can get gdb onto the box and step through the startup code, but if anyone's already solved this problem or has a better idea, I'd love to hear it.
TIA,
Steve Rencontre