Я наконец-то смог ее решить. Хотя раньше я сталкивался с этой ссылкой, в этот раз я только что проверил раздел Содержимое пакета . Сегодня я снова посетил страницу в libtool и, наконец, заметил, что в правой части есть раздел Depends
, в котором два пакета указаны как зависимости (bash
и libltdl
) для libtool
. Установка обоих пакетов сделала свое дело. :)
UPDATE
Хотя моя проблема была решена, я подумал о том, чтобы очистить скрипт, чтобы убедиться, что я не добавлю ненужные пакеты к своему изображению. Именно тогда я обнаружил, что мое предыдущее предположение о явном добавлении пакетов bash
и libltdl
для исправления зависимости libtool
было неверным. Я собираюсь написать все проблемы (и исправления), с которыми я столкнулся, пытаясь создать свой образ докера для сборки проекта React. Для меня это скорее записка, и она все равно может кому-то помочь.
Проблемы и исправления:
1) npm WARN lifecycle <project_name>@3.6.0~preinstall: cannot run in wd %s %s (wd=%s) <project_name>@3.6.0 npm run npmcheckversion /opt/atlassian/pipelines/agent/build
Исправлено: изображение работало с root
пользователем, а не с node
пользователем. В конце моего Dockerfile я добавил эту строку:
USER node
Это запускает изображение как указанный пользователь, а не как root
пользователь.
Ссылка: https://docs.docker.com/v17.09/engine/reference/builder/#user
2) Error: pngquant failed to build, make sure that libpng-dev is installed
Исправлено: Как указано в сообщении об ошибке, я установил пакет libpng-dev
3) /bin/sh: autoreconf: not found
Исправлено: Чтобы это исправить, я установил autoconf
и libtool
. Обратите внимание, что libtool
автоматически устанавливает его зависимости, т.е. libltdl
и bash
.
Я проверил список установленных пакетов и смог подтвердить, что libtool
действительно был установлен, но сборка снова не удалась, хотя с другой ошибкой.
4) Can't exec "aclocal": No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 326.
autoreconf: failed to run aclocal: No such file or directory
Исправлено: automake
требовалось исправить проблему. Тем не менее, была еще одна ошибка:)
5) configure: error: no nasm (Netwide Assembler) found
Исправлено: установка пакета nasm
исправила его.
Вот и все. Я был готов с моим окончательным изображением. ;)