With v1.0, I find that I get errors building Plots or NLopt when I start julia with a ./.julia/config/startup.jl file that contains using Revise, and/or using OhMyREPL but if I start without the startup file, the packages build normally.
With the startup file containing using Revise, the error is below. With using OhMyREPL, a similar error occurs. This is reproducible. I’m not sure where to report this, if it’s a bug. Perhaps I’m doing something wrong.
(v1.0) pkg> build Plots
Building GR ───→ `~/.julia/packages/GR/fnyt8/deps/build.log`
┌ Error: Error building `GR`:
│ ERROR: LoadError: ArgumentError: Package Revise not found in current path:
│ - Run `Pkg.add("Revise")` to install the Revise package.
│
│ Stacktrace:
│ [1] require(::Module, ::Symbol) at ./loading.jl:817
│ [2] include at ./boot.jl:317 [inlined]
│ [3] include_relative(::Module, ::String) at ./loading.jl:1038
│ [4] include at ./sysimg.jl:29 [inlined]
│ [5] include_ifexists at ./client.jl:191 [inlined]
│ [6] load_julia_startup() at ./client.jl:288
│ [7] exec_options(::Base.JLOptions) at ./logging.jl:312
│ [8] _start() at ./client.jl:421
│ in expression starting at /home/michael/.julia/config/startup.jl:1
└ @ Pkg.Operations /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/Operations.jl:1068
Building Plots → `~/.julia/packages/Plots/MnXMC/deps/build.log`
┌ Error: Error building `Plots`:
│ ERROR: LoadError: ArgumentError: Package Revise not found in current path:
│ - Run `Pkg.add("Revise")` to install the Revise package.
│
│ Stacktrace:
│ [1] require(::Module, ::Symbol) at ./loading.jl:817
│ [2] include at ./boot.jl:317 [inlined]
│ [3] include_relative(::Module, ::String) at ./loading.jl:1038
│ [4] include at ./sysimg.jl:29 [inlined]
│ [5] include_ifexists at ./client.jl:191 [inlined]
│ [6] load_julia_startup() at ./client.jl:288
│ [7] exec_options(::Base.JLOptions) at ./logging.jl:312
│ [8] _start() at ./client.jl:421
│ in expression starting at /home/michael/.julia/config/startup.jl:1
└ @ Pkg.Operations /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.0/Pkg/src/Operations.jl:1068
(v1.0) pkg>
Oh and I forgot to say, in the meantime you can wrap your startup file statements in a try … catch. Then the build step should still run. My startup.jl looks like this:
# OhMyREPL
try
@eval using OhMyREPL
OhMyREPL.colorscheme!("TomorrowNightBright24bit")
OhMyREPL.enable_autocomplete_brackets(false)
catch err
@warn "OhMyREPL could not be started" err
end
# Revise
try
@eval using Revise
Revise.async_steal_repl_backend()
catch err
@warn "Revise could not be started" err
end