lkml.org 
[lkml]   [2021]   [Jun]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectQuery on header test
Date
Hi All,

We are facing issue while compiling kernel (5.4) in android (arm64) on
ubuntu18 host machine
when header test is performed.
Note: there is no issue observed on ubuntu16.

And it is failing with below issue,

./usr/include/linux/videodev2.h:2323:20: error: field has incomplete
type 'struct timespec'
        struct timespec                 timestamp;
                                        ^
./usr/include/linux/videodev2.h:2323:9: note: forward declaration of
'struct timespec'
        struct timespec                 timestamp;
               ^
1 error generated.


where in one of the headers "include/uapi/linux/videodev2.h" is
including "sys/time.h"
Inside include/uapi/linux/videodev2.h
#ifndef __KERNEL__
#include <sys/time.h>
#endif

and it is try to search this file in host machine in
"usr/include/x86_64-linux-gnu/sys/time.h".
but it is failing with that as looks like ubuntu18  packaged
x86_64-linux-gnu time.h is not
compatible while it is compatible with ubuntu16 packaged time.h has no
issue.

Defining _GNU_SOURCE is somehow fixing the issue the somehow.
And now i am not sure whether it is maintaining as per the standard of
header test or it somehow
violates it.

diff --git a/usr/include/Makefile b/usr/include/Makefile
index bfc7f8e..7b789f7 100644
--- a/usr/include/Makefile
+++ b/usr/include/Makefile
@@ -8,7 +8,7 @@
 # We cannot go as far as adding -Wpedantic since it emits too many
warnings.
 UAPI_CFLAGS := -std=c90 -Wall -Werror=implicit-function-declaration

-override c_flags = $(UAPI_CFLAGS) -Wp,-MD,$(depfile)
-I$(objtree)/usr/include
+override c_flags = $(UAPI_CFLAGS) -Wp,-MD,$(depfile) -D_GNU_SOURCE
-I$(objtree)/usr/include

Thanks,
Mukesh
\
 
 \ /
  Last update: 2021-06-10 16:15    [W:0.037 / U:0.856 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site