Рейтинг:0

Ошибка Docker с [Makefile:192: imagick_file.lo] Ошибка 127

флаг jp

Я пытаюсь установить php в докере рабочего проекта с заголовком в Dockerfile:

ОТ композитора:1 КАК композитор
ИЗ php:7.4-fpm-alpine
КОПИРОВАТЬ --from=композитор /usr/bin/композитор /usr/bin/композитор
ENV PHPIZE_DEPS \
база сборки \
...

Я получил ошибки при создании проекта с ошибкой ниже вывода:

docker-compose up -d --build
...
проверка, работает ли флаг cc PIC -fPIC... да
проверка, работает ли статический флаг cc -static... да
проверка, поддерживает ли cc -c -o file.o... да
проверка того, поддерживает ли компоновщик cc (/usr/x86_64-alpine-linux-musl/bin/ld -m elf_x86_64) разделяемые библиотеки... да
проверка того, должен ли -lc быть явно связан в... нет
проверка характеристик динамического компоновщика... GNU/Linux ld.so
проверка того, как жестко закодировать пути библиотек в программы... немедленно
проверка возможности зачистки библиотек... да
проверка, поддерживает ли libtool разделяемые библиотеки... да
проверка необходимости создания разделяемых библиотек... да
проверка, собирать ли статические библиотеки... нет

создание libtool
добавление тега конфигурации «CXX» в libtool
настроить: исправление config.h.in
настроить: создание ./config.status
config.status: создание config.h
работает: сделать
/bin/sh /tmp/pear/temp/pear-build-defaultuserOFhDoe/imagick-3.4.3/libtool --mode=compile cc -I/usr/include/ImageMagick-7 -DMAGICKCORE_HDRI_ENABLE=1 -DMAGICKCORE_QUANTUM_DEPTH=16 -I .-I/tmp/pear/temp/imagick -DPHP_ATOM_INC -I/tmp/pear/temp/pear-build-defaultuserOFhDoe/imagick-3.4.3/include -I/tmp/pear/temp/pear-build-defaultuserOFhDoe/imagick -3.4.3/main -I/tmp/pear/temp/imagick -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -I/usr/include/ImageMagick-7 -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/temp/imagick/imagick_file.c -o imagick_file.lo
make: /bin/sh: операция не разрешена
make: *** [Makefile:192: imagick_file.lo] Ошибка 127
ОШИБКА: "сделать" не удалось
ОШИБКА: не удалось собрать службу «backapp»: команда «/bin/sh -c set -xe && apk add --no-cache ${PERMANENT_DEPS} && apk add --no-cache --virtual .build-deps $ {PHPIZE_DEPS} && apk add --no-cache --repository http://dl-3.alpinelinux.org/alpine/edge/community gnu-libiconv && pecl install imagick-3.4.3 && docker-php-ext-enable imagick && docker-php-ext-configure pdo_mysql && docker-php-ext-configure bcmath --enable-bcmath && docker-php-ext-configure pcntl --enable-pcntl && docker-php-ext-configure intl --enable -intl && docker-php-ext-configure sysvmsg && docker-php-ext-configure sysvsem && docker-php-ext-configure sysvshm && docker-php-ext-install -j$(nproc) pdo_mysql sockets gettext bcmath pcntl intl sysvmsg sysvsem sysvshm && apk del.build-deps вернул ненулевой код: 1

Поискав в сети решение, я нашел возможное решение, что мне нужен cc/gcc, установив пакет build-essential. Но проверка cc/gcc и в моей системе:

