I installed Nvidia Jetpack 2.2 on my laptop (host) in order to install various Nvidia SDKs (CUDA, opencv4tegra, etc) on the Jetson TX-1 (the target).
I was trying to install a deb package on my laptop today. So I did
sudo apt-get update
And got this
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/trusty-security/InRelease Unable to find expected entry ‘main/binary-aarch64/Packages’ in Release file (Wrong sources.list entry or malformed file)
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty-updates/InRelease Unable to find expected entry ‘universe/binary-aarch64/Packages’ in Release file (Wrong sources.list entry or malformed file)
W: Failed to fetch http://packages.ros.org/ros/ubuntu/dists/trusty/InRelease Unable to find expected entry ‘main/binary-aarch64/Packages’ in Release file (Wrong sources.list entry or malformed file)
W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/trusty/Release Unable to find expected entry ‘main/binary-aarch64/Packages’ in Release file (Wrong sources.list entry or malformed file)
W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/trusty/Release Unable to find expected entry ‘universe/binary-aarch64/Packages’ in Release file (Wrong sources.list entry or malformed file)
It seems that apt-get was looking for aarch64 (which is 64 bit ARM architecture) when getting packages … I am guessing.
dpkg --print-foreign-architectures
i386
aarch64
dpkg --print-architecture
amd64
Those two commands show that I have two foreign architectures, 32 bit x86 and 64 bit ARM… but my “main” architecture is 64bit x86 (amd64).
So, it seems that Nvidia Jetpack installed these aarch64 packages… probably for cross compiling for the 64bit ARM TX1 target.
dpkg --get-selections | grep aarch64
binutils-aarch64-linux-gnu install
cpp-4.8-aarch64-linux-gnu install
cpp-aarch64-linux-gnu install
cuda-cross-aarch64-7-0 install
cuda-cublas-cross-aarch64-7-0 install
cuda-cudart-cross-aarch64-7-0 install
cuda-cufft-cross-aarch64-7-0 install
cuda-curand-cross-aarch64-7-0 install
cuda-cusolver-cross-aarch64-7-0 install
cuda-cusparse-cross-aarch64-7-0 install
cuda-driver-cross-aarch64-7-0 install
cuda-misc-headers-cross-aarch64-7-0 install
cuda-npp-cross-aarch64-7-0 install
cuda-nvrtc-cross-aarch64-7-0 install
g+±4.8-aarch64-linux-gnu install
g+±aarch64-linux-gnu install
gcc-4.8-aarch64-linux-gnu install
gcc-4.8-aarch64-linux-gnu-base install
But I don’t understand why my laptop’s package manager looks for 64bit ARM architecture when getting other packages now? It seems to be looking for 64bit ARM binaries for the MongoDB debs, for example. This is very bad!
Anyways, I have a temporary fix by doing this on my sources.list(s).
deb [arch=amd64] Index of ubuntu trusty/mongodb-org/3.2 multiverse,
instead of deb Index of ubuntu trusty/mongodb-org/3.2 multiverse
Which I think forces it to look for amd64 (x86_64) instead.
But I am curious if this is a Jetpack issue/bug.
Someone else seem to have this issue as well.
http://askubuntu.com/questions/797659/apt-get-update-failing
Their comment: “using dpkg --get-selections | grep aarch64 | awk ‘{print $1}’ showed me why I have them all installed. I installed jetpack from nvidia to install a board called Nvidia jetson tx1. I am investigating some stuff :)”
What’s a good solution to this problem?