Alpine Container: make: /bin/sh: операция не разрешена

При запуске контейнера Alpine 3.20 команда make жаловалась на «Операция не разрешена», хотя я вошел в систему как root.

Искал на форумах подобную проблему. В среде RHEL7 с ограниченными правами для обновления версий альтернативы Docker — Podman. Между тем, обновление до службы Docker/Podman — не вариант для людей. Вместо этого ищите другой вариант изменения/обновления вещей в Alpine Container.

/tmp # docker-php-ext-install gd /bin/sh /usr/src/php/ext/gd/libtool --tag=CC --mode=компилировать cc -I. -I/usr/src/php/ext/gd -I/usr/src/php/ext/gd/include -I/usr/src/php/ext/gd/main -I/usr/src/php/ext /gd -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/libpng16 -I/usr/include/webp -I/usr/include/freetype2 -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CONFIG_H -fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -Wno-strict-prototypes -I/usr /src/php/ext/gd/libgd -DZEND_COMPILE_DL_EXT=1 -c /usr/src/php/ext/gd/gd.c -o gd.lo -MMD -MF gd.dep -MT gd.lo make: / bin/sh: Операция не разрешена, марка: *** [Makefile:213: gd.lo] Ошибка 127

Попробуйте использовать bmake вместо make, это более стабильно, чем make в Alpine.

Ken Pega 13.06.2024 03:26

Не знаю, можно ли заменить make, поскольку он находится в основной папке /usr/bin/.

Koala Blade 13.06.2024 03:28

Путь к /ust/bin/make — это просто символическая ссылка на gmake. Удалите символическую ссылку, а затем создайте новую ссылку с установленным путем make. Должен сделать работу.

Ken Pega 13.06.2024 03:31

Могу ли я попробовать alias make = "bmake", не удаляя символическую ссылку?

Koala Blade 13.06.2024 03:33

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

Ken Pega 13.06.2024 03:36

Можете ли вы подсказать, как установить bmake в альпийской среде?

Koala Blade 13.06.2024 03:39

Попробуйте «apk add —upgrade gcc libc-dev bmake».

Ken Pega 13.06.2024 03:41

Отлично, кажется, работает так, как ожидалось. Вот что я пробовал: /tmp # apk add --upgrade gcc libc-dev bmake/tmp # mv /usr/bin/make /usr/bin/make.bak/tmp # ln -s /usr/bin/bmake /usr/bin/make

Koala Blade 13.06.2024 04:04

Я попробовал команду установки расширения PHP, например /tmp # docker-php-ext-install gd, которая использует make для компиляции, а теперь перешел к использованию bamke скрытно. Кажется, пока все в порядке. Очень ценю!

Koala Blade 13.06.2024 04:06
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
1
9
107
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Пытаться

apk add —upgrade gcc libc-dev bmake

. Замените /usr/bin/make на /usr/bin/bmake.

Просто отметил это как принятый ответ. Большое спасибо!

Koala Blade 13.06.2024 04:23

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

Похожие вопросы

Размер образа Docker достигнет 9,75 ГБ для Ubuntu с пакетами Python
Сборка Azure DevOps на агенте Mac: BuildKit включен, но появляется сообщение об ошибке: компонент buildx отсутствует или сломан
Почему Python не может найти необходимые модули после «установки pip» внутри образа Docker?
Почему по умолчанию для сборки контейнеров Windows внутри VS2022 используется компиляция вне контейнера?
Невозможно подключиться к Postgres, работающему в докере
Невозможно получить количество устройств CUDA, показатели графического процессора будут недоступны, проблема с сервером Nvidia triton в докере
Docker: приложение ASP.NET Core 8.0 недоступно вне контейнера
Как диагностировать замедление в 28 раз при контейнерном выполнении по сравнению с хостовым выполнением Python + numpy
Как установить недостающие модули Python в образ без дистрибутива?
Получение ConnectionError при выполнении эластичного поиска с использованием докера в проекте django