Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bcmserver: build issue with AOSP14 #516

Closed
gibsson opened this issue May 6, 2024 · 1 comment · Fixed by #517 or #537
Closed

bcmserver: build issue with AOSP14 #516

gibsson opened this issue May 6, 2024 · 1 comment · Fixed by #517 or #537

Comments

@gibsson
Copy link
Contributor

gibsson commented May 6, 2024

The bcmserver tool currently fails to build in AOSP14 tree:

[ 97% 158/162] target  C: bcmserver <= external/can-utils/bcmserver.c
FAILED: out/target/product/nitrogen8mp/obj/EXECUTABLES/bcmserver_intermediates/bcmserver.o
/bin/bash -c "PWD=/proc/self/cwd  prebuilts/clang/host/linux-x86/clang-r487747c/bin/clang -I external/can-utils/include -I external/can-utils -I out/target/product/nitroge
n8mp/obj/EXECUTABLES/bcmserver_intermediates -I out/target/product/nitrogen8mp/gen/EXECUTABLES/bcmserver_intermediates -isystem device/boundary/common/kernel-headers -isys
tem device/boundary/common/kernel-headers -Iexternal/libcxx/include -Iexternal/libcxxabi/include -isystem out/soong/.intermediates/bionic/libc/libc/android_vendor.34_arm64
_armv8-a_cortex-a53_shared/gen/include -isystem bionic/libc/kernel/uapi/asm-arm64 -isystem bionic/libc/kernel/uapi -isystem bionic/libc/kernel/android/scsi -isystem bionic
/libc/kernel/android/uapi   -Iexternal/libcxxabi/include    -isystem out/target/product/nitrogen8mp/obj/include -c  -Werror=implicit-function-declaration -DANDROID -fmessa
ge-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -Wunreachable-code-loop-increment -no-canonical-prefixes -DNDEBUG -UDEBUG -fno-exceptions -Wno-multichar -O2 -
g -fdebug-default-version=5 -fno-strict-aliasing -Werror=date-time -Werror=pragma-pack -Werror=pragma-pack-suspicious-include -Werror=string-plus-int -Werror=unreachable-c
ode-loop-increment -Wno-error=deprecated-declarations -D__compiler_offsetof=__builtin_offsetof -faddrsig -fcommon -Werror=int-conversion -Wno-reserved-id-macro -fcolor-dia
gnostics -Wno-sign-compare -Wno-inconsistent-missing-override -Wno-c99-designator -Wno-gnu-designator -Wno-gnu-folding-constant -Wunguarded-availability -D__ANDROID_UNAVAI
LABLE_SYMBOLS_ARE_WEAK__ -ffp-contract=off -fdebug-prefix-map=/proc/self/cwd= -ftrivial-auto-var-init=zero -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-fr
om-clang -Wno-unused-command-line-argument -Wno-unused-command-line-argument -ffunction-sections -fdata-sections -fno-short-enums -funwind-tables -fstack-protector-strong 
-Wa,--noexecstack -D_FORTIFY_SOURCE=2 -Wstrict-aliasing=2 -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Werror=format-security -nost
dlibinc -fdebug-info-for-profiling -march=armv8-a -mcpu=cortex-a53   -std=gnu11    -Wall -Werror -O2 -g -W -Wall -Wno-error=unused-parameter -DSO_RXQ_OVFL=40 -DPF_CAN=29 -
DAF_CAN=PF_CAN -D__ANDROID_VNDK__ -D__ANDROID_VENDOR__ -fPIE -Wno-enum-compare -Wno-enum-compare-switch -Wno-null-pointer-arithmetic -Wno-null-dereference -Wno-pointer-com
pare -Wno-final-dtor-non-final-class -Wno-psabi -Wno-null-pointer-subtraction -Wno-string-concatenation -Wno-deprecated-non-prototype -target aarch64-linux-android34   -We
rror=bool-operation -Werror=format-insufficient-args -Werror=implicit-int-float-conversion -Werror=int-in-bool-context -Werror=int-to-pointer-cast -Werror=pointer-to-int-c
ast -Werror=xor-used-as-pow -Wno-void-pointer-to-enum-cast -Wno-void-pointer-to-int-cast -Wno-pointer-to-int-cast -Werror=fortify-source -Werror=address-of-temporary -Werr
or=null-dereference -Werror=return-type -Wno-tautological-constant-compare -Wno-tautological-type-limit-compare -Wno-reorder-init-list -Wno-implicit-int-float-conversion -
Wno-tautological-overlap-compare -Wno-deprecated-copy -Wno-range-loop-construct -Wno-zero-as-null-pointer-constant -Wno-deprecated-anon-enum-enum-conversion -Wno-pessimizi
ng-move -Wno-non-c-typedef-for-linkage -Wno-align-mismatch -Wno-error=unused-but-set-variable -Wno-error=unused-but-set-parameter -Wno-error=deprecated-builtins -Wno-error
=deprecated -Wno-error=single-bit-bitfield-constant-conversion -Wno-error=enum-constexpr-conversion  -Wno-format-insufficient-args -Wno-sizeof-array-div -Wno-incompatible-
function-pointer-types -Wno-unused-but-set-variable -Wno-unused-but-set-parameter -Wno-unqualified-std-cast-call -Wno-bitwise-instead-of-logical -Wno-misleading-indentatio
n -Wno-array-parameter -Wno-gnu-offsetof-extensions -MD -MF out/target/product/nitrogen8mp/obj/EXECUTABLES/bcmserver_intermediates/bcmserver.d -o out/target/product/nitrog
en8mp/obj/EXECUTABLES/bcmserver_intermediates/bcmserver.o external/can-utils/bcmserver.c"
external/can-utils/bcmserver.c:134:20: warning: unused parameter 'i' [-Wunused-parameter]
void childdied(int i)
                   ^
external/can-utils/bcmserver.c:159:23: error: field 'msg_head' with variable sized type 'struct bcm_msg_head' not at the end of a struct or class is a GNU extension [-Werr
or,-Wgnu-variable-sized-type-not-at-end]
                struct bcm_msg_head msg_head;
                                    ^
1 warning and 1 error generated.
13:36:16 ninja failed with: exit status 1

Let me know if you have any questions

@hartkopp
Copy link
Member

The work around is a horrible way in terms of coding style.

I googled around on this topic and found this:
https://stackoverflow.com/questions/1867065/how-to-suppress-gcc-warnings-from-library-headers/1900578#1900578

I think we should go for such an approach or disable the warning in the compiler options.

hartkopp added a commit to hartkopp/can-utils that referenced this issue May 25, 2024
…SP14

Closes: linux-can#516
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants