JuliaGL / ModernGL.jl

OpenGL 3+ bindings for Julia
MIT License
125 stars 29 forks source link

Could not open deps/deps.jl #55

Closed thchr closed 4 years ago

thchr commented 4 years ago

I already noted this as a comment in #53, but after that commit, I cannot compile Makie after I update my dependencies. Specifically, with ModernGL v1.1.1, I get the following error message (with v1.0.0 I don't have any problems):

julia> using Makie
[ Info: Precompiling Makie [ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a]
ERROR: LoadError: LoadError: could not open file C:\Users\tchr\.julia\packages\ModernGL\Cr1A7\deps\deps.jl
Stacktrace:
 [1] include at .\boot.jl:326 [inlined]
 [2] include_relative(::Module, ::String) at .\loading.jl:1038
 [3] include at .\sysimg.jl:29 [inlined]
 [4] include(::String) at C:\Users\tchr\.julia\packages\ModernGL\Cr1A7\src\ModernGL.jl:2
 [5] top-level scope at none:0
 [6] include at .\boot.jl:326 [inlined]
 [7] include_relative(::Module, ::String) at .\loading.jl:1038
 [8] include at .\sysimg.jl:29 [inlined]
 [9] include(::String) at C:\Users\tchr\.julia\packages\ModernGL\Cr1A7\src\ModernGL.jl:2
 [10] top-level scope at none:0
 [11] include at .\boot.jl:326 [inlined]
 [12] include_relative(::Module, ::String) at .\loading.jl:1038
 [13] include(::Module, ::String) at .\sysimg.jl:29
 [14] top-level scope at none:2
 [15] eval at .\boot.jl:328 [inlined]
 [16] eval(::Expr) at .\client.jl:404
 [17] top-level scope at .\none:3
in expression starting at C:\Users\tchr\.julia\packages\ModernGL\Cr1A7\src\functionloading.jl:5
in expression starting at C:\Users\tchr\.julia\packages\ModernGL\Cr1A7\src\ModernGL.jl:105
ERROR: LoadError: Failed to precompile ModernGL [66fc600b-dfda-50eb-8b99-91cfa97b1301] to C:\Users\tchr\.julia\compiled\v1.1\ModernGL\LZIm7.ji.
Stacktrace:
 [1] error(::String) at .\error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1197
 [3] _require(::Base.PkgId) at .\loading.jl:960
 [4] require(::Base.PkgId) at .\loading.jl:858
 [5] require(::Module, ::Symbol) at .\loading.jl:853
 [6] include at .\boot.jl:326 [inlined]
 [7] include_relative(::Module, ::String) at .\loading.jl:1038
 [8] include(::Module, ::String) at .\sysimg.jl:29
 [9] top-level scope at none:2
 [10] eval at .\boot.jl:328 [inlined]
 [11] eval(::Expr) at .\client.jl:404
 [12] top-level scope at .\none:3
in expression starting at C:\Users\tchr\.julia\packages\GLMakie\XqcM3\src\GLMakie.jl:3
ERROR: LoadError: Failed to precompile GLMakie [e9467ef8-e4e7-5192-8a1a-b1aee30e663a] to C:\Users\tchr\.julia\compiled\v1.1\GLMakie\nfnZR.ji.
Stacktrace:
 [1] error(::String) at .\error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1197
 [3] _require(::Base.PkgId) at .\loading.jl:960
 [4] require(::Base.PkgId) at .\loading.jl:858
 [5] require(::Module, ::Symbol) at .\loading.jl:853
 [6] include at .\boot.jl:326 [inlined]
 [7] include_relative(::Module, ::String) at .\loading.jl:1038
 [8] include(::Module, ::String) at .\sysimg.jl:29
 [9] top-level scope at none:2
 [10] eval at .\boot.jl:328 [inlined]
 [11] eval(::Expr) at .\client.jl:404
 [12] top-level scope at .\none:3
in expression starting at C:\Users\tchr\.julia\packages\Makie\3CKlT\src\Makie.jl:3
ERROR: Failed to precompile Makie [ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a] to C:\Users\tchr\.julia\compiled\v1.1\Makie\iZ1Bl.ji.
Stacktrace:
 [1] error(::String) at .\error.jl:33
 [2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1197
 [3] _require(::Base.PkgId) at .\loading.jl:960
 [4] require(::Base.PkgId) at .\loading.jl:858
 [5] require(::Module, ::Symbol) at .\loading.jl:853

I'm somewhat puzzled by this, since I'm assuming that if this was a widespread problem others would have filed a similar issue at this point.

SimonDanisch commented 4 years ago

does ]build ModernGL fix the issue?

thchr commented 4 years ago

It built successfully, and Makie seems to also successfully load afterwards.

(Though with a few warnings:

(v1.1) pkg> build ModernGL
  Building ModernGL → `C:\Users\tchr\.julia\packages\ModernGL\Cr1A7\deps\build.log`

julia> using Makie
[ Info: Recompiling stale cache file C:\Users\tchr\.julia\compiled\v1.1\Makie\iZ1Bl.ji for Makie [ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a]
┌ Warning: Loaded OpenGL Backend, but OpenGL isn't working
└ @ GLMakie C:\Users\tchr\.julia\packages\GLMakie\XqcM3\src\GLMakie.jl:60
┌ Warning: Loaded OpenGL Backend, but OpenGL isn't working
└ @ GLMakie C:\Users\tchr\.julia\packages\GLMakie\XqcM3\src\GLMakie.jl:60
julia>

)

I see you submitted a fix: I'll try it out when a new version is tagged. Thanks!

SimonDanisch commented 4 years ago
Warning: Loaded OpenGL Backend, but OpenGL isn't working

Uhm.... That doesn't sound like working at all :D Can you try ]build GLMakie and see if that prints any warnings?

thchr commented 4 years ago

Hmm, I get:

(v1.1) pkg> build GLMakie
  Building ModernGL ────────→ `C:\Users\tchr\.julia\packages\ModernGL\Cr1A7\deps\build.log`
  Building SpecialFunctions → `C:\Users\tchr\.julia\packages\SpecialFunctions\ne2iw\deps\build.log`
  Building FreeType ────────→ `C:\Users\tchr\.julia\packages\FreeType\2dE5w\deps\build.log`
  Building ImageMagick ─────→ `C:\Users\tchr\.julia\packages\ImageMagick\vMfoS\deps\build.log`
  Building FFMPEG ──────────→ `C:\Users\tchr\.julia\packages\FFMPEG\guN1x\deps\build.log`
  Building CMake ───────────→ `C:\Users\tchr\.julia\packages\CMake\nSK2r\deps\build.log`
  Building GLFW ────────────→ `C:\Users\tchr\.julia\packages\GLFW\e257h\deps\build.log`
  Building GLMakie ─────────→ `C:\Users\tchr\.julia\packages\GLMakie\XqcM3\deps\build.log`

julia> using GLMakie
WARNING: redefining constant WORKING_OPENGL

Not sure if the warning is just because I already had using Makie in that work session.

SimonDanisch commented 4 years ago

ok... could be ;) try using Makie again, if that doesn't show the warning anymore, all should be good :)

thchr commented 4 years ago

Indeed seems to be working fine again now: how come building anew fixed this? Thanks a bunch for helping me fix this issue.

SimonDanisch commented 4 years ago

Building creates the file .julia\packages\ModernGL\Cr1A7\deps\deps.jl ;) Normally, Julia should always build a package, so this shouldn't be an issue... But there seem to be cases, where a build gets "forgotten" by Pkg...