ИмяПроекта$ gcc -v
Использование встроенных спецификаций.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-обертка
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Цель: x86_64-linux-gnu
Настроено с помощью: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README. Ошибки --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix =-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads= posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new -- enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc- gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with -tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --без драйвера cuda - -enable-checking=релиз -- build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Модель потока: posix
gcc версии 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)
ИмяПроекта$ cc -v
Использование встроенных спецификаций.
COLLECT_GCC=cc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-обертка
OFFLOAD_TARGET_NAMES=nvptx-none:hsa
OFFLOAD_TARGET_DEFAULT=1
Цель: x86_64-linux-gnu
Настроено с помощью: ../src/configure -v --with-pkgversion='Ubuntu 9.3.0-17ubuntu1~20.04' --with-bugurl=file:///usr/share/doc/gcc-9/README. Ошибки --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix =-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads= posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new -- enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc- gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with -tune=generic --enable-offload-targets=nvptx-none=/build/gcc-9-HskZEa/gcc-9-9.3.0/debian/tmp-nvptx/usr,hsa --без драйвера cuda - -enable-checking=релиз -- build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Модель потока: posix

ProjectName$ uname -a
Linux master-laptop 5.11.0-37-generic #41~20.04.2-Ubuntu SMP Пт, 24 сентября, 09:06:38 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
ИмяПроекта$ композитор -v
______
Композитор версии 2.1.8 2021-09-15 13:55:14

Я обнаружил ошибку в выводе build-essential. Может быть проблема в нем, но как исправить бит?

$ apt show build-essential — информация -a
Пакет: build-essential
Версия: 12.8убунту1.1
Приоритет: необязательно
Build-Essential: да
Раздел: разработка
Происхождение: Убунту
Сопровождающий: Разработчики Ubuntu <[email protected]>
Первоначальный сопровождающий: Маттиас Клозе <[email protected]>
Ошибки: https://bugs.launchpad.net/ubuntu/+filebug
Установленный размер: 21,5 КБ
Зависит: libc6-dev | libc-dev, gcc (>= 4:9.2), g++ (>= 4:9.2), make, dpkg-dev (>= 1.17.11)
Задача: ubuntu-mate-core, ubuntu-mate-desktop
Размер загрузки: 4 ¯ 664 Б
APT-ручная установка: да
APT-источники: http://ua.archive.ubuntu.com/ubuntu focus-updates/main Пакеты amd64
Описание: Информационный список необходимых для сборки пакетов.
 Если вы не планируете собирать пакеты Debian, вам это не нужно.
 упаковка. Начиная с dpkg (>= 1.14.18) этот пакет обязателен
 для сборки пакетов Debian.
 .
 Этот пакет содержит информационный список пакетов, которые
 считается необходимым для создания пакетов Debian. Этот пакет также
 зависит от пакетов в этом списке, чтобы упростить
 установлены необходимые для сборки пакеты.
 .
 Если у вас установлен этот пакет, вам нужно всего лишь установить
 пакет указывает в качестве своих зависимостей времени сборки для сборки
 упаковка. И наоборот, если вы определяете, что нужно вашему пакету
 зависит от сборки, вы всегда можете пропустить пакеты,
 пакет зависит от.
 .
 Этот пакет НЕ является определением того, какие пакеты
 важно для сборки; настоящее определение находится в Руководстве по политике Debian.
 Этот пакет содержит только информационный список.
 нужно большинству людей. Однако, если этот пакет и руководство не совпадают,
 мануал правильный.

