Я создаю приложение 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
Libblas.so.3: невозможно открыть файл общего объекта: такого файла или каталога нет (но он установлен) ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение