Problem with compiling nvsipl_camera locally on xavier

Please provide the following info (check/uncheck the boxes after creating this topic):
Software Version
[*] DRIVE OS Linux 5.2.6
DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version
other

Target Operating System
[*] Linux
QNX
other

Hardware Platform
[*] NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)
other

SDK Manager Version
[*] 1.6.0.8170
other

Host Machine Version
[*] native Ubuntu 18.04
other

I tried to compile nvsiple_camera sample on Xavier board.
I copied the code from my local machine at ~/nvidia/nvidia_sdk/DRIVE_OS_5.2.6_SDK_Linux_OSWithSamples_DRIVE_AGX_XAVIER/DRIVEOS/drive-t186ref-linux/samples/nvmedia/nvsipl
to xavier, then modified the makefile and nvdef.mk to make it compile successfully.
But executing the nvsipl_camera resulted in error:

./nvsipl_camera 
602: Memory Manager Not supported



****NvRmMemInit failed****


*** NvRmMemInit failed NvRmMemConstructor
No platform configuration specified.

Running cross-compiled sample does not have that error:

./nvsipl_camera 
No platform configuration specified.

Why there is difference between the crossed compiled on and the locally compiled one? How can I make the locally compiled sample work?

Hi @leqiang.wang,

May I know why you need to compile it on the target system?

I want to start working on my sample from modifying the sample

It is recommended to use host system + cross compiler as development environment instead of the target system?

Yes, cross compilation is the way to go because DRIVE OS target components don’t have everything for compilation on the target system.
For example, cuda toolkit isn’t installed onto the target system from DRIVE OS 5.2.0. Please refer to Missing some components when installing DRIVE OS 5.2.0.

1 Like

Does those local compilation failures result from absence of some dependency? Can i solve the problem (i.e. this NvRmMemInit failed) by copying libs from local host or installing missing dependencies?
If we need to compile some code that depends on our internal packages, we should compile the code locally and use our own package system, so setting up local dev environment is important for us.

Please see above

Can you cross-compile code with your internal packages on the host? I think aligning with our release coverage is a better way.