Open Neilsons opened 6 months ago
Initial take: Looks like something is going wrong with loading the native e_sqlcipher
shared library, like perhaps it is compiled for a different libc than your system has, or something like that.
@ericsink @Neilsons - Centos 7 uses an ancient version of glibc, I believe 2.17. The library would have to be rebuild against that version or older for it to work.
@sjlombardo Ah, that would explain it. Thanks for the info.
@Neilsons Sorry, but I do not intend to address this issue.
@ericsink Thank you very much for your reply, I will try to find other solutions @sjlombardo Thank you very much for the information
@ericsink @sjlombardo I tried lowering the version to 2.1.0 and it seems to work. I haven’t tried other versions yet.
What version of SQLitePCLRaw are you using?
2.1.7
If you are using one of the SQLitePCLRaw bundle packages, which one? SQLitePCLRaw.bundle_e_sqlcipher 2.1.7
What platform are you running on? What operating system? Which version? What CPU?
Linux Centos 7 X64
What target framework are you building for? .Net 7.0
Are you on .NET Framework or the newer stuff (.NET Core, .NET 5+, etc)?
.Net7
Are you using the command line, or an IDE? Which IDE? Which version of that IDE?
IDE 17.5.4
What is the exact error message you are seeing when the problem happens?
Unhandled exception. System.DllNotFoundException: Unable to load shared library 'e_sqlcipher' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable: /srv/Sdk/e_sqlcipher.so: cannot open shared object file: No such file or directory /lib64/libc.so.6: version `GLIBC_2.28' not found (required by /srv/Sdk/libe_sqlcipher.so) libe_sqlcipher.so: cannot open shared object file: No such file or directory /srv/Sdk/e_sqlcipher: cannot open shared object file: No such file or directory /srv/Sdk/libe_sqlcipher: cannot open shared object file: No such file or directory
at SQLitePCL.SQLite3Provider_e_sqlcipher.NativeMethods.sqlite3_libversion_number() at SQLitePCL.SQLite3Provider_e_sqlcipher.SQLitePCL.ISQLite3Provider.sqlite3_libversion_number() at SQLitePCL.raw.SetProvider(ISQLite3Provider imp) at SQLitePCL.Batteries_V2.Init()
Are you using
PackageReference
orpackages.config
?PackageReference
If you are using mobile platforms, are you on classic/legacy Xamarin or on .NET 6 and higher?
No
Sometimes other packages using SQLitePCLRaw cause problems when they are mixed together. What other packages are you including in your project? Microsoft.Data.Sqlite.Core 7.0.14 System.Data.SQLite 1.0.118