Я создаю приложение C++ на Docker, используя многоэтапную сборку. Когда я запускаю исполняемый файл на втором этапе, я получаю следующую ошибку:
./runScenarioTest: error while loading shared libraries: libblas.so.3: cannot open shared object file: No such file or directory
Однако, когда я проверяю свой каталог /lib/x86_64-linux-gnu/, я ясно вижу, что там находится libblas.a libblas.so libblas.so.3. Однако, похоже, это единственные библиотеки, которые отображаются красным текстом, когда я запускаю команду ls внутри каталога. Я искал значение красного текста и верю ему, потому что они хранятся в виде файлового архива (?).
Я запускаю это в базовом образе Ubuntu: 20.04 и устанавливаю пакеты BLAS и Lapack через libatlas-base-dev (RUN apt-get update && apt-get install -y libatlas-base-dev)
Затем я копирую всю папку /lib/ со стадии сборки на стадию запуска.
Мой вопрос: нормально ли то, что эти файлы отображаются красным текстом, и связано ли это с тем фактом, что их нельзя найти во время выполнения? Заранее спасибо
Я пробовал устанавливать пакеты BLAS и Lapack отдельно:
RUN apt-get install -y libblas-dev
RUN apt-get install -y liblapack-dev
Я также пробовал добавить эту строку прямо перед сборкой
RUN /sbin/ldconfig -v
Подробнее здесь: https://stackoverflow.com/questions/754 ... ory-but-it