We’re attempting to use the EmguCV in a dotnet 6.x project and have loaded the following two nuget packages (Emgu.CV 4.6.0.5131 and Emgu.CV.runtime.ubuntu-x64 4.6.0.5131).
We’re getting the following exception when attempting to access this libraries functions:
System.TypeInitializationException: The type initializer for 'Emgu.CV.CvInvoke' threw an exception.
---> System.DllNotFoundException: Unable to load shared library 'cvextern' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libcvextern: cannot open shared object file: No such file or directory
Checking the ‘libcvextern.so’ dependencies we find that it requires two versions of glibc: 1) GLIBC_2.35 and 2) GLIBCXX_3.4.30.
ldd ~/.nuget/packages/emgu.cv.runtime.ubuntu-x64/4.6.0.5131/runtimes/ubuntu-x64/native/libcvextern.so
/home/talos/.nuget/packages/emgu.cv.runtime.ubuntu-x64/4.6.0.5131/runtimes/ubuntu-x64/native/libcvextern.so: /nix/store/v6szn6fczjbn54h7y40aj7qjijq7j6dc-glibc-2.34-210/lib/libm.so.6: version `GLIBC_2.35' not found (required by /home/talos/.nuget/packages/emgu.cv.runtime.ubuntu-x64/4.6.0.5131/runtimes/ubuntu-x64/native/libcvextern.so)
/home/talos/.nuget/packages/emgu.cv.runtime.ubuntu-x64/4.6.0.5131/runtimes/ubuntu-x64/native/libcvextern.so: /nix/store/8mhaj6yvvb7rq0kl5xmg6wl9myxvs804-gcc-11.3.0-lib/lib/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /home/talos/.nuget/packages/emgu.cv.runtime.ubuntu-x64/4.6.0.5131/runtimes/ubuntu-x64/native/libcvextern.so)
We’ve done some digging around for these versions of the glibc library using ‘nixos search’ but have come up short.
How can we resolve these dependencies? What packages should we be including?
Thanks.