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

[Bug] st-hal sound trigger for OK Google not buildable #14

Open
MartinX3 opened this issue Aug 24, 2020 · 0 comments
Open

[Bug] st-hal sound trigger for OK Google not buildable #14

MartinX3 opened this issue Aug 24, 2020 · 0 comments
Assignees
Labels
bug Something isn't working

Comments

@MartinX3
Copy link
Member

Platform: ALL
Device: ALL
Kernel version: 4.14
Android version: 10.0

Description
Probably an issue in the LOS kerne lbuild system not properly cleaning included headers.

Symptoms

[  0% 529/54457] target  C: sound_trigger.primary.sdm845 <= vendor/qcom/opensource/st-hal/st_session.c
FAILED: out/target/product/akari/obj/SHARED_LIBRARIES/sound_trigger.primary.sdm845_intermediates/st_session.o
/bin/bash -c "PWD=/proc/self/cwd /usr/bin/ccache prebuilts/clang/host/linux-x86/clang-r353983c1/bin/clang  -I vendor/qcom/opensource/st-hal/ext_headers -I external/tinyalsa/include -I external/expat/lib -I system/media/audio_route/include -I vendor/qcom/opensource/st-hal/st_extn -I out/target/product/akari/obj/include/mm-audio/graphite-client/gcs -I out/target/product/akari/obj/include/mm-audio/graphite-client/osal -I vendor/qcom/opensource/st-hal -I out/target/product/akari/obj/SHARED_LIBRARIES/sound_trigger.primary.sdm845_intermediates -I out/target/product/akari/gen/SHARED_LIBRARIES/sound_trigger.primary.sdm845_intermediates \$(cat out/target/product/akari/obj/SHARED_LIBRARIES/sound_trigger.primary.sdm845_intermediates/import_includes)   -isystem out/target/product/akari/obj/include -isystem kernel/sony/msm-4.14/common-headers/kernel-headers -c  -Werror=implicit-function-declaration -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -no-canonical-prefixes -DNDEBUG -UDEBUG -fno-exceptions -Wno-multichar -O2 -g -fno-strict-aliasing -fdebug-prefix-map=/proc/self/cwd= -D__compiler_offsetof=__builtin_offsetof -faddrsig -Wimplicit-fallthrough -Werror=int-conversion -Wno-reserved-id-macro -Wno-format-pedantic -Wno-unused-command-line-argument -fcolor-diagnostics -Wno-zero-as-null-pointer-constant -Wno-sign-compare -Wno-defaulted-function-deleted -Wno-inconsistent-missing-override -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=date-time -Werror=format-security -nostdlibinc -march=armv8.2a -mcpu=cortex-a53 -target aarch64-linux-android -Bprebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/aarch64-linux-android/bin   -std=gnu99    -DSOUND_TRIGGER_PLATFORM=sdm845 -D_ANDROID_ -Wall -Werror -DST_MULTI_STAGE_ENABLED -DST_SUPPORT_GET_MODEL_STATE -D__ANDROID_API__=29 -D__ANDROID_VNDK__ -fPIC -D_USING_LIBCXX -DANDROID_STRICT   -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -Werror=address-of-temporary -Werror=return-type -Wno-tautological-constant-compare -Wno-tautological-type-limit-compare -Wno-tautological-unsigned-enum-zero-compare -Wno-tautological-unsigned-zero-compare -Wno-c++98-compat-extra-semi -Wno-return-std-move-in-c++11 -MD -MF out/target/product/akari/obj/SHARED_LIBRARIES/sound_trigger.primary.sdm845_intermediates/st_session.d -o out/target/product/akari/obj/SHARED_LIBRARIES/sound_trigger.primary.sdm845_intermediates/st_session.o vendor/qcom/opensource/st-hal/st_session.c"
In file included from vendor/qcom/opensource/st-hal/st_session.c:43:
system/core/libcutils/include_vndk/cutils/log.h:38:2: warning: "Deprecated: don't include cutils/log.h, use either android/log.h or log/log.h" [-W#warnings]
#warning "Deprecated: don't include cutils/log.h, use either android/log.h or log/log.h"
 ^
In file included from vendor/qcom/opensource/st-hal/st_session.c:47:
In file included from vendor/qcom/opensource/st-hal/st_hw_session_lsm.h:33:
kernel/sony/msm-4.14/common-headers/kernel-headers/sound/lsm_params.h:90:14: error: expected ';' at end of declaration list
  __u8 __user * data;
             ^
kernel/sony/msm-4.14/common-headers/kernel-headers/sound/lsm_params.h:135:14: error: expected ';' at end of declaration list
  __u8 __user * param_data;
             ^
kernel/sony/msm-4.14/common-headers/kernel-headers/sound/lsm_params.h:142:14: error: expected ';' at end of declaration list
  __u8 __user * param_data;
             ^
kernel/sony/msm-4.14/common-headers/kernel-headers/sound/lsm_params.h:148:14: error: expected ';' at end of declaration list
  __u8 __user * params;
             ^
1 warning and 4 errors generated.
[  0% 530/54457] target  C: sound_trigger.primary.sdm845 <= vendor/qcom/opensource/st-hal/st_hw_session_lsm.c
FAILED: out/target/product/akari/obj/SHARED_LIBRARIES/sound_trigger.primary.sdm845_intermediates/st_hw_session_lsm.o
/bin/bash -c "PWD=/proc/self/cwd /usr/bin/ccache prebuilts/clang/host/linux-x86/clang-r353983c1/bin/clang  -I vendor/qcom/opensource/st-hal/ext_headers -I external/tinyalsa/include -I external/expat/lib -I system/media/audio_route/include -I vendor/qcom/opensource/st-hal/st_extn -I out/target/product/akari/obj/include/mm-audio/graphite-client/gcs -I out/target/product/akari/obj/include/mm-audio/graphite-client/osal -I vendor/qcom/opensource/st-hal -I out/target/product/akari/obj/SHARED_LIBRARIES/sound_trigger.primary.sdm845_intermediates -I out/target/product/akari/gen/SHARED_LIBRARIES/sound_trigger.primary.sdm845_intermediates \$(cat out/target/product/akari/obj/SHARED_LIBRARIES/sound_trigger.primary.sdm845_intermediates/import_includes)   -isystem out/target/product/akari/obj/include -isystem kernel/sony/msm-4.14/common-headers/kernel-headers -c  -Werror=implicit-function-declaration -DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -no-canonical-prefixes -DNDEBUG -UDEBUG -fno-exceptions -Wno-multichar -O2 -g -fno-strict-aliasing -fdebug-prefix-map=/proc/self/cwd= -D__compiler_offsetof=__builtin_offsetof -faddrsig -Wimplicit-fallthrough -Werror=int-conversion -Wno-reserved-id-macro -Wno-format-pedantic -Wno-unused-command-line-argument -fcolor-diagnostics -Wno-zero-as-null-pointer-constant -Wno-sign-compare -Wno-defaulted-function-deleted -Wno-inconsistent-missing-override -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=date-time -Werror=format-security -nostdlibinc -march=armv8.2a -mcpu=cortex-a53 -target aarch64-linux-android -Bprebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/aarch64-linux-android/bin   -std=gnu99    -DSOUND_TRIGGER_PLATFORM=sdm845 -D_ANDROID_ -Wall -Werror -DST_MULTI_STAGE_ENABLED -DST_SUPPORT_GET_MODEL_STATE -D__ANDROID_API__=29 -D__ANDROID_VNDK__ -fPIC -D_USING_LIBCXX -DANDROID_STRICT   -Werror=int-to-pointer-cast -Werror=pointer-to-int-cast -Werror=address-of-temporary -Werror=return-type -Wno-tautological-constant-compare -Wno-tautological-type-limit-compare -Wno-tautological-unsigned-enum-zero-compare -Wno-tautological-unsigned-zero-compare -Wno-c++98-compat-extra-semi -Wno-return-std-move-in-c++11 -MD -MF out/target/product/akari/obj/SHARED_LIBRARIES/sound_trigger.primary.sdm845_intermediates/st_hw_session_lsm.d -o out/target/product/akari/obj/SHARED_LIBRARIES/sound_trigger.primary.sdm845_intermediates/st_hw_session_lsm.o vendor/qcom/opensource/st-hal/st_hw_session_lsm.c"
In file included from vendor/qcom/opensource/st-hal/st_hw_session_lsm.c:45:
system/core/libcutils/include_vndk/cutils/log.h:38:2: warning: "Deprecated: don't include cutils/log.h, use either android/log.h or log/log.h" [-W#warnings]
#warning "Deprecated: don't include cutils/log.h, use either android/log.h or log/log.h"
 ^
In file included from vendor/qcom/opensource/st-hal/st_hw_session_lsm.c:55:
In file included from vendor/qcom/opensource/st-hal/st_hw_session_lsm.h:33:
kernel/sony/msm-4.14/common-headers/kernel-headers/sound/lsm_params.h:90:14: error: expected ';' at end of declaration list
  __u8 __user * data;
             ^
kernel/sony/msm-4.14/common-headers/kernel-headers/sound/lsm_params.h:135:14: error: expected ';' at end of declaration list
  __u8 __user * param_data;
             ^
kernel/sony/msm-4.14/common-headers/kernel-headers/sound/lsm_params.h:142:14: error: expected ';' at end of declaration list
  __u8 __user * param_data;
             ^
kernel/sony/msm-4.14/common-headers/kernel-headers/sound/lsm_params.h:148:14: error: expected ';' at end of declaration list
  __u8 __user * params;
             ^
vendor/qcom/opensource/st-hal/st_hw_session_lsm.c:482:21: error: no member named 'param_data' in 'struct lsm_params_info_v2'
    poll_en_params->param_data = (unsigned char *)poll_enable;
    ~~~~~~~~~~~~~~  ^
vendor/qcom/opensource/st-hal/st_hw_session_lsm.c:561:28: error: no member named 'param_data' in 'struct lsm_params_info_v2'
    det_event_type_params->param_data = (unsigned char *)det_event_type;
    ~~~~~~~~~~~~~~~~~~~~~  ^
vendor/qcom/opensource/st-hal/st_hw_session_lsm.c:2229:16: error: no member named 'params' in 'struct snd_lsm_module_params'
    lsm_params.params = (unsigned char*)&param_info[0];
    ~~~~~~~~~~ ^
vendor/qcom/opensource/st-hal/st_hw_session_lsm.c:2231:29: error: no member named 'param_data' in 'struct lsm_params_info_v2'
    param_info[param_count].param_data = sm_data;
    ~~~~~~~~~~~~~~~~~~~~~~~ ^
vendor/qcom/opensource/st-hal/st_hw_session_lsm.c:2243:33: error: no member named 'param_data' in 'struct lsm_params_info_v2'
        param_info[param_count].param_data = ss_cfg->sm_data;
        ~~~~~~~~~~~~~~~~~~~~~~~ ^
vendor/qcom/opensource/st-hal/st_hw_session_lsm.c:2276:24: error: no member named 'params' in 'struct snd_lsm_module_params'
            lsm_params.params = (unsigned char*)&param_info[0];
            ~~~~~~~~~~ ^
vendor/qcom/opensource/st-hal/st_hw_session_lsm.c:2339:16: error: no member named 'params' in 'struct snd_lsm_module_params'
    lsm_params.params = (unsigned char*)&param_info[0];
    ~~~~~~~~~~ ^
vendor/qcom/opensource/st-hal/st_hw_session_lsm.c:2346:33: error: no member named 'param_data' in 'struct lsm_params_info_v2'
        param_info[param_count].param_data = (unsigned char *)&buf_en;
        ~~~~~~~~~~~~~~~~~~~~~~~ ^
vendor/qcom/opensource/st-hal/st_hw_session_lsm.c:2360:37: error: no member named 'param_data' in 'struct lsm_params_info_v2'
            param_info[param_count].param_data = (unsigned char *)&buf_en;
            ~~~~~~~~~~~~~~~~~~~~~~~ ^
vendor/qcom/opensource/st-hal/st_hw_session_lsm.c:2399:16: error: no member named 'params' in 'struct snd_lsm_module_params'
    lsm_params.params = (unsigned char*)&param_info[0];
    ~~~~~~~~~~ ^
vendor/qcom/opensource/st-hal/st_hw_session_lsm.c:2546:16: error: no member named 'params' in 'struct snd_lsm_module_params'
    lsm_params.params = (unsigned char*)&param_info[0];
    ~~~~~~~~~~ ^
vendor/qcom/opensource/st-hal/st_hw_session_lsm.c:2562:25: error: no member named 'param_data' in 'struct lsm_params_info_v2'
            cfl_params->param_data = p_ses->sthw_cfg.conf_levels;
            ~~~~~~~~~~  ^
vendor/qcom/opensource/st-hal/st_hw_session_lsm.c:2570:50: error: no member named 'param_data' in 'struct lsm_params_info_v2'
                        __func__, i, cfl_params->param_data[i]);
                                     ~~~~~~~~~~  ^
system/core/liblog/include_vndk/log/log_main.h:226:52: note: expanded from macro 'ALOGD'
#define ALOGD(...) ((void)ALOG(LOG_DEBUG, LOG_TAG, __VA_ARGS__))
                                                   ^~~~~~~~~~~
system/core/liblog/include_vndk/log/log_main.h:331:67: note: expanded from macro 'ALOG'
#define ALOG(priority, tag, ...) LOG_PRI(ANDROID_##priority, tag, __VA_ARGS__)
                                                                  ^~~~~~~~~~~
system/core/liblog/include_vndk/log/log_main.h:94:69: note: expanded from macro 'LOG_PRI'
#define LOG_PRI(priority, tag, ...) android_printLog(priority, tag, __VA_ARGS__)
                                                                    ^~~~~~~~~~~
system/core/liblog/include_vndk/log/log_main.h:85:34: note: expanded from macro 'android_printLog'
  __android_log_print(prio, tag, __VA_ARGS__)
                                 ^~~~~~~~~~~
vendor/qcom/opensource/st-hal/st_hw_session_lsm.c:2578:24: error: no member named 'param_data' in 'struct lsm_params_info_v2'
            op_params->param_data = (unsigned char *)&det_mode;
            ~~~~~~~~~  ^
vendor/qcom/opensource/st-hal/st_hw_session_lsm.c:2683:21: error: no member named 'param_data' in 'struct lsm_params_info_v2'
        cus_params->param_data = (unsigned char *)custom_payload;
        ~~~~~~~~~~  ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated.
19:12:51 ninja failed with: exit status 1
#### failed to build some targets (01:56 (mm:ss)) ####

How to reproduce
Compile it

Additional context
It is deactivated in the local_manifest

st-hal
soundtrigger
__user wurde entweder woanders falsch definiert oder nie definiert?
Gehe den weg der .h includes nach. Irgend ein externes Paket was eine andere Herkunft in LineageOS hat, als in PixelExperience
Wurde ausversehen kernel definiert und nicht wieder gesäubert?
Shouldn't be too hard to trace down
It should be defined to expand to nothing

Right above the header:
#ifdef KERNEL
#error "WTFBBQ __KERNEL__is defined!"
#endif
And progress from there
Idr what options you have to print what __user is defined as
Perhaps you can randomly add __user at the end of the file and have the compiler print where it is defined, as what (eg. compile failure after expanding macro)
It's stuff that should not be defined when compiling user code with kernel headers
In fact, afaik the header sanitizer should remove it
Afaik there should be a #define __user that basically means to expand __user to nothing at all
For now, go into lsm_params.h and nuke it, it appears 2 times iirc
Yeah grep for it
by the power of the atom editor doing a comfortable infile search
#ifndef __user
#define __user
#endif

@MartinX3 MartinX3 added the bug Something isn't working label Aug 24, 2020
@MartinX3 MartinX3 self-assigned this Aug 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant