Кросс-компиляция debian: контейнер jessie

Я пытаюсь создать докер-контейнер для кросс-компиляции armhf.

Я следовал руководству по адресу https://wiki.debian.org/CrossToolchains и, насколько я понимаю, ниже достаточно Dockerfile. К сожалению, он не может найти зависимости gcc-arm-linux-gnueabihf и g++-arm-linux-gnueabihf.

FROM debian:jessie

# Install curl so that we can download the keys
RUN apt-get update && apt-get install -y curl

RUN echo "deb http://emdebian.org/tools/debian/ jessie main" > /etc/apt/sources.list.d/crosstools.list
RUN curl http://emdebian.org/tools/debian/emdebian-toolchain-archive.key | apt-key add -

RUN dpkg --add-architecture armhf

RUN apt-get update && apt-get install -y cross-gcc-dev
RUN apt-get install -y crossbuild-essential-armhf

BUILD:

sudo docker build .
Sending build context to Docker daemon  113.7kB
Step 1/7 : FROM debian:jessie
 ---> 5dd74d62fab8
Step 2/7 : RUN apt-get update && apt-get install -y curl
 ---> Using cache
 ---> cb5a560dc472
Step 3/7 : RUN echo "deb http://emdebian.org/tools/debian/ jessie main" > /etc/apt/sources.list.d/crosstools.list
 ---> Using cache
 ---> 6674219e5502
Step 4/7 : RUN curl http://emdebian.org/tools/debian/emdebian-toolchain-archive.key | apt-key add -
 ---> Using cache
 ---> ce46e0f134a4
Step 5/7 : RUN dpkg --add-architecture armhf
 ---> Using cache
 ---> 88e77df3eb4a
Step 6/7 : RUN apt-get update && apt-get install -y cross-gcc-dev
 ---> Using cache
 ---> 03982cdb62c7
Step 7/7 : RUN apt-get install -y crossbuild-essential-armhf
 ---> Running in 6700f9deb70c
Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 crossbuild-essential-armhf : Depends: gcc-arm-linux-gnueabihf (>= 4.9.1-1) but it is not going to be installed
                              Depends: g++-arm-linux-gnueabihf (>= 4.9.1-1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
The command '/bin/sh -c apt-get install -y crossbuild-essential-armhf' returned a non-zero code: 100

Может кто-нибудь, пожалуйста, укажите мне в правильном направлении? Я знаю, что есть другие контейнеры, которые уже выполняют кросс-компиляцию, но для меня важно создать свой собственный.

0 ответов

Другие вопросы по тегам