Created attachment 591912 [details] emerge --info '=sci-geosciences/gpsd-3.19::gentoo' output The UBlox driver (driver_ubx.c) fails to compile when the configuration #define TIMEHINT_ENABLE is *not* set. The code uses gps_context_t::leap_notify and the various LEAP_* #defines even though they are protected by TIMEHINT_ENABLE in gpsd.h. Apparently the other drivers all have appropriate support for TIMEHINT_ENABLE. Since I don't know what changed; I don't know why TIMEHINT_ENABLE is not defined, since it seems like the leap second handling should be turned on if available, I just disabled the UBlox driver and gpsd_protocals_isync (which depends on it) using the following in package.use: =sci-geosciences/gpsd-3.19 -gpsd_protocols_ublox -gpsd_protocols_isync
Created attachment 591914 [details] emerge -pqv '=sci-geosciences/gpsd-3.19::gentoo' output
Created attachment 591916 [details] emerge -pqv '=sci-geosciences/gpsd-3.19::gentoo' output
Created attachment 591918 [details] '/var/tmp/portage/sci-geosciences/gpsd-3.19/temp/environment'
Created attachment 591920 [details] build.log
Since that build.log is from make --jobs these are the first couple of error lines: driver_ubx.c: In function 'ubx_msg_nav_timels': driver_ubx.c:796:33: error: 'struct gps_context_t' has no member named 'leap_notify' 796 | session->context->leap_notify = LEAP_ADDSECOND; | ^~ driver_ubx.c:796:49: error: 'LEAP_ADDSECOND' undeclared (first use in this function) 796 | session->context->leap_notify = LEAP_ADDSECOND; | ^~~~~~~~~~~~~~
I concur that the issue is present and that the workaround presented above works.
TIMEHINT_ENABLE is hidden by the NTPSHM option. If USE=-ntp, then TIMEHINT_ENABLE is not set. I'll work on a patch for upstream.
(In reply to John Bowler from comment #0) > =sci-geosciences/gpsd-3.19 -gpsd_protocols_ublox -gpsd_protocols_isync Workaround makes gpsd-3.19 build here. Thanks!
This seems to be fixed upstream as of 3.20
(In reply to James Browning from comment #9) > This seems to be fixed upstream as of 3.20 Thanks!