ericsink / SQLitePCL.raw

A Portable Class Library (PCL) for low-level (raw) access to SQLite
Apache License 2.0
533 stars 109 forks source link

SQLitePCLRaw.bundle_e_sqlite3 version 2.1.5 and later does not work on CentOS or RHEL 7 #602

Open cyungmann opened 3 months ago

cyungmann commented 3 months ago

SQLitePCLRaw handles many platforms and configurations. If you are having trouble, we typically need a LOT of information from you in order to help figure out what is going wrong.

The following questions are provided to help you see what kinds of information we need:

What version of SQLitePCLRaw are you using? 2.1.5

If you are using one of the SQLitePCLRaw bundle packages, which one? SQLitePCLRaw.bundle_e_sqlite3

What platform are you running on? What operating system? Which version? What CPU? linux-x64 CentOS 7 or RHEL 7

What target framework are you building for? net6.0

Are you on .NET Framework or the newer stuff (.NET Core, .NET 5+, etc)? .NET 6

Are you using the command line, or an IDE? Which IDE? Which version of that IDE? Happens when building with Visual Studio 2022 or with dotnet CLI

Is this problem something that just started happening? For example, were things working well for you and then you updated something and then the problem showed up? What changed? Things were working with version 2.0.6 and upon upgrading to 2.1.6 things stopped working. I bisected the versions and found that things seem to break with version 2.1.5.

What is the exact error message you are seeing when the problem happens?

Unhandled exception. System.DllNotFoundException: Unable to load shared library 'e_sqlite3' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libe_sqlite3: cannot open shared object file: No such file or directory
   at SQLitePCL.SQLite3Provider_e_sqlite3.NativeMethods.sqlite3_libversion_number()
   at SQLitePCL.SQLite3Provider_e_sqlite3.SQLitePCL.ISQLite3Provider.sqlite3_libversion_number()
   at SQLitePCL.raw.SetProvider(ISQLite3Provider imp)
   at SQLitePCL.Batteries_V2.Init()
   at Program.<Main>$(String[] args) in C:\Users\cyungmann\code\SqliteTest\SqliteTest\Program.cs:line 2

Are you using PackageReference or packages.config? PackageReference

If you are using mobile platforms, are you on classic/legacy Xamarin or on .NET 6 and higher? N/A

Sometimes other packages using SQLitePCLRaw cause problems when they are mixed together. What other packages are you including in your project? None

How can we reproduce the problem you are seeing? Your issue will get attention much faster if you attach a minimal reproduction sample project. I have a minimal repro at https://github.com/cyungmann/sqlite-test. Simply clone that repository and use PowerShell to execute the Invoke-Test.ps1 script.

cyungmann commented 3 months ago

Appears related to https://github.com/ericsink/cb/issues/27

ericsink commented 3 months ago

As mentioned in ericsink/cb#27 which you linked, I don't know of a good solution to this. The older builder images for GH actions went away, so I needed to update.

kimdiego2098 commented 2 months ago

The same issue, I don't know of a good solution to this.