Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 03 Apr 2018 22:55:00 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-arm@FreeBSD.org
Subject:   [Bug 227274] There's a conflict between various versions of stdint.h which prevent kernel build on RPi3 for r331869
Message-ID:  <bug-227274-7@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D227274

            Bug ID: 227274
           Summary: There's a conflict between various versions of
                    stdint.h which prevent kernel build on RPi3 for
                    r331869
           Product: Base System
           Version: CURRENT
          Hardware: arm64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: arm
          Assignee: freebsd-arm@FreeBSD.org
          Reporter: fbsd@www.zefox.net

Attempts to build a kernel on RPI3 running -current at r331869 fail with

--- all_subdir_armv8crypto ---
In file included from /usr/src/sys/crypto/armv8/armv8_crypto_wrap.c:46:
In file included from /usr/lib/clang/6.0.0/include/arm_neon.h:31:
/usr/lib/clang/6.0.0/include/stdint.h:228:25: error: typedef redefinition w=
ith
different types ('int16_t' (aka 'short') vs '__int_fast16_t' (aka 'int'))
typedef __int_least16_t int_fast16_t;
--- all_subdir_amr ---
:> export_syms
--- all_subdir_armv8crypto ---
                        ^
/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h:51:25: note: previo=
us
definition is here
typedef __int_fast16_t          int_fast16_t;
                                ^
In file included from /usr/src/sys/crypto/armv8/armv8_crypto_wrap.c:46:
In file included from /usr/lib/clang/6.0.0/include/arm_neon.h:31:
/usr/lib/clang/6.0.0/include/stdint.h:229:26: error: typedef redefinition w=
ith
different types ('uint16_t' (aka 'unsigned short') vs '__uint_fast16_t' (aka
'unsigned int'))
typedef __uint_least16_t uint_fast16_t;
                         ^
/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h:56:26: note: previo=
us
definition is here
typedef __uint_fast16_t         uint_fast16_t;
                                ^
In file included from /usr/src/sys/crypto/armv8/armv8_crypto_wrap.c:46:
In file included from /usr/lib/clang/6.0.0/include/arm_neon.h:31:
/usr/lib/clang/6.0.0/include/stdint.h:245:24: error: typedef redefinition w=
ith
different types ('int8_t' (aka 'signed char') vs '__int_fast8_t' (aka 'int'=
))
typedef __int_least8_t int_fast8_t;
                       ^
/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h:50:24: note: previo=
us
definition is here
typedef __int_fast8_t           int_fast8_t;
                                ^
In file included from /usr/src/sys/crypto/armv8/armv8_crypto_wrap.c:46:
--- all_subdir_amr ---
awk -f /usr/src/sys/conf/kmod_syms.awk amr_cam.kld  export_syms | xargs -J%
objcopy % amr_cam.kld
--- all_subdir_armv8crypto ---
In file included from /usr/lib/clang/6.0.0/include/arm_neon.h:31:
/usr/lib/clang/6.0.0/include/stdint.h:246:25: error: typedef redefinition w=
ith
different types ('uint8_t' (aka 'unsigned char') vs '__uint_fast8_t' (aka
'unsigned int'))
typedef __uint_least8_t uint_fast8_t;
                        ^
/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h:55:25: note: previo=
us
definition is here
typedef __uint_fast8_t          uint_fast8_t;
                                ^
--- all_subdir_amr ---
--- amr_cam.ko.full ---
ld -m aarch64elf -Bshareable -znotext -d -warn-common --build-id=3Dsha1  -o
amr_cam.ko.full amr_cam.kld
--- amr_cam.ko.debug ---
objcopy --only-keep-debug amr_cam.ko.full amr_cam.ko.debug
--- amr_cam.ko ---
objcopy --strip-debug --add-gnu-debuglink=3Damr_cam.ko.debug  amr_cam.ko.fu=
ll
amawk -f /usr/src/sys/conf/kmod_syms.awk amr_cam.kld  export_syms | xargs -=
J%
ob
jcopy % amr_cam.kld
--- all_subdir_armv8crypto ---
In file included from /usr/lib/clang/6.0.0/include/arm_neon.h:31:
/usr/lib/clang/6.0.0/include/stdint.h:246:25: error: typedef redefinition w=
ith
 different types ('uint8_t' (aka 'unsigned char') vs '__uint_fast8_t' (aka =
'un
signed int'))
typedef __uint_least8_t uint_fast8_t;
                        ^
/usr/obj/usr/src/arm64.aarch64/tmp/usr/include/stdint.h:55:25: note: previo=
us=20
definition is here
typedef __uint_fast8_t          uint_fast8_t;


Replacement of /usr/src has no effect, removal of /usr/obj/usr/src has no
effect. It's a little surprising to see buildkernel reference files outside
/usr/src or /usr/obj, I thought the whole point of buildkernel was to segre=
gate
the new kernel environment from the old version of the system.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-227274-7>