Пакет: build-essential
Версия: 12.8убунту1
Приоритет: необязательно
Build-Essential: да
Раздел: разработка
Происхождение: Убунту
Сопровождающий: Разработчики Ubuntu <[email protected]>
Первоначальный сопровождающий: Маттиас Клозе <[email protected]>
Ошибки: https://bugs.launchpad.net/ubuntu/+filebug
Установленный размер: 20,5 КБ
Зависит: libc6-dev | libc-dev, gcc (>= 4:9.2), g++ (>= 4:9.2), make, dpkg-dev (>= 1.17.11)
Задача: ubuntu-mate-core, ubuntu-mate-desktop
Размер загрузки: 4 ¯ 624 Б
APT-источники: http://ua.archive.ubuntu.com/ubuntu focus/main Пакеты amd64
Описание: Информационный список необходимых для сборки пакетов.
 Если вы не планируете собирать пакеты Debian, вам это не нужно.
 упаковка. Начиная с dpkg (>= 1.14.18) этот пакет обязателен
 для сборки пакетов Debian.
 .
 Этот пакет содержит информационный список пакетов, которые
 считается необходимым для создания пакетов Debian. Этот пакет также
 зависит от пакетов в этом списке, чтобы упростить
 установлены необходимые для сборки пакеты.
 .
 Если у вас установлен этот пакет, вам нужно всего лишь установить
 пакет указывает в качестве своих зависимостей времени сборки для сборки
 упаковка. И наоборот, если вы определяете, что нужно вашему пакету
 зависит от сборки, вы всегда можете пропустить пакеты,
 пакет зависит от.
 .
 Этот пакет НЕ является определением того, какие пакеты
 важно для сборки; настоящее определение находится в Руководстве по политике Debian.
 Этот пакет содержит только информационный список.
 нужно большинству людей. Однако, если этот пакет и руководство не совпадают,
 мануал правильный.

Пакет: информация
Версия: 6.7.0.dfsg.2-5
Приоритет: стандартный
Раздел: документ
Источник: текинфо
Происхождение: Убунту
Сопровождающий: Разработчики Ubuntu <[email protected]>
Первоначальный сопровождающий: сопровождающие Debian TeX <[email protected]>
Ошибки: https://bugs.launchpad.net/ubuntu/+filebug
Установленный размер: 831 КБ
Предоставляет: инфо-браузер
Зависит: libc6 (>= 2.15), libtinfo6 (>= 6), install-info
Разрывы: texinfo-doc-nonfree
Заменяет: texinfo (<< 4.7-2), texinfo-doc-nonfree
Домашняя страница: https://www.gnu.org/software/texinfo/
Задача: стандартная
Размер загрузки: 203 КБ
APT-ручная установка: нет
APT-источники: http://ua.archive.ubuntu.com/ubuntu focus/main Пакеты amd64
Описание: Автономный браузер документации GNU Info.
 Формат файла Info представляет собой легко анализируемое представление для онлайн-контента.
 документы. Эта программа позволяет просматривать документы Info, такие как
 те, которые хранятся в /usr/share/info.
 .
 Большая часть программного обеспечения в Debian поставляется с онлайн-документацией в
 виде файлов Info, поэтому, скорее всего, вы захотите установить его.

N: Не удалось найти пакет —

Последняя строка выглядит как ошибка, и я не могу собрать приложение для докеров...

Модифицированный БЛОК №1: Поискав в сети, я нашел намеки на то, что причиной этой ошибки может быть то, что некоторые приложения не находятся в $ PATH. Поэтому я добавил строку с необходимым для сборки путем:

экспорт PATH="/usr/share/build-essential:$PATH"

в файле /home/master/.bashrc и запустите команду обновления:

источник ~/.bashrc

После этого я проверяю, что все связанные апопы в PATH:

master@master-ноутбук:ProjectName$ $PATH
bash: /usr/share/build-essential:/home/master/.composer/vendor/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin: /bin:/usr/games:/usr/local/games:/snap/bin: Нет такого файла или каталога
master@master-laptop:ProjectName$, где gcc
gcc: /usr/bin/gcc /usr/lib/gcc /usr/share/gcc /usr/share/man/man1/gcc.1.gz
master@master-laptop:ProjectName$, где копия
копия: /usr/bin/cc /usr/share/man/man1/cc.1.gz
master@master-laptop:ProjectName$, где необходима сборка
необходимая сборка: /usr/share/необходимая сборка

Но в любом случае я получил ту же ошибку:

...
make: /bin/sh: операция не разрешена
make: *** [Makefile:192: imagick_file.lo] Ошибка 127

Спасибо!

mstdmstd avatar
флаг jp
Я добавил подробности в свой пост. надеюсь теперь понятно
mstdmstd avatar
флаг jp
Пожалуйста, посмотрите дополнительную информацию в Modified BLOCK # 1

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.