Pkg3 'No sh engine found...'


#1

Hi, I built the latest (yesterday) master of Julia and am struggling to get Pk3 up and running. I’m on Win10 and it can’t find a program to run sh files:


(v0.7) pkg> develop Tokenize
  Updating git-repo `https://github.com/KristofferC/Tokenize.jl.git`
┌ Warning: packages will require to have a [Julia]Project.toml file in the future
└ @ Pkg.Types Types.jl:817
[ Info: Path `C:\Users\zacnu\.julia\dev\Tokenize` exists and looks like the correct package, using existing path instead of cloning
 Resolving package versions...
ERROR: No sh engines found. We looked for: E:\cygin64\home\zacnu\julia7\usr\bin\busybox.exe, sh. Install one and ensure it is available on the path.
Stacktrace:
 [1] error at .\error.jl:33 [inlined]
 [2] #probe_platform_engines!#14(::Bool, ::Function) at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\PlatformEngines.jl:346
 [3] probe_platform_engines! at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\PlatformEngines.jl:138 [inlined]
 [4] apply_versions(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}, ::Dict{Base.UUID,Base.SHA1}, ::Dict{Base.UUID,Array{String,1}}) at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\Operations.jl:464
 [5] apply_versions at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\Operations.jl:460 [inlined]
 [6] #add_or_develop#52(::Array{Base.UUID,1}, ::Function, ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\Operations.jl:974
 [7] #add_or_develop at .\<missing>:0 [inlined]
 [8] #add_or_develop#8(::Symbol, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\API.jl:39
 [9] #add_or_develop at .\<missing>:0 [inlined]
 [10] do_add_or_develop!(::Pkg.Types.Context, ::Array{Union{Pkg.Types.VersionRange, String, Pkg.REPLMode.Command, Pkg.REPLMode.Option, Pkg.REPLMode.Rev},1}, ::Pkg.REPLMode.CommandKind) at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\REPLMode.jl:595
 [11] #invokelatest#1 at .\essentials.jl:670 [inlined]
 [12] invokelatest at .\essentials.jl:669 [inlined]
 [13] do_cmd!(::Array{Union{Pkg.Types.VersionRange, String, Pkg.REPLMode.Command, Pkg.REPLMode.Option, Pkg.REPLMode.Rev},1}, ::REPL.LineEditREPL) at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\REPLMode.jl:275
 [14] #do_cmd#8(::Bool, ::Function, ::REPL.LineEditREPL, ::String) at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\REPLMode.jl:235
 [15] do_cmd at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\REPLMode.jl:232 [inlined]
 [16] (::getfield(Pkg.REPLMode, Symbol("##27#30")){REPL.LineEditREPL,REPL.LineEdit.Prompt})(::REPL.LineEdit.MIState, ::Base.GenericIOBuffer{Array{UInt8,1}}, ::Bool) at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\REPLMode.jl:950
 [17] top-level scope

I assume there’s something in cygin that’ll do the job, any tips on where it is/ how to add it to my path?
Thanks

EDIT: full stacktrace added


#2

Looks like something is expecting busybox, I’m not sure what though. We’re not using busy in Pkg3 at all (that I’m aware of).


#3

Please open an issue on the Pkg.jl repo.


#4

for ref: https://github.com/JuliaLang/Pkg.jl/issues/345


#5

I opened a PR that should fix it.