Running gpsd 3.16 on a Raspberry Pi 3 (Raspbian 4.4.23-v7+)
On an older Raspberry Pi I had gpsd version 3.6 installed and working fine.
I'm now setting up a new RPi 3 to replace it. I installed gpsd version 3.16, built from source. Same GPS unit (Adafruit Ultimate GPS module). My application uses libgps, and everything seems to work fine except that the values in gps_data->fix.epx and gps_data->fix.epy never change. I use those values to display an accuracy ellipse on a map, which is important for my application.
I can reproduce this with cgps. When I first start gpsd and run cgps, I see the Latitude Err and Longitude Err fields populated with what looks like a reasonable value after a few seconds, but it never changes after that. I would expect those values to change drastically when I move the GPS away from the window, but they do not. If I stop and restart gpsd, I get new values once, but they never change after the initial setting. I have let it run for days without seeing any change.
Since this was working in the old version, I downloaded the source for version 3.6 and built it on the new RPi, and I do not have the issue - the epx and epy values change frequently, which is what I expect - so something must have changed between 3.6 and 3.16 that causes this to break. All unit tests pass with both versions. I have not tried any other versions between 3.6 and 3.16, but I can try to narrow it down to which specific version breaks it, if that will help.
For now I'm up and running on version 3.6, but would prefer to be on the latest - I'm willing to go back to the broken version for troubleshooting if someone can give me suggestions on what to try or what to look at.