Skip to content

Unable to build using dojo. Getting e_sqlite3 error #54

@Dunge

Description

@Dunge

I forked the project and followed the build guideline in the readme to install dojo and launch ./tasks.sh all.

I first had an error about the dotnet image that changed repositories. I then edited the Dockerfile from microsoft/dotnet:2.1.4-aspnetcore-runtime-stretch-slim to mcr.microsoft.com/dotnet/aspnet:2.1.30-stretch-slim (also tried mcr.microsoft.com/dotnet/aspnet:2.1-stretch-slim, there's no 2.1.4 version) as explained here.

Everything build but the tests fails because the program does not launch, having an error with sqlite not publishing the binaries that seemed to be common back in the days, but I can't find a proper solution to fix it.

    LiGet.Tests.NuGetClientIntegrationTest.IndexIncludesAtLeastOnePackageBaseAddressEntry(indexEndpoint: "cache/v3/index.json") [FAIL]
      System.TypeInitializationException : The type initializer for 'Microsoft.Data.Sqlite.SqliteConnection' threw an exception.
      ---- System.Reflection.TargetInvocationException : Exception has been thrown by the target of an invocation.
      -------- 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
      Stack Trace:
           at Microsoft.Data.Sqlite.SqliteConnection..ctor(String connectionString)
           at Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal.SqliteRelationalConnection.CreateDbConnection()
           at Microsoft.EntityFrameworkCore.Internal.LazyRef`1.get_Value()
           at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open(Boolean errorsExpected)
           at Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal.SqliteRelationalConnection.Open(Boolean errorsExpected)
           at Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal.SqliteDatabaseCreator.Exists()
           at Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.Exists()
           at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration)
        /dojo/work/tests/LiGet.Tests/TestServerBuilder.cs(143,0): at LiGet.Tests.TestServerBuilder.Build()
        /dojo/work/tests/LiGet.Tests/NuGetClientIntegrationTest.cs(65,0): at LiGet.Tests.NuGetClientIntegrationTest..ctor(ITestOutputHelper helper)
        ----- Inner Stack Trace -----
           at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
           at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
           at Microsoft.Data.Sqlite.Utilities.BundleInitializer.Initialize()
           at Microsoft.Data.Sqlite.SqliteConnection..cctor()
        ----- Inner Stack Trace -----
           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)

Anyone have an idea how to fix this? Should I edit the dojo files too?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions