#1132081 gpsd: FTBFS on Hurd

Package:
src:gpsd
Source:
src:gpsd
Submitter:
Martin-Éric Racine
Date:
2026-08-05 18:05:02 UTC
Severity:
normal
Tags:
#1132081#5
Date:
2026-03-27 20:01:24 UTC
From:
To:
The above version of gpsd FTBFS on Hurd.

Tracker log suggests that this is caused by an implicit definition of strptime in gpsd-3.27.5/libgps/gpsutils.c, which nonetheless correctly includes <time.h>.

$ rgrep strptime /usr/include/
/usr/include/time.h:extern char *strptime (const char *__restrict __s,
/usr/include/time.h:extern char *strptime_l (const char *__restrict __s,
/usr/include/c++/15/bits/chrono_io.h:                 // strptime behaves differently for %b and %B,
/usr/include/c++/15/bits/locale_facets_nonio.h:       *  specified for strftime(3)/strptime(3).  The actual parsing
/usr/include/c++/15/bits/locale_facets_nonio.tcc:  // Expand a strptime format string and parse it.  E.g., do_get_date() may

The source code however includes this comment:

/* The strptime prototype is not provided unless explicitly requested.
 * We also need to set the value high enough to signal inclusion of
 * newer features (like clock_gettime).  See the POSIX spec for more info:
 * http://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_02_01_02 */

Are we supposed to explicitly enable this just for Hurd? How?

Martin-Éric

#1132081#10
Date:
2026-03-28 09:30:15 UTC
From:
To:
Hello,

Martin-Éric Racine, le ven. 27 mars 2026 22:01:24 +0200, a ecrit:

It would have been useful to copy/paste the log

gpsd-3.27.5/libgps/gpsutils.c: In function ‘iso8601_to_timespec’:
gpsd-3.27.5/libgps/gpsutils.c:892:14: error: implicit declaration of function ‘strptime’; did you mean ‘strftime’? [-Wimplicit-function-declaration]
  892 |         dp = strptime(isotime, "%Y-%m-%dT%H:%M:%S", &tm);
      |              ^~~~~~~~
      |              strftime

See man feature_test_macros and gpsd/SConscript's definitions of
_XOPEN_SOURCE etc. Apparently gpsd defines "only" what is seemingly
needed, instead of just defining what is standard. Since it's the same
glibc as linux, you can probably just add the hurd case along the linux
case.

Samuel

#1132081#15
Date:
2026-08-05 18:03:25 UTC
From:
To:
gpsd (3.27.5-2) unstable; urgency=medium
...
  * Add a patch to teach SConscript to detect Hurd