Docker CrossCompile Debian build-essential: armff неудовлетворенные зависимости

Я пытаюсь переместить виртуальную виртуальную машину на образ докеры. Мы используем VirtualBox для перекрестного копирования исходного кода для устройства armhf (что-то на основе BeagleBone)

У меня проблемы с RUN apt-get install -y build-essential:armhf
Полный код Docker выглядит следующим образом:

  • Инструмент для просмотра последних версий программного обеспечения от восходящего потока?
  • Соответствующая команда Debian для add-apt-repository?
  • Связывание интерфейсов Ethernet
  • Запустить программу после завершения подключения ssh
  • ssh-agent не работает должным образом
  • Как определить долю samba, чтобы каждый пользователь мог видеть только свой дом?
  •  FROM debian:jessie RUN apt-get update RUN apt-get upgrade RUN apt-get install -y build-essential module-assistant curl git cmake RUN curl http://emdebian.org/tools/debian/emdebian-toolchain-archive.key | apt-key add - RUN echo "deb http://emdebian.org/tools/debian jessie main" > /etc/apt/sources.list.d/crosstools.list RUN dpkg --add-architecture armhf RUN apt-get update RUN apt-get install -y crossbuild-essential-armhf RUN apt-get install -y curl:armhf RUN apt-get install -y libcurl4-openssl-dev:armhf openssl:armhf RUN apt-get install -y build-essential:armhf RUN apt-get install -y libssl-dev:armhf 

    При запуске сборки docker возникает следующая ошибка:

     Step 12/13 : RUN apt-get install -y build-essential:armhf ---> Running in ca5a82d30cc7 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: build-essential:armhf : Depends: gcc:armhf (>= 4:4.9.1) but it is not going to be installed Depends: g++:armhf (>= 4:4.9.1) but it is not going to be installed Depends: make:armhf E: Unable to correct problems, you have held broken packages. The command '/bin/sh -c apt-get install -y build-essential:armhf' returned a non-zero code: 100 

    Если я смотрю на историю bash на виртуальной машине, она выглядит одинаково. В чем проблема с моим кодом Docker?

    EDIT: выход с -o Debug :: pkgProblemResolver = да:

      Starting pkgProblemResolver with broken count: 2 Starting 2 pkgProblemResolver with broken count: 2 Investigating (0) dpkg-dev [ amd64 ] < 1.17.27 > ( utils ) Broken dpkg-dev:amd64 Depends on make [ amd64 ] < 4.0-8.1 > ( devel ) Considering make:amd64 1 as a solution to dpkg-dev:amd64 2 Added make:amd64 to the remove list Broken dpkg-dev:amd64 Depends on binutils [ amd64 ] < 2.25-5+deb8u1 > ( devel ) Considering binutils:amd64 1 as a solution to dpkg-dev:amd64 2 Added binutils:amd64 to the remove list Fixing dpkg-dev:amd64 via keep of make:amd64 Fixing dpkg-dev:amd64 via keep of binutils:amd64 Investigating (0) binutils [ armhf ] < none -> 2.25-5+deb8u1 > ( devel ) Broken binutils:armhf Conflicts on binutils [ amd64 ] < 2.25-5+deb8u1 > ( devel ) Considering binutils:amd64 1 as a solution to binutils:armhf 2 Added binutils:amd64 to the remove list Fixing binutils:armhf via remove of binutils:amd64 Investigating (0) make [ amd64 ] < 4.0-8.1 > ( devel ) Broken make:amd64 Conflicts on make [ armhf ] < none -> 4.0-8.1 > ( devel ) Considering make:armhf 0 as a solution to make:amd64 1 Added make:armhf to the remove list Fixing make:amd64 via keep of make:armhf Investigating (0) binutils-arm-linux-gnueabihf [ amd64 ] < 2.25-5 > ( devel ) Broken binutils-arm-linux-gnueabihf:amd64 Depends on binutils [ amd64 ] < 2.25-5+deb8u1 > ( devel ) Considering binutils:amd64 1 as a solution to binutils-arm-linux-gnueabihf:amd64 1 Removing binutils-arm-linux-gnueabihf:amd64 rather than change binutils:amd64 Investigating (1) build-essential [ armhf ] < none -> 11.7 > ( devel ) Broken build-essential:armhf Depends on make [ armhf ] < none -> 4.0-8.1 > ( devel ) Considering make:armhf 0 as a solution to build-essential:armhf 9999 Re-Instated make:armhf Investigating (1) dpkg-dev [ amd64 ] < 1.17.27 > ( utils ) Broken dpkg-dev:amd64 Depends on binutils [ amd64 ] < 2.25-5+deb8u1 > ( devel ) Considering binutils:amd64 1 as a solution to dpkg-dev:amd64 2 Added binutils:amd64 to the remove list Fixing dpkg-dev:amd64 via keep of binutils:amd64 Investigating (1) gcc-4.9-arm-linux-gnueabihf [ amd64 ] < 4.9.2-10 > ( devel ) Broken gcc-4.9-arm-linux-gnueabihf:amd64 Depends on binutils-arm-linux-gnueabihf [ amd64 ] < 2.25-5 > ( devel ) (>= 2.25) Considering binutils-arm-linux-gnueabihf:amd64 1 as a solution to gcc-4.9-arm-linux-gnueabihf:amd64 2 Added binutils-arm-linux-gnueabihf:amd64 to the remove list Fixing gcc-4.9-arm-linux-gnueabihf:amd64 via keep of binutils-arm-linux-gnueabihf:amd64 Investigating (1) binutils [ armhf ] < none -> 2.25-5+deb8u1 > ( devel ) Broken binutils:armhf Conflicts on binutils [ amd64 ] < 2.25-5+deb8u1 > ( devel ) Considering binutils:amd64 1 as a solution to binutils:armhf 2 Added binutils:amd64 to the remove list Fixing binutils:armhf via remove of binutils:amd64 Investigating (1) make [ amd64 ] < 4.0-8.1 > ( devel ) Broken make:amd64 Conflicts on make [ armhf ] < none -> 4.0-8.1 > ( devel ) Considering make:armhf 0 as a solution to make:amd64 1 Added make:armhf to the remove list Fixing make:amd64 via keep of make:armhf Investigating (1) binutils-arm-linux-gnueabihf [ amd64 ] < 2.25-5 > ( devel ) Broken binutils-arm-linux-gnueabihf:amd64 Depends on binutils [ amd64 ] < 2.25-5+deb8u1 > ( devel ) Considering binutils:amd64 1 as a solution to binutils-arm-linux-gnueabihf:amd64 1 Removing binutils-arm-linux-gnueabihf:amd64 rather than change binutils:amd64 Investigating (2) build-essential [ armhf ] < none -> 11.7 > ( devel ) Broken build-essential:armhf Depends on make [ armhf ] < none -> 4.0-8.1 > ( devel ) Considering make:armhf 0 as a solution to build-essential:armhf 9999 Considering make-guile:armhf -1 as a solution to build-essential:armhf 9999 Re-Instated libgc1c2:armhf Re-Instated libltdl7:armhf Re-Instated libtinfo5:armhf Re-Instated libncurses5:armhf Re-Instated libreadline6:armhf Re-Instated libunistring0:armhf Re-Instated guile-2.0-libs:armhf Re-Instated make-guile:armhf Investigating (2) dpkg-dev [ amd64 ] < 1.17.27 > ( utils ) Broken dpkg-dev:amd64 Depends on binutils [ amd64 ] < 2.25-5+deb8u1 > ( devel ) Considering binutils:amd64 1 as a solution to dpkg-dev:amd64 2 Added binutils:amd64 to the remove list Fixing dpkg-dev:amd64 via keep of binutils:amd64 Investigating (2) gcc-4.9-arm-linux-gnueabihf [ amd64 ] < 4.9.2-10 > ( devel ) Broken gcc-4.9-arm-linux-gnueabihf:amd64 Depends on binutils-arm-linux-gnueabihf [ amd64 ] < 2.25-5 > ( devel ) (>= 2.25) Considering binutils-arm-linux-gnueabihf:amd64 1 as a solution to gcc-4.9-arm-linux-gnueabihf:amd64 2 Added binutils-arm-linux-gnueabihf:amd64 to the remove list Fixing gcc-4.9-arm-linux-gnueabihf:amd64 via keep of binutils-arm-linux-gnueabihf:amd64 Investigating (2) binutils [ armhf ] < none -> 2.25-5+deb8u1 > ( devel ) Broken binutils:armhf Conflicts on binutils [ amd64 ] < 2.25-5+deb8u1 > ( devel ) Considering binutils:amd64 2 as a solution to binutils:armhf 2 Holding Back binutils:armhf rather than change binutils:amd64 Investigating (2) make [ amd64 ] < 4.0-8.1 > ( devel ) Broken make:amd64 Conflicts on make-guile [ armhf ] < none -> 4.0-8.1 > ( devel ) Considering make-guile:armhf -1 as a solution to make:amd64 1 Added make-guile:armhf to the remove list Fixing make:amd64 via keep of make-guile:armhf Investigating (3) build-essential [ armhf ] < none -> 11.7 > ( devel ) Broken build-essential:armhf Depends on make [ armhf ] < none -> 4.0-8.1 > ( devel ) Considering make:armhf 0 as a solution to build-essential:armhf 9999 Considering make-guile:armhf 1 as a solution to build-essential:armhf 9999 Investigating (3) gcc-4.9 [ armhf ] < none -> 4.9.2-10 > ( devel ) Broken gcc-4.9:armhf Depends on binutils [ armhf ] < none -> 2.25-5+deb8u1 > ( devel ) (>= 2.25) Considering binutils:armhf 2 as a solution to gcc-4.9:armhf 3 Holding Back gcc-4.9:armhf rather than change binutils:armhf Investigating (3) gcc [ armhf ] < none -> 4:4.9.2-2 > ( devel ) Broken gcc:armhf Depends on gcc-4.9 [ armhf ] < none -> 4.9.2-10 > ( devel ) (>= 4.9.2-1~) Considering gcc-4.9:armhf 3 as a solution to gcc:armhf 1 Holding Back gcc:armhf rather than change gcc-4.9:armhf Investigating (3) g++ [ armhf ] < none -> 4:4.9.2-2 > ( devel ) Broken g++:armhf Depends on gcc [ armhf ] < none -> 4:4.9.2-2 > ( devel ) (>= 4:4.9.2-2) Considering gcc:armhf 1 as a solution to g++:armhf 0 Holding Back g++:armhf rather than change gcc:armhf Investigating (3) g++-4.9 [ armhf ] < none -> 4.9.2-10 > ( devel ) Broken g++-4.9:armhf Depends on gcc-4.9 [ armhf ] < none -> 4.9.2-10 > ( devel ) (= 4.9.2-10) Considering gcc-4.9:armhf 3 as a solution to g++-4.9:armhf 0 Holding Back g++-4.9:armhf rather than change gcc-4.9:armhf Investigating (4) build-essential [ armhf ] < none -> 11.7 > ( devel ) Broken build-essential:armhf Depends on gcc [ armhf ] < none -> 4:4.9.2-2 > ( devel ) (>= 4:4.9.1) Considering gcc:armhf 1 as a solution to build-essential:armhf 9999 Re-Instated binutils:armhf Re-Instated gcc-4.9:armhf Re-Instated gcc:armhf Broken build-essential:armhf Depends on g++ [ armhf ] < none -> 4:4.9.2-2 > ( devel ) (>= 4:4.9.1) Considering g++:armhf 0 as a solution to build-essential:armhf 9999 Re-Instated g++-4.9:armhf Re-Instated g++:armhf Broken build-essential:armhf Depends on make [ armhf ] < none -> 4.0-8.1 > ( devel ) Considering make:armhf 0 as a solution to build-essential:armhf 9999 Considering make-guile:armhf 1 as a solution to build-essential:armhf 9999 Investigating (4) binutils [ armhf ] < none -> 2.25-5+deb8u1 > ( devel ) Broken binutils:armhf Conflicts on binutils [ amd64 ] < 2.25-5+deb8u1 > ( devel ) Considering binutils:amd64 2 as a solution to binutils:armhf 2 Holding Back binutils:armhf rather than change binutils:amd64 Investigating (5) build-essential [ armhf ] < none -> 11.7 > ( devel ) Broken build-essential:armhf Depends on make [ armhf ] < none -> 4.0-8.1 > ( devel ) Considering make:armhf 0 as a solution to build-essential:armhf 9999 Considering make-guile:armhf 1 as a solution to build-essential:armhf 9999 Investigating (5) gcc-4.9 [ armhf ] < none -> 4.9.2-10 > ( devel ) Broken gcc-4.9:armhf Depends on binutils [ armhf ] < none -> 2.25-5+deb8u1 > ( devel ) (>= 2.25) Considering binutils:armhf 2 as a solution to gcc-4.9:armhf 3 Holding Back gcc-4.9:armhf rather than change binutils:armhf Investigating (5) gcc [ armhf ] < none -> 4:4.9.2-2 > ( devel ) Broken gcc:armhf Depends on gcc-4.9 [ armhf ] < none -> 4.9.2-10 > ( devel ) (>= 4.9.2-1~) Considering gcc-4.9:armhf 3 as a solution to gcc:armhf 1 Holding Back gcc:armhf rather than change gcc-4.9:armhf Investigating (5) g++ [ armhf ] < none -> 4:4.9.2-2 > ( devel ) Broken g++:armhf Depends on gcc [ armhf ] < none -> 4:4.9.2-2 > ( devel ) (>= 4:4.9.2-2) Considering gcc:armhf 1 as a solution to g++:armhf 0 Holding Back g++:armhf rather than change gcc:armhf Investigating (5) g++-4.9 [ armhf ] < none -> 4.9.2-10 > ( devel ) Broken g++-4.9:armhf Depends on gcc-4.9 [ armhf ] < none -> 4.9.2-10 > ( devel ) (= 4.9.2-10) Considering gcc-4.9:armhf 3 as a solution to g++-4.9:armhf 0 Holding Back g++-4.9:armhf rather than change gcc-4.9:armhf Investigating (6) build-essential [ armhf ] < none -> 11.7 > ( devel ) Broken build-essential:armhf Depends on gcc [ armhf ] < none -> 4:4.9.2-2 > ( devel ) (>= 4:4.9.1) Considering gcc:armhf 1 as a solution to build-essential:armhf 9999 Broken build-essential:armhf Depends on g++ [ armhf ] < none -> 4:4.9.2-2 > ( devel ) (>= 4:4.9.1) Considering g++:armhf 0 as a solution to build-essential:armhf 9999 Broken build-essential:armhf Depends on make [ armhf ] < none -> 4.0-8.1 > ( devel ) Considering make:armhf 0 as a solution to build-essential:armhf 9999 Considering make-guile:armhf 1 as a solution to build-essential:armhf 9999 Done 

  • Удаление старых файлов происходит медленно и «убивает» производительность ввода-вывода
  • Кросс-компиляция GMP и Openswan для ARM
  • Коррумпированный заголовок метаданных LVM после обновления ядра
  • Debian 8 - запуск скриптов после загрузки
  • MongoDB устанавливает ошибки / E: Sub-process / usr / bin / dpkg возвращает код ошибки (1)
  • Как удержать USB-устройство (камеру действий) от переспать?
  • 2 Solutions collect form web for “Docker CrossCompile Debian build-essential: armff неудовлетворенные зависимости”

    Это линия, вызывающая проблемы:

     RUN apt-get install -y build-essential:armhf 

    Вам не нужна build-essential:armhf для кросс-компиляции. Вы должны удалить это; docker build должен затем иметь возможность создавать контейнер без проблем.

    Это похоже на некоторые зависимости, которые невозможно установить. Что точно сказать сложно.

    К сожалению, выход apt не очень помогает, когда он сталкивается с проблемой, которую он не может исправить. Вы можете уговорить его дать больше вывода, указав -o Debug::pkgProblemResolver=yes в командной строке apt. это должно дать вам более подробную информацию о том, что он пытается сделать, и, надеюсь, позволит вам исправить это.

    Если это не исправит это для вас, запустите apt с этой опцией и опубликуйте результат.

    Linux и Unix - лучшая ОС в мире.