web-dev-qa-db-ja.com

armhfクロスコンパイルリポジトリは削除されましたか?

Ubuntuはarmhfパッケージを忘れたようです。何か不足していますか?

この単純なDockerfileで問題を再現できます。

    FROM ubuntu
    USER root
    RUN dpkg --add-architecture armhf
    RUN apt-get update

しかし、明らかにubuntuリポジトリはこれを知らないのですか?

    E: Failed to fetch http://security.ubuntu.com/ubuntu/dists/xenial-security/main/binary-armhf/Packages  404  Not Found [IP: 91.189.88.152 80]
    E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial/main/binary-armhf/Packages  404  Not Found [IP: 91.189.88.161 80]
    E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/binary-armhf/Packages  404  Not Found [IP: 91.189.88.161 80]
    E: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/xenial-backports/main/binary-armhf/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.

支援は大歓迎です

3
Stephan

ありがとう!掘り下げた後、sources.listにパッチを適用してポートを含める必要があることに気付きました

    FROM ubuntu
    USER root
    RUN sed -i "s/^deb /deb \[Arch=$(dpkg --print-architecture)] /" /etc/apt/sources.list
    RUN for SUFFIX in "" "-updates" "-security"; do \
      echo "deb [Arch=armhf] http://ports.ubuntu.com/ubuntu-ports/ xenial${SUFFIX} main restricted universe multiverse" \
      >> /etc/apt/sources.list.d/armhf.list; \
    done
    RUN dpkg --add-architecture armhf
    RUN apt-get update

このスクリプトの起源がよくわからないことに注意してください。

1
Stephan