BinDeps: include not defined


#1

I can’t make sense of the following error thrown by BinDeps. In Julia 0.7, I get

julia> using BinDeps

julia> BinDeps.debug("HSL")
WARNING: importing deprecated binding Base.STDOUT into BinDeps.
WARNING: Base.STDOUT is deprecated, use stdout instead.
 in module BinDeps
in debug at /Users/dpo/.julia/packages/BinDeps/ZEval/src/debug.jl
[ Info: Reading build script...
┌ Warning: `Pkg.dir(pkgname, paths...)` is deprecated; instead, do `import HSL; joinpath(dirname(pathof(HSL)), "..", paths...)`.
└ @ Pkg.API /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v0.7/Pkg/src/API.jl:454
┌ Warning: `eval(m, x)` is deprecated, use `Core.eval(m, x)` instead.
│   caller = eval_anon_module(::BinDeps.PackageContext, ::String) at BinDeps.jl:557
└ @ BinDeps ~/.julia/packages/BinDeps/ZEval/src/BinDeps.jl:557
ERROR: LoadError: UndefVarError: include not defined
Stacktrace:
 [1] top-level scope at none:0
 [2] include at ./boot.jl:317 [inlined]
 [3] include_relative(::Module, ::String) at ./loading.jl:1038
 [4] include at ./sysimg.jl:29 [inlined]
 [5] eval_anon_module(::BinDeps.PackageContext, ::String) at /Users/dpo/.julia/packages/BinDeps/ZEval/src/BinDeps.jl:558
 [6] macro expansion at ./logging.jl:310 [inlined]
 [7] debug_context(::String) at /Users/dpo/.julia/packages/BinDeps/ZEval/src/debug.jl:48
 [8] debug(::Base.TTY, ::String) at /Users/dpo/.julia/packages/BinDeps/ZEval/src/debug.jl:57
 [9] debug(::String) at /Users/dpo/.julia/packages/BinDeps/ZEval/src/debug.jl:69
 [10] top-level scope at none:0
in expression starting at /Users/dpo/dev/julia/JSO/HSL.jl/deps/build.jl:21

Line 21 of build.jl includes the following file:

libblas = library_dependency("libblas")
liblapack = library_dependency("liblapack")

@static if Sys.isapple()
  provides(Homebrew.HB, "homebrew/core/openblas", libblas, os=:Darwin)
  provides(Homebrew.HB, "homebrew/core/openblas", liblapack, os=:Darwin)
end

provides(AptGet, "libblas-dev", libblas, os=:Linux)
provides(AptGet, "liblapack-dev", liblapack, os=:Linux)

The build succeeds on macOS, but fails on Ubuntu with the message

ERROR: LoadError: None of the selected providers can install dependency libblas.
│ Use BinDeps.debug(package_name) to see available providers

However, the include not defined error also occurs on macOS.

Any idea what’s happening?

Thanks!


#2

Cross-posted at https://github.com/JuliaPackaging/BinDeps.jl/issues/392.


#3

There doesn’t appear to be a package called HSL though?


#4

Not a registered one anyways.


#5

Isn’t there another package that could provide libblas, that one looks a bit like it might be a baremodule
Not sure if it might want BinDeps.debug("libblas")