Nsight: Jetson: Debug builds and runs on target, but Release reports error:

make: *** No rule to make target /usr/lib/gcc/x86_64-linux-gnu/4.8/include/stddef.h', needed by src/boxFilter.o’. Stop.

this should likely be: /usr/lib/gcc/arm-linux-gnueabihf/4.8/include/stddef.h

but unclear to me what to do?

Jetson with JetPack ubuntu14.04 R21

BoxFilter as in

“Debug builds and runs on target, but Release reports error”

then perhaps compare the project includes of the debug build with that of the release build

the header/ path is likely included for/ under the debug build, but not the release build…?

project - properties - general - paths and symbols - includes – toggle between the build/ release configurations

after a careful check of project - properties - general - paths and symbols - includes

the only difference I can find is in order, otherwise they appear to be the same.

/usr/lib/gcc/x86_64-linux-gnu/ is not present on Jetson target.
but is listed in includes…

so where does the debug build source stddef.h from, as needed by src/boxFilter.o…?

it seems as if the debug build is able to source the required header, given its includes, but the release build can not

does the debug build include /usr/lib/gcc/arm-linux-gnueabihf/4.8/include/stddef.h? [/usr/lib/gcc/arm-linux-gnueabihf/4.8/include/]

what happens when you include /usr/lib/gcc/arm-linux-gnueabihf/4.8/include/stddef.h [/usr/lib/gcc/arm-linux-gnueabihf/4.8/include/] under the release build

what language are you looking under paths and symbols? there are 4

also look at properties - build - tool settings and see whether the includes are the same for the debug/ release build

I looked under all 4 languages, they are similar

Properties Build Settings Includes are identical

certainly the boxfilter.d Debug and Release source files are very different, not sure why…
ie /usr/include/arm-linux-gnueabihf/ vs /usr/include/x86_64-linux-gnu/

there are ~100 lines that are different, not all are exactly as above but all relate to similar issue.
arm-linux-gnueabihf - x86_64-linux-gnu

hence I do not think its specific to stddef.h

how do you draw the boxfilter source into your project?

i occasionally get the ‘No rule to make target’ when i include static/ shared libraries

what i think is very clear, is that the compiler/ linker is missing a header; i am just not sure where it expects to look for it, or get to it

i may simply be a case of specifying the include, or you may have to check the path variable (especially important with release build, with shared libraries i would think)

any difference between project - paths and symbols - libraries/ library paths between the debug/ release build?

I am doing as little as possible, as I am just starting…

create host and target folders with same name

New Cuda C/C++ Project Import CUDA Sample Box Filter

Basic Settings PTX / GPU 3.2

Target Systems ARM

Properties->Build->Settings->Tool Settings->NVCC Linker->Libraries->Library search path(-L)
Properties->Build->Settings->Tool Settings->NVCC Linker->Miscellaneous->Compiler Path (-ccbin)
Properties->Build->Settings->Tool Settings->NVCC Compiler->Build Stages->Compiler Path (-ccbin)

and that is literally that.


seems I misinterpreted [All Configurations]

basically data input as above for Release [Active] as well as Debug [Active]

not clear on purpose of [All Configurations]