Я использовал библиотеку OpenCvSharp в своем приложении. net core 3.0, при запуске этого приложения в среде windows приложение работает без каких-либо проблем. Когда одно и то же приложение развернуто и размещено в docker, работающем в Ubuntu 18.04, возникает следующее исключение:
System.DllNotFoundException: Unable to load shared library 'OpenCvSharpExtern' or one of its dependencies.
Я установил следующие пакеты (nuget), которые необходимы для запуска OpenCvSharp4 в среда ubuntu:
- OpenCvSharp4
- OpenCvSharp4.runtime.ubuntu.18.04-x64
При проверке зависимости библиотеки libOpenCvSharpExtern.so с помощью следующих команда:
ldd libOpenCvSharpExtern.so
Некоторые сборки зависимостей отсутствовали, поэтому я установил все необходимые пакеты, которые упоминаются в приведенном ниже потоке GitHub, который сообщает о той же самой проблеме:
https://github.com/shimat/opencvsharp/issues/889
Но все же некоторые из этих зависимостей отсутствуют, и имя этих сборок приводится ниже:
- libavcode c .so.57 => не найдено
- libavformat.so.57 => не найдено
- libavutil.so.55 => не найдено
- libswscale.so.4 => не найдено
- libjpeg.so.8 => не найден
Я также попытался установить следующие пакеты «libjpeg62-turbo-dev» и «libavcode c -extra57» для исправления «not found» сборок. Но все же проблема возникла.
Любое предложение о том, как решить эту проблему, будет оценено.