How to install SQLite package with Julia 0.7?

I’m trying Julia 0.7 and things have been running smoothly so far, but I can’t get SQLite.jl to install.

  • I run add SQLite (after hitting ] in the REPL) and I get no errors.
  • Then I run using SQLite and the precompilation fails with “Module Missings not found in current path.”
  • I run add Missings, again with no errors.
  • using Missings also returns no errors.
  • Running using SQLite fails with the same error.

I haven’t filed an issue on SQLite.jl’s GitHub, because I’m not sure SQLite.jl is the problem and not me.
Thanks for any pointers.

The problem may be with the new package manager (Pkg3), or with SQLite.jl (the Julia binding to SQLite),
but would not be with SQLite itself.

1 Like

Whoops, I meant to ask if there was an issue in SQLite.jl, or if I was doing something wrong. I edited my question to make that distinction more clear, thanks. Now that you mention it, the issue might be in Pkg3 but my gut feeling is that the error is in SQLite.jl’s packaging.

SQLite.jl uses the Missings packages, but doesn’t have it in the REQUIRE file. In 0.6 this doesn’t cause a problem if you have Missings installed, but in 0.7 the package system is stricter about enforcing it.

If they add Missings to the REQUIRE file and release a new version, it will get synced to the 0.7 registry and should work.

1 Like

Thanks, I’ll file a pull request

Ok, I appended Missings to the REQUIRE file and previous error seems to be resolved. But now Pkg3 is making the same complaint about Compat. I appended Compat to REQUIRE the same way I appended Missings, but the error persists.

It is difficult to find documentation on this, so I’m just assuming that REQUIRE was used before 0.7 and Project.toml is the specification that will replace it. Maybe Pkg3 is looking for REQUIRE if it doesn’t see a Project.toml before we move on to 1.0?

In any case: all the packages specified in either REQUIRE or Project.toml should be pulled in before the build phase begins, correct? If that assumption is correct, then there should be no reason why Julia should complain of a missing Compat.

My process:

  • git clone my fork of SQLite.jl
  • append Missings and append Compat to REQUIRE
  • open up a Pkg3 REPL in the SQLite.jl directory
  • run add .

result: the build.log file says “Module Compat not found in current path”

Sources I found: https://docs.julialang.org/en/release-0.4/manual/packages/ https://github.com/JuliaLang/Pkg.jl/blob/master/docs/src/index.md

Do not follow anything that tells you how to set up Julia v0.4. That’s long retired.

1 Like