Hi there,
i run my Nvidia Jetson Nano with the standard Jetson Nano Developer Kit .
I need to install two programms in order to make an application work, that already work on my laptop with Ubuntu 18.04 and amd64.
Unfortunately i only have .deb file for amd64 or a .rpm for aarch64.
When I try to install the .deb sudo dpkg --install
or the .rpm sudo alien
in both causes the terminal tells me the package cannot be built on my system (arm64).
Is there an easy way to install the packages anyway?
Kind regards & happy new year
Which package is it? There is no chance of any kind of any easy solution for the wrong architecture on a Nano. What it comes down to is that the binary code has to work on that processor architecture. If the Nano were the same architecture, then you could simply extract files from the packages and then copy them in (not ideal even if it did work, but that won’t work for this case).
You mention and an rpm
file for aarch64
. aarch64
is the correct architecture, but something looking for a RedHat system might work if you extract the content and manually put files in place. There could be many dependencies not available on Ubuntu, and it could still be a long road to making it work, but it is possible.
Here is an article I found which can explain the extraction of the rpm:
https://blog.packagecloud.io/eng/2015/10/13/inspect-extract-contents-rpm-packages/
One of the tricks is that there will be more than just files. There are preinstall and postinstall scripts. You might might need to read that by hand and consider that some parts should be completed manually, and that other parts should be avoided. Most of the work will require you to use a Fedora/RedHat/CentOS machine, and then copy over to the Jetson. I can’t predict what you’ll run into, but I do recommend a clone backup before you start, and at minimum write down every change you make in case you want to manually back it out.
1 Like
Thank you for your detailed answer @linuxdev .
Unfortunately the packages i want to install are for a very specific research project and i’m the first human that tries to install them on a Jetson Nano, so i don’t know whether it’s technically possible. The .deb is configured for amd64 and the .rpm for aarch64, but for a Petalinux system.
I tried to use alien in order to install the .rpm and i got the error, that it can’t be installed because its for aarch64 ,but eventually i could execute alien by using the –target=arm64 flag. Anyway i couldn’t install the created .deb file, because of some libraries (python, boost-python and more), that aren’t available on Ubuntu 18.04. I could fix some errors by manually linking to other libraries, that work on ubuntu 18.04, but this only helped for some of the errors…
I also got the source code of the packages, they use Cmake to create the makefiles. But running make, i eventually end up with the same error as with the .rpm .
Are you sure, your suggestion is a safe road to install the packages or might there be an unsolvable problem?
Do you think it might be easier to try to install Petalinux on the Jetson Nano, to make the .rpm work?
It would not be unusual for a package in “.deb
” format to have a source package. The source package in theory could be rebuilt directly on the Jetson, and it would be of correct architecture (no guarantee the code can work that way, but since there is an aarch64…same thing as arm64…it seems reasonable that it would succeed. Are you able to get the source code, either in standalone format, or as a source package?
All of the following might be considered to be the same thing:
arm64
aarch64
ARMv8-a
ARM 64-bit
1 Like
@Nividiafanboy you would need source code to build it on jetson , as typically
deb/rpm are implemntations made of the source code for simplicity of deployent with package manager to this or that linux distro
if you get te source code you should be able to build it
it is either C/ cpp probably.
typically make or cmake are used to build from sources on any linux, unless the code is python
1 Like
Thank you for your advice @linuxdev and @Andrey1984 !
You were absolutely right, the solution was to use the source code from the developers. I already tried that unsuccessfully and ran into errors with python libraries, that aren’t available on Ubuntu 18.04, but i installed additionally python libraries and after restarting the system I could finally create *.deb’s with cmake and make package, that run on my system.