-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use JLL package for GLFW, require Julia 1.3 #191
Conversation
Failure on 32-bit Windows with Julia 1.3 is a known issue, that will be fixed in the next release candidate (and has been already fixed in master). |
Any idea why I'm getting this ambiguous git error (this is from a Raspberry Pi, so ARM 32 bit)? _
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.3.0 (2019-11-26)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
(v1.3) pkg> up
Cloning default registries into `~/.julia`
Cloning registry from "https://github.com/JuliaRegistries/General.git"
Added registry `General` to `~/.julia/registries/General`
Updating registry at `~/.julia/registries/General`
Updating git-repo `https://github.com/JuliaRegistries/General.git`
Resolving package versions...
(v1.3) pkg> add GLFW#191
Cloning git-repo `https://github.com/JuliaGL/GLFW.jl.git`
Updating git-repo `https://github.com/JuliaGL/GLFW.jl.git`
ERROR: GitError(Code:EAMBIGUOUS, Class:Object, ambiguous lookup - OID prefix is too short)
Stacktrace:
[1] macro expansion at /buildworker/worker/package_linuxarmv7l/build/usr/share/julia/stdlib/v1.3/LibGit2/src/error.jl:101 [inlined]
[2] LibGit2.GitObject(::LibGit2.GitRepo, ::String) at /buildworker/worker/package_linuxarmv7l/build/usr/share/julia/stdlib/v1.3/LibGit2/src/repository.jl:142
[3] get_object_branch(::LibGit2.GitRepo, ::String, ::LibGit2.CachedCredentials) at /buildworker/worker/package_linuxarmv7l/build/usr/share/julia/stdlib/v1.3/Pkg/src/Types.jl:808
[4] (::Pkg.Types.var"#84#87"{LibGit2.CachedCredentials,Pkg.Types.var"#91#92",String})(::LibGit2.GitRepo) at /buildworker/worker/package_linuxarmv7l/build/usr/share/julia/stdlib/v1.3/Pkg/src/Types.jl:665
[5] with(::Pkg.Types.var"#84#87"{LibGit2.CachedCredentials,Pkg.Types.var"#91#92",String}, ::LibGit2.GitRepo) at /buildworker/worker/package_linuxarmv7l/build/usr/share/julia/stdlib/v1.3/LibGit2/src/types.jl:1125
[6] #83 at /buildworker/worker/package_linuxarmv7l/build/usr/share/julia/stdlib/v1.3/Pkg/src/Types.jl:664 [inlined]
[7] shred!(::Pkg.Types.var"#83#86"{Pkg.Types.var"#91#92",String,String}, ::LibGit2.CachedCredentials) at ./secretbuffer.jl:184
[8] instantiate_pkg_repo!(::Pkg.Types.PackageSpec, ::Nothing) at /buildworker/worker/package_linuxarmv7l/build/usr/share/julia/stdlib/v1.3/Pkg/src/Types.jl:663
[9] handle_repo_add!(::Pkg.Types.Context, ::Pkg.Types.PackageSpec) at /buildworker/worker/package_linuxarmv7l/build/usr/share/julia/stdlib/v1.3/Pkg/src/Types.jl:741
[10] handle_repos_add!(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linuxarmv7l/build/usr/share/julia/stdlib/v1.3/Pkg/src/Types.jl:751
[11] #add#25(::Bool, ::Pkg.BinaryPlatforms.Linux, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Pkg.API.add), ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linuxarmv7l/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:90
[12] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at /buildworker/worker/package_linuxarmv7l/build/usr/share/julia/stdlib/v1.3/Pkg/src/API.jl:72
[13] do_add!(::Dict{Symbol,Any}, ::Array{Pkg.Types.PackageSpec,1}, ::Dict{Symbol,Any}) at /buildworker/worker/package_linuxarmv7l/build/usr/share/julia/stdlib/v1.3/Pkg/src/REPLMode.jl:505
[14] #invokelatest#1(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Base.invokelatest), ::Any, ::Any, ::Vararg{Any,N} where N) at ./essentials.jl:709
[15] invokelatest(::Any, ::Any, ::Vararg{Any,N} where N) at ./essentials.jl:708
[16] do_cmd!(::Pkg.REPLMode.Command, ::REPL.LineEditREPL) at /buildworker/worker/package_linuxarmv7l/build/usr/share/julia/stdlib/v1.3/Pkg/src/REPLMode.jl:412
[17] #do_cmd#23(::Bool, ::typeof(Pkg.REPLMode.do_cmd), ::REPL.LineEditREPL, ::String) at /buildworker/worker/package_linuxarmv7l/build/usr/share/julia/stdlib/v1.3/Pkg/src/REPLMode.jl:391
[18] do_cmd at /buildworker/worker/package_linuxarmv7l/build/usr/share/julia/stdlib/v1.3/Pkg/src/REPLMode.jl:387 [inlined]
[19] (::Pkg.REPLMode.var"#28#31"{REPL.LineEditREPL,REPL.LineEdit.Prompt})(::REPL.LineEdit.MIState, ::Base.GenericIOBuffer{Array{UInt8,1}}, ::Bool) at /buildworker/worker/package_linuxarmv7l/build/usr/share/julia/stdlib/v1.3/Pkg/src/REPLMode.jl:619
[20] #invokelatest#1 at ./essentials.jl:709 [inlined]
[21] invokelatest at ./essentials.jl:708 [inlined]
[22] run_interface(::REPL.Terminals.TextTerminal, ::REPL.LineEdit.ModalInterface, ::REPL.LineEdit.MIState) at /buildworker/worker/package_linuxarmv7l/build/usr/share/julia/stdlib/v1.3/REPL/src/LineEdit.jl:2306
[23] run_frontend(::REPL.LineEditREPL, ::REPL.REPLBackendRef) at /buildworker/worker/package_linuxarmv7l/build/usr/share/julia/stdlib/v1.3/REPL/src/REPL.jl:1045
[24] run_repl(::REPL.AbstractREPL, ::Any) at /buildworker/worker/package_linuxarmv7l/build/usr/share/julia/stdlib/v1.3/REPL/src/REPL.jl:201
[25] (::Base.var"#770#772"{Bool,Bool,Bool,Bool})(::Module) at ./client.jl:382
[26] #invokelatest#1 at ./essentials.jl:709 [inlined]
[27] invokelatest at ./essentials.jl:708 [inlined]
[28] run_main_repl(::Bool, ::Bool, ::Bool, ::Bool, ::Bool) at ./client.jl:366
[29] exec_options(::Base.JLOptions) at ./client.jl:304
[30] _start() at ./client.jl:460 |
Is |
try |
of course, it's a pull request, not a branch... |
So just some final feedback, this branhc is what made GLMaike work on an RPI! So huge thumbs up from me! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PR looks good to me overall. It's still in a "draft" state. Does that mean something still needs to be added or changed?
It adds some new CI configs, which I think brings the total to four. What is considered best practice for Julia packages these days? Should some of the old CI integrations (e.g. Travis) be removed because they're redundant?
CMake = "≥ 1.1.1" | ||
julia = "≥ 1.0.0" | ||
julia = "1.3.0" | ||
GLFW_jll = "3.3.0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this pin deps to a specific version; should there be a ≥?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, it doesn't. This means any sem-ver compatible version, that is any version from 1.3.0 (included) to 2.0 (excluded)
There is not a best practice, but generally speaking the more platforms you test, the better. This is especially true for packages depending on binary libraries, I often found real bugs testing on uncommon platforms, like ARM or FreeBSD. |
This is a proof-of-concept of using JLL packages to provide the binary library.
CC: @SimonDanisch @ianshmean