When I run: apt-get update I receive the following errors:

Err http://us.archive.ubuntu.com trusty/main armhf Packages 404 Not Found [IP: 80] Err http://us.archive.ubuntu.com trusty/universe armhf Packages 404 Not Found [IP: 80] Err http://us.archive.ubuntu.com trusty-updates/main armhf Packages 404 Not Found [IP: 80] Err http://us.archive.ubuntu.com trusty-updates/universe armhf Packages 404 Not Found [IP: 80]

Ign http://us.archive.ubuntu.com trusty/main Translation-en_US

Ign http://us.archive.ubuntu.com trusty/universe Translation-en_US

W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/trusty/main/binary-armhf/Packages 404 Not Found [IP: 80]

W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/trusty/universe/binary-armhf/Packages 404 Not Found [IP: 80]

W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/trusty-updates/main/binary-armhf/Packages 404 Not Found [IP: 80]

W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/trusty-updates/universe/binary-armhf/Packages 404 Not Found [IP: 80]

E: Some index files failed to download. They have been ignored, or old ones used instead.

I cleared /etc/apt/sources.list and /etc/apt/sources.list.d and reverted to trusty main repos, e.g, the output of cat /etc/apt/sources.list is simply:

###### Ubuntu Main Repos deb http://us.archive.ubuntu.com/ubuntu/ trusty main universe deb-src http://us.archive.ubuntu.com/ubuntu/ trusty main universe

###### Ubuntu Update Repos deb http://us.archive.ubuntu.com/ubuntu/ trusty-updates main universe deb-src http://us.archive.ubuntu.com/ubuntu/ trusty-updates main universe

What triggers the package manager to look for the binary-armhf directory and how can I stop these errors when updating my packages?

Why is my distro searching for the binary-armhf directory? I'm have an intel i7 and don't believe it uses the arm instruction set, doesn't it have its own x86_64 (I could be wrong, I don't know much about cpu architecture)?

In case it is helpful, the output of cat /proc/cpuinfo for on of my cores is:

processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 44 model name : Intel(R) Core(TM) i7 CPU X 990 @ 3.47GHz stepping : 2 microcode : 0x13 cpu MHz : 1600.000 cache size : 12288 KB physical id : 0 siblings : 12 core id : 0 cpu cores : 6 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 11 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt aes lahf_lm ida arat epb dtherm tpr_shadow vnmi flexpriority ept vpid bogomips : 6941.82 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:

Thanks for any direction, I've been struggling with this for a while.

  • After you reset your sources.list are you still experiencing this problem?
    – Seth
    Oct 30, 2014 at 18:21
  • @spk593 Possibly a duplicate of http://askubuntu.com/questions/499986/apt-get-update-does-not-work
    – BDRSuite
    Oct 30, 2014 at 19:36
  • @Seth Yes all the output I posted was after I reset the sources.list and sources.list.d
    – spk593
    Oct 30, 2014 at 19:41
  • @vembutech I don't believe this is a duplicate. A part of the question is why is the package manager searching for /binary-armhf because I don't believe it should be in the first place. I'm also looking at the trusty repo which is the most up-to-date.
    – spk593
    Oct 30, 2014 at 19:44

2 Answers 2


It is likely that you have installed (for example) armhf cross tools (compiler, linker, etc.) that add armhf as foreign architecture. You can verify this by running:

dpkg --print-foreign-architectures

You can remove the foreign architecture by running:

sudo dpkg --force-architecture --remove-architecture armhf

For me, the package adding armhf as foreign architecure was cuda-cross-armhf-6-5.

  • 2
    What if I want the foreign architectures for cross-compilation? How do I fix the apt error?
    – Alex
    Nov 16, 2015 at 23:21
  • See stackoverflow.com/questions/39558847/… you have to prefix your apt repo entries with the specific arch.
    – Kevin
    Dec 24, 2016 at 2:45
  • @kevinf: Does your hint about the arch prefix adding also applies to Ubuntu 14.04 (trusty)? Or in other words: Where is the trusty armhf directory to be found on the Ubuntu servers?
    – pefu
    May 16, 2017 at 10:03
  • @pefu yes it works on Trusty.. all the distributions found on a mirror can be found at this path: ports.ubuntu.com/ubuntu-ports/dists
    – Kevin
    May 16, 2017 at 14:39
  • 1
    You saved my life!
    – Kino
    Apr 8, 2019 at 2:12

I finally found the answer!

apt-get update using binary-x64 instead of binary-amd64 and failing

I am still unclear as to how and why the foreign architectures are populated for the package manager but removing the armhf entry stops the search for the non-existent directory in the trusty repo.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .