Alec
Alec

Reputation: 4482

`ERROR: EOFError: read end of file` when using package after installing new Julia version

I just installed Julia v1.3.1 (previously had v1.3.0 installed) and when I try using ODBC, I get the following error:

ERROR: EOFError: read end of file
Stacktrace:
 [1] read(::IOStream, ::Type{Int64}) at .\iostream.jl:361
 [2] parse_cache_header(::IOStream) at .\loading.jl:1334
 [3] stale_cachefile(::String, ::String) at .\loading.jl:1413
 [4] _require_search_from_serialized(::Base.PkgId, ::String) at .\loading.jl:752
 [5] _require(::Base.PkgId) at .\loading.jl:1001
 [6] require(::Base.PkgId) at .\loading.jl:922
 [7] require(::Module, ::Symbol) at .\loading.jl:917

I tried rm ODBC and then adding it again, as well as removing the Manifest.toml and Project.toml from my v1.3 environment folder and freshly add-ing it .

Upvotes: 7

Views: 2889

Answers (1)

giordano
giordano

Reputation: 8344

Julia is failing to read the precompiled file of ODBC or of one of its dependencies, you can tell that from the stacktrace (read call in parse_cache_header function). This likely means that this is corrupted. You can fix the issue by deleting the precompiled files for the package for version 1.3 in the ~/.julia/compiled/v1.3/ODBC directory. If that fails, you should try removing the precompiled files for all of its dependencies, but in that case is probably easier to remove all directories in the ~/.julia/compiled/v1.3 directory.

Upvotes: 7

Related Questions