17
W: Invalid 'Date' entry in Release file /var/lib/apt/lists/_var_cuda-repo-8-0-local_Release
N: Skipping acquire of configured file 'non-free/binary-arm64/Packages' as repository 'http://repository.spotify.com stable InRelease' doesn't support architecture 'arm64'
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial/main/binary-arm64/Packages  404  Not Found [IP: 91.189.88.161 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/binary-arm64/Packages  404  Not Found [IP: 91.189.88.161 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial-backports/main/binary-arm64/Packages  404  Not Found [IP: 91.189.88.161 80]
E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial-security/main/binary-arm64/Packages  404  Not Found [IP: 91.189.88.161 80]
E: Some index files failed to download. They have been ignored, or old ones used instead.

After I installed Jetpack for Jetson tx1, my ubuntu constantly tries to fetch arm updates. Is there a way to disable this?

EDIT:

$dpkg --print-architecture
amd64

$dpkg --print-foreign-architectures
i386
arm64

I see that arm64 is included in foreign architectures. How do I remove it?

MoneyBall
  • 623

4 Answers4

20

You can remove a foreign architecture by running

sudo dpkg --remove-architecture arm64

After that, you need to update your software lists.

sudo apt update

If you still get some errors or warnings, you can try deleting all your software lists and completely re-downloading them from the server, to make sure nothing old is left. Note that the complete download will take a bit longer than usual:

sudo rm -rf /var/lib/apt/lists
sudo apt update
Byte Commander
  • 107,489
  • 1
    I get dpkg: error: cannot remove architecture 'arm64' currently in use by the database which is odd because i don't think i'm using it... – MoneyBall May 20 '17 at 12:06
  • @MoneyBall Can you add the output of dpkg -l | grep arm64 to your question? Seems like some arm64 packages are installed, which you would have to remove first. – Byte Commander May 20 '17 at 12:28
  • ah crap... I have arm64 cross compiler... but I successfully removed armhf which was a pain. Thank you. – MoneyBall May 20 '17 at 12:31
  • do you know how i can make apt-get update to stop fetching arm64 packages? How do i get rid of those 404 not found errors? – MoneyBall May 20 '17 at 12:34
  • They will be gone as soon as the arm64 architecture is removed. I don't know if you can tell apt to not check for these repositories otherwise. – Byte Commander May 20 '17 at 12:43
  • 3
    Is there a way to remove the arm64 from the database, I'm having the same issues. EDIT sudo dpkg --force-architecture --remove-architecture arm64 and sudo rm -rf /var/lib/apt/lists with sudo apt update fixed it. – weezle1234 Feb 27 '18 at 04:16
8

Faced same issue while working with jetson-tx2 arm64. This manual refers the solution in advanced setup scenario It turns out you can't remove architecture without removing packages.

This is useful when a foreign architecture has been added, causing "404 Not Found" errors to appear when the repository meta-data is updated. For example, if you wanted to restrict a repository to only the amd64 and i386 architectures, it would look like:

deb [arch=amd64,i386] <url>

Provide the above option for all repositories in "sudo gedit /etc/apt/sources.list"

Now "sudo apt update" and it will fetch only from amd64 and i386.

2

I had this same issue and as Byte Commander mentioned if you cant directly run

sudo dpkg --remove-architecture arm64

You have have bunch of cross-compile arm64 packages installed and need to run this before removing arm64. Run the following commands in the order listed:

sudo apt autoremove 
sudo dpkg --remove-architecture arm64
sudo apt-get update 
Hesham
  • 21
0

The same happened to me. I was not able to apt update, nor to apt upgrade, because arm64 Package updates failed in 404 Error.

dpkg gave me the output:

$ dpkg --print-foreign-architectures
i386
arm64

Looking at my installed arm64 packages showed that there was some cross-compiling stuff installed by Jetpack:

$ dpkg -l | grep arm64
ii  cuda-cudart-cross-aarch64-9-0:arm64  9.0.252-1           arm64   CUDA Runtime cross-aarch64 dev links, headers
ii  libc6-arm64-cross                    2.23-0ubuntu3cross1 all     GNU C Library: Shared libraries (for cross-compiling)
ii  linux-libc-dev-arm64-cross           4.4.0-18.34cross1   all     Linux Kernel Headers for development (for cross-compiling)
...

My solution:

I just ran the Jetpack Uninstaller, which cleared all those cross-compiling packages as well as the arm64 architecture:

$ ./JetPack_Uninstaller

Afterwards I was able again to use apt properly.