nvidia-kernel-oot building issue when project path includes string like auto, inline, fallthrough,unix #2223
Closed
limeng-linux
started this conversation in
General
Replies: 1 comment 1 reply
|
If you know you're only going to be targeting kernels that are newer than 6.10 (when I think that change to __assign_str() was made), you could just remove that particular conftest check, and either always define NV___ASSIGN_STR_HAS_NO_SRC_ARG, or patch the handful of source files to remove the conditional compilation based on that define. |
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hi NVIDIA Experts,
When I created a project directory like nvidia-orin-agx-build-auto, there is nvidia-kernel-oot building error as below
| In file included from /buildarea1/zliu2/lts26/lts26-orin/auto/build/tmp/work-shared/nvidia-orin-agx/kernel-source/include/trace/trace_events.h:468,
| from /buildarea1/zliu2/lts26/lts26-orin/auto/build/tmp/work-shared/nvidia-orin-agx/kernel-source/include/trace/define_trace.h:132,
| from /buildarea1/zliu2/lts26/lts26-orin/auto/build/tmp/work/nvidia_orin_agx-wrs-linux/nvidia-kernel-oot/36.5.0+git/sources/nvidia-kernel-oot-36.5.0+git/nvidia-oot/include/trace/events/nvmap.h:930,
| from drivers/video/tegra/nvmap/nvmap_dev.c:54:
| /buildarea1/zliu2/lts26/lts26-orin/auto/build/tmp/work/nvidia_orin_agx-wrs-linux/nvidia-kernel-oot/36.5.0+git/sources/nvidia-kernel-oot-36.5.0+git/nvidia-oot/include/trace/events/nvmap.h:41:1: error: macro '__assign_str' passed 2 arguments, but takes just 1
| 41 | );
| | ^~
| In file included from /buildarea1/zliu2/lts26/lts26-orin/auto/build/tmp/work-shared/nvidia-orin-agx/kernel-source/include/trace/trace_events.h:400:
| /buildarea1/zliu2/lts26/lts26-orin/auto/build/tmp/work-shared/nvidia-orin-agx/kernel-source/include/trace/stages/stage6_event_callback.h:34:9: note: macro '__assign_str' defined here
| 34 | #define __assign_str(dst)
| | ^~~~~~~~~~~~
| CC [M] drivers/platform/tegra/psc/psc_debug.o
| CC [M] drivers/virt/tegra/ivc-cdev.o
| /buildarea1/zliu2/lts26/lts26-orin/auto/build/tmp/work/nvidia_orin_agx-wrs-linux/nvidia-kernel-oot/36.5.0+git/sources/nvidia-kernel-oot-36.5.0+git/nvidia-oot/include/trace/events/nvmap.h: In function 'do_trace_event_raw_event_nvmap':
| /buildarea1/zliu2/lts26/lts26-orin/auto/build/tmp/work/nvidia_orin_agx-wrs-linux/nvidia-kernel-oot/36.5.0+git/sources/nvidia-kernel-oot-36.5.0+git/nvidia-oot/include/trace/events/nvmap.h:36:17: error: '__assign_str' undeclared (first use in this function)
the reason is that these string 'auto|unix|inline|fallthrough' are defined as MACRO which impact the file path when building nvidia-kernel-oot
Macro Defined In Line
auto kernel-source/include/linux/compiler_types.h 26
inline kernel-source/include/linux/compiler_types.h 249
fallthrough kernel-source/include/linux/compiler_attributes.h 214/216
unix gcc built-in (not in any file)
I found out there is a patch ./recipes-kernel/nvidia-kernel-oot/nvidia-kernel-oot/0017-conftest-work-around-stringify-issue-with-__assign_s.patch to fix the similar issue. But it is not suit for auto string.
Did you encounter the similar issue, and do you have some suggestion for this issue.
thanks,
Limeng
All reactions