Cross Compilation for Jetson Xavier Nx on x86 Windows Host using Docker Containers

Hello,

I have problems to setup a docker container on a x86 windows host system that shall be used to compile C++ code for a custom board that uses the Jetson Xavier NX.

I was generally following this guide using an Ubuntu 18:04 image installing the required packages in the docker container:

https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#cross-platform

However, it seems that this guide is deprecated and hasn’t been updated for months. Thus, the installation of the package

sudo apt-get install cuda-cross-aarch64

doesn’t seem to be possible for the new cuda versions (package is not found anymore) and you have to rely on the Nvidia SDK manager which includes all needed packages. Is that correct?

The problem is now, how do I install the SDK manager properly in my docker container as no dedicated ubuntu package is available as far as I know?
Adding the downloaded file for the installation to the container seems to be rather cumbersome.
What purpose has the SDK manager docker image? This docker image seems to be only containing the sdk manager itself. It is not clear for me how to use it for my needs and the docs seem to not provide much clarification in that regard?

It would be great if you could update the docs concerning Cross Compilation using the SDK manager because it is somehow unintuitive.
Or maybe I am missing an updated documentation page?
Any help or advices are really appreciated.

Hi,

First, please use SDK manager to setup the environment.

SDK manager docker is for the user that their environment is not Ubuntu 18.04.
In general, you can see it as a cross-platform JetPack installer.

However, you need an Ubuntu environment as host first.
So please launch a Ubuntu docker, which will be the cross-compiling environment for you.
And run the SDK manager docker inside the Ubuntu docker to setup the libraries.

Thanks.

Thanks for the reply.

I copied the sdk manager .deb file into my container and installed the sdk manager in ubuntu:18.04.
Now I want to install the libraries via the command line tool .
However, I can’t perform the installation due to login issues. I can’t specify a username:

–user is not required when logging in with developer.nvidia.com

Using the following command to install JetPack Libraries on the host:

sdkmanager --cli install --logintype devzone --product Jetson --version 4.6 --targetos Linux --host --license accept

The following dialog occurs:

No update is available.
To initiate login process open Sign In in a browser or scan the QR code on your handheld device then login with your NVIDIA Developer account. SDK Manager will start once done.
Login user code: 10778143. (valid for: 10 minutes).
? SDK Manager is waiting for you to complete login. Generate a new login user code
New login code generated
To initiate login process open Sign In in a browser or scan the QR code on your handheld device then login with your NVIDIA Developer account. SDK Manager will start once done.
Login user code: 57035840. (valid for: 10 minutes).
? SDK Manager is waiting for you to complete login.

  1. Generate a new login user code
  2. Display the QR Code
  3. Cancel login
    Answer:

Now I am allowed to type something to answer. What do I have to fill in? The displayed code does not work. Can I somehow skip the needed interaction and directly install the desired files?
Are the libraries installed on the host equivalent to the ones I would get when installing my target and then copying the libs to the host, mounting them to be used for compilation?

Best regards and thanks for the support!

Ok, ihad to use the browser to open the window and the ncomplete log in there, the process automatically proceeded afterwards.

The question remains whether these libraries that I install in my docker container are equivalent to those I would use when copying the data directly from the target and mounting those to cross link and cross compile?

Thanks in advance!

PS: I dunno why nvidia decided to use this internet browser log in dependence…

Okay, while installing the libraries, I got a problem, being stuck when 99% of the Computer Vision component is reached due to the selection of the time zone which is not possible for me. I cant type in a number. It is caused by the VPI on Host package.
Is there a possibility to workaround this problem?

Retrying the process results in the following messages:

I fixed the error by setting the geographic area and time zone in ubuntu when building the docker container before installing JetPack. Otherwise this error will occur in the end of the installation resulting in a non-successful install.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.