Re: uuid define issue build on macos

From: Sumit Garg
Date: Mon Jul 08 2019 - 07:27:08 EST


On Sun, 7 Jul 2019 at 08:27, feng chen <puck.chen@xxxxxxxxxxx> wrote:
>
> *** Default configuration is based on 'defconfig'
> #
> # No change to .config
> #
> arch/arm64/Makefile:40: LSE atomics not supported by binutils
> arch/arm64/Makefile:48: Detected assembler with broken .inst;
> disassembly will be unreliable
> UPD include/config/kernel.release
> UPD include/generated/utsrelease.h
> HOSTCC scripts/mod/file2alias.o
> scripts/mod/file2alias.c:42:3: error: typedef redefinition with
> different types ('struct uuid_t' vs '__darwin_uuid_t' (aka 'unsigned
> char [16]'))
> } uuid_t;
> ^

It looks like somehow Darwin OS specific header is included here for
UUID definition. Please try to build with following change to include
only standardized headers:

--- a/scripts/mod/file2alias.c
+++ b/scripts/mod/file2alias.c
@@ -10,6 +10,7 @@
* of the GNU General Public License, incorporated herein by reference.
*/

+#define _XOPEN_SOURCE
#include "modpost.h"
#include "devicetable-offsets.h"

-Sumit

>
/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/sys/_types/_uuid_t.h:31:25:
> note: previous definition is here
> typedef __darwin_uuid_t uuid_t;
> ^
> scripts/mod/file2alias.c:1300:42: error: array initializer must be an
> initializer list or string literal
> DEF_FIELD(symval, tee_client_device_id, uuid);
> ^
> 2 errors generated.
> make[2]: *** [scripts/mod/file2alias.o] Error 1
> make[1]: *** [prepare0] Error 2
> make: *** [sub-make] Error 2
>
> and:
>
> _types.h:77:typedef unsigned char __darwin_uuid_t[16];
>
> 28 #ifndef _UUID_T
> 29 #define _UUID_T
> 30 #include <sys/_types.h> /* __darwin_uuid_t */
> 31 typedef __darwin_uuid_t uuid_t;
>
>
> 32 #endif /* _UUID_T */
>
>
>