Source: cxxtools
Version: 3.0.0-1
Severity: serious
Tags: ftbfs
Justification: fails to build from source (but built successfully in the past)
Hi,
cxxtools/experimental recently started to FTBFS:
libtool: compile: g++ -std=c++11 -DHAVE_CONFIG_H -I. -I../src -I../include
-I../include -Wdate-time -D_FORTIFY_SOURCE=2 -Wno-long-long -Wall -pedantic -g
-O2 -ffile-prefix-map=/build/cxxtools-3.0.0=. -fstack-protector-strong -Wformat
-Werror=format-security -c timer.cpp -fPIC -DPIC -o .libs/timer.o
timer.cpp: In member function 'void cxxtools::Timer::start(const
cxxtools::DateTime&, const cxxtools::Milliseconds&, bool)':
timer.cpp:134:15: error: aggregate 'tm tim' has incomplete type and cannot be
defined
134 | struct tm tim;
| ^~~
timer.cpp:137:9: error: 'localtime_r' was not declared in this scope; did you
mean 'localtime'?
137 | localtime_r(&sec, &tim);
| ^~~~~~~~~~~
| localtime
timer.cpp:139:9: error: 'gmtime_r' was not declared in this scope; did you mean
'time_t'?
139 | gmtime_r(&sec, &tim);
| ^~~~~~~~
| time_t
timer.cpp: In member function 'bool cxxtools::Timer::update(const
cxxtools::Milliseconds&)':
timer.cpp:245:23: error: aggregate 'tm tim' has incomplete type and cannot be
defined
245 | struct tm tim;
| ^~~
timer.cpp:247:13: error: 'localtime_r' was not declared in this scope; did you
mean 'locale_t'?
247 | localtime_r(&sec, &tim);
| ^~~~~~~~~~~
| locale_t
timer.cpp:256:23: error: aggregate 'tm tim' has incomplete type and cannot be
defined
256 | struct tm tim;
| ^~~
timer.cpp:258:13: error: 'gmtime_r' was not declared in this scope; did you
mean 'time_t'?
258 | gmtime_r(&sec, &tim);
| ^~~~~~~~
| time_t
make[3]: *** [Makefile:921: timer.lo] Error 1
This looks like a missing #include <ctime>.
time.h was previously transitively included, but that no longer seems to be the
case with
cleaned up #include dependencies in newer gcc or glibc headers.
Andreas