NVCC compilation errors on 24.2 L4T platform Tx1

We recently upgraded our platform to L4T 24.2 from L4T 23. And we are unable to compile our cuda kernels any longer.

We compile using the following command-line.

nvcc -c file.cu output 'pkg-config --cflags --libs opencv'

Log :

nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(38): error: identifier "__Int8x8_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(39): error: identifier "__Int16x4_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(40): error: identifier "__Int32x2_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(41): error: identifier "__Int64x1_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(42): error: identifier "__Float16x4_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(43): error: identifier "__Float32x2_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(44): error: identifier "__Poly8x8_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(45): error: identifier "__Poly16x4_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(46): error: identifier "__Uint8x8_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(47): error: identifier "__Uint16x4_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(48): error: identifier "__Uint32x2_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(49): error: identifier "__Float64x1_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(50): error: identifier "__Uint64x1_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(51): error: identifier "__Int8x16_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(52): error: identifier "__Int16x8_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(53): error: identifier "__Int32x4_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(54): error: identifier "__Int64x2_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(55): error: identifier "__Float16x8_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(56): error: identifier "__Float32x4_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(57): error: identifier "__Float64x2_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(58): error: identifier "__Poly8x16_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(59): error: identifier "__Poly16x8_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(60): error: identifier "__Poly64x2_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(61): error: identifier "__Uint8x16_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(62): error: identifier "__Uint16x8_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(63): error: identifier "__Uint32x4_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(64): error: identifier "__Uint64x2_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(66): error: identifier "__Poly8_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(67): error: identifier "__Poly16_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(68): error: identifier "__Poly64_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(69): error: identifier "__Poly128_t" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(71): error: identifier "__fp16" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(727): error: identifier "__builtin_aarch64_saddlv8qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(733): error: identifier "__builtin_aarch64_saddlv4hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(739): error: identifier "__builtin_aarch64_saddlv2si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(745): error: identifier "__builtin_aarch64_uaddlv8qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(752): error: identifier "__builtin_aarch64_uaddlv4hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(759): error: identifier "__builtin_aarch64_uaddlv2si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(766): error: identifier "__builtin_aarch64_saddl2v16qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(772): error: identifier "__builtin_aarch64_saddl2v8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(778): error: identifier "__builtin_aarch64_saddl2v4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(784): error: identifier "__builtin_aarch64_uaddl2v16qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(791): error: identifier "__builtin_aarch64_uaddl2v8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(798): error: identifier "__builtin_aarch64_uaddl2v4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(805): error: identifier "__builtin_aarch64_saddwv8qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(811): error: identifier "__builtin_aarch64_saddwv4hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(817): error: identifier "__builtin_aarch64_saddwv2si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(823): error: identifier "__builtin_aarch64_uaddwv8qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(830): error: identifier "__builtin_aarch64_uaddwv4hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(837): error: identifier "__builtin_aarch64_uaddwv2si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(844): error: identifier "__builtin_aarch64_saddw2v16qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(850): error: identifier "__builtin_aarch64_saddw2v8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(856): error: identifier "__builtin_aarch64_saddw2v4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(862): error: identifier "__builtin_aarch64_uaddw2v16qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(869): error: identifier "__builtin_aarch64_uaddw2v8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(876): error: identifier "__builtin_aarch64_uaddw2v4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(883): error: identifier "__builtin_aarch64_shaddv8qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(889): error: identifier "__builtin_aarch64_shaddv4hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(895): error: identifier "__builtin_aarch64_shaddv2si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(901): error: identifier "__builtin_aarch64_uhaddv8qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(908): error: identifier "__builtin_aarch64_uhaddv4hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(915): error: identifier "__builtin_aarch64_uhaddv2si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(922): error: identifier "__builtin_aarch64_shaddv16qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(928): error: identifier "__builtin_aarch64_shaddv8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(934): error: identifier "__builtin_aarch64_shaddv4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(940): error: identifier "__builtin_aarch64_uhaddv16qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(947): error: identifier "__builtin_aarch64_uhaddv8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(954): error: identifier "__builtin_aarch64_uhaddv4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(961): error: identifier "__builtin_aarch64_srhaddv8qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(967): error: identifier "__builtin_aarch64_srhaddv4hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(973): error: identifier "__builtin_aarch64_srhaddv2si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(979): error: identifier "__builtin_aarch64_urhaddv8qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(986): error: identifier "__builtin_aarch64_urhaddv4hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(993): error: identifier "__builtin_aarch64_urhaddv2si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1000): error: identifier "__builtin_aarch64_srhaddv16qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1006): error: identifier "__builtin_aarch64_srhaddv8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1012): error: identifier "__builtin_aarch64_srhaddv4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1018): error: identifier "__builtin_aarch64_urhaddv16qi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1025): error: identifier "__builtin_aarch64_urhaddv8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1032): error: identifier "__builtin_aarch64_urhaddv4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1039): error: identifier "__builtin_aarch64_addhnv8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1045): error: identifier "__builtin_aarch64_addhnv4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1051): error: identifier "__builtin_aarch64_addhnv2di" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1057): error: identifier "__builtin_aarch64_addhnv8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1064): error: identifier "__builtin_aarch64_addhnv4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1071): error: identifier "__builtin_aarch64_addhnv2di" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1078): error: identifier "__builtin_aarch64_raddhnv8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1084): error: identifier "__builtin_aarch64_raddhnv4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1090): error: identifier "__builtin_aarch64_raddhnv2di" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1096): error: identifier "__builtin_aarch64_raddhnv8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1103): error: identifier "__builtin_aarch64_raddhnv4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1110): error: identifier "__builtin_aarch64_raddhnv2di" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1117): error: identifier "__builtin_aarch64_addhn2v8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1123): error: identifier "__builtin_aarch64_addhn2v4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1129): error: identifier "__builtin_aarch64_addhn2v2di" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1135): error: identifier "__builtin_aarch64_addhn2v8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1143): error: identifier "__builtin_aarch64_addhn2v4si" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1151): error: identifier "__builtin_aarch64_addhn2v2di" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1159): error: identifier "__builtin_aarch64_raddhn2v8hi" is undefined

/usr/lib/gcc/aarch64-linux-gnu/5/include/arm_neon.h(1165): error: identifier "__builtin_aarch64_raddhn2v4si" is undefined

Error limit reached.
100 errors detected in the compilation of "/tmp/tmpxft_000045c3_00000000-7_i420_to_RGB.cpp1.ii".
Compilation terminated.

This is just an observation, not an answer. The user space in R23.x is 32-bit. NEON is also from the 32-bit compatibility mode that makes ARMv8 able to execute armhf. The errors tend to imply that some 32-bit compatibility mode library for NEON is missing.

If you are able to look at a working R23.x version, then “ldd” could show you what libraries are linked in…compare to ldd on R24.x, and it might show you what is missing. That missing component would be a 32-bit user space compatibility library related to NEON.

@mdotali @linuxdev. I am facing a very similar issue. Can you please suggest a solution to my problem: https://devtalk.nvidia.com/default/topic/996726/?comment=5096488