The bad fts not only needs to be included before config.h, but also requires various special types without including sys/types.h.
Change-Id: I31ac8d2aadcf7ffb3efb63583b2745991bfd6f90 Signed-off-by: Ulf Hermann <ulf.herm...@qt.io> --- libdwfl/ChangeLog | 4 ++++ libdwfl/linux-kernel-modules.c | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog index ede6d47..cc95e06 100644 --- a/libdwfl/ChangeLog +++ b/libdwfl/ChangeLog @@ -1,3 +1,7 @@ +2017-04-20 Ulf Hermann <ulf.herm...@qt.io> + + * linux-kernel-modules.c: Include sys/types.h before fts.h + 2017-03-24 Mark Wielaard <m...@klomp.org> * linux-core-attach.c (core_next_thread): If n_namesz == 0 then diff --git a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c index 7345e76..893110a 100644 --- a/libdwfl/linux-kernel-modules.c +++ b/libdwfl/linux-kernel-modules.c @@ -28,8 +28,11 @@ /* In case we have a bad fts we include this before config.h because it can't handle _FILE_OFFSET_BITS. - Everything we need here is fine if its declarations just come first. */ + Everything we need here is fine if its declarations just come first. + Also, include sys/types.h before fts. On some systems fts.h is not self + contained. */ #ifdef BAD_FTS + #include <sys/types.h> #include <fts.h> #endif @@ -55,6 +58,7 @@ #define fopen fopen64 #endif #else + #include <sys/types.h> #include <fts.h> #endif -- 2.1.4