Hi guys,
First time poster although being a mild lurker of the forum, I wish to report an issue that has troubled my colleagues and I at work for several weeks with the JetPack version 2.1 and Jetson TK1 board.
We were trying to figure out how to have Vision Works with CUDA 7.5 in a HOST x86_64 machine as it is said that in CUDA 7.5 you could work both with Jetson TK1 and TX1 boards, but after several installations trying to solve dependencies with cuDDn, CUDA 7.5 and Vision Works packages (extracted from the JetPack 2.0 _install/jetson.download folder), we gave up on the idea and switched to install either JetPack 2.0 or JetPack 2.1 in Ubuntu Mate 14.04 (unofficial flavour of Ubuntu 14.04 yet supported by the Mate project, as the official flavour of Mate is supported in Ubuntu 15.04 which is not officially supported by JetPack versions).
Therefore, after reading the terminal messages, we saw that Ubuntu Mate 14.04 doesn’t have xterm natively -terminal which nVidia JetPack uses to install its programs/packages once downloaded (please, could you add this tip in your plain text installation guide?). Then we installed xterm, and JetPack 2.0 was installed without any additional effort BUT JetPack 2.1 was returning launch after launch “Error: JetPack must be run on x86_64 HOST platform. Detected platform.”.
Hence, we searched through the forums suggesting tips as executing:
sudo ./JetPack-L4T-2.1-linux-x64.run --noexec
in order to extract the JetPack 2.1 files and then, on EdwardZhou’s suggestion, entering in the newly created folder _installation/ and executing:
./start_up.sh
…but the message “Error: JetPack must be run on x86_64 HOST platform. Detected platform.” was again reaching our displays but in one system with a relatively old installation of Ubuntu 14.04. Then we wondered what was going on with JetPacks, trying to figure out if it would be related with the USB installation and more what-ifs.
However, we decided to make a leap of faith and try JetPack 2.1 in a fresh Ubuntu 14.04.04 installation…with similar consequences, but still, did not give in. So we extracted the installation files of the JetPack 2.1 with the --noexec option and looked at the files that were extracted. In these files there is a Launcher, which will execute properly BUT don’t proceed with the installation of the packages once they were downloaded…so we were cornering the problem bit by bit (no pun intended).
Culprit: we decided to take a look at start_up.sh and, please, read the first lines of if:
arch=`lscpu | grep Architecture | awk '{ printf \$2 }'`
What if you have natively installed Ubuntu in another language which is not English (i.e. Spanish)? That when executing the instruction lscpu on a terminal you will find this output (notice that Architecture in Spanish is ‘Arquitectura’):
Arquitectura: x86_64
Patch: as you MUST have English as your native installation language (although you can change the language that is used in your keyboard and display later on, for non-English users), you MUST change it (how to do it, over here, thanks in advance!):
- Verify/install English language package in your machine
sudo apt-get install language-pack-en
- Go to /etc/default/locale with super-user privileges with your favourite text editor, i.e, nano
sudo nano /etc/default/locale
and whichever the language you have in this file i.e. LANG=“es_ES.UTF-8” for Spanish, you have to insert your favourite English language. In this case, we will use i.e. British English. Remember to put the ‘#’ character before the line you want to comment and then, render it ineffective to the OS.
#LANG="es_ES.UTF-8"
LANG="en_GB.UTF-8"
- Restart your machine and launch JetPack 2.1 as specified by the nVidia installation instructions
sudo ./JetPack-L4T-2.1-linux-x64.run
…et voilà! it nicely worked out :D
Solution: please, whoever is in charge of the JetPack and VisionWorks project, please, change the first instruction to uname -i to verify that the architecture of the installation is x86_64. Some proof of this statement is found in uname --help
-i, --hardware-platform print the hardware platform or "unknown"
Also, I haven’t checked neither tried to modify the file start_up.sh with this solution as I cannot foresee neither have the original code of the Launcher file or the rest of the packages that are uncompressed on the _installation folder, as I won’t spend more time trying to solve probably broken dependencies, etc.
Hope I have been helpful and please, nVidia, professional devs will be glad to have a trusted and tested dev tools without having troublesome-but-stupid errors like this, hence doubting on recommending VisionWorks and your embedded chips TK1 and TX1 for embedded projects because of these issues.
Kindly,
Yueh.