Problem installing Plots.jl (a FFMPEG issue)

I get:

julia> Base.find_curl()
"C:\\WINDOWS\\System32\\curl.exe"

After doing:

Base.find_curl() = nothing

I get a problem again:

I also downloaded and installed the latest version of curl.exe and tried:

Base.find_curl() = "C:\\curl\\curl.exe"

but got exactly the same error message. I checked https://github.com/JuliaLang/julia/blob/master/base/download.jl
and in lines 29-30 I get the impression that download will always look for C:\\WINDOWS\\System32\\curl.exe no matter what :cry:

This looks like a CURL problem, there is an error message about schannel

What alternative do I have, then?

  1. Google the error and try to fix it (being a screenshot it’s not particularly easy for me to google it for you)
  2. Try renaming C:\WINDOWS\System32\curl.exe to something else, so that Julia will not find it and fallback to PowerShell. If you’re lucky, that may work better. if you’re unlucky, you’ll have other problems to fix

Thanks for your time. I’ve done my best, but it seems to me that I will end going back to R, as a statistician and non computer specialist, to deal with this kind of issues is hard: “come for the syntax, stay for the speed, and run away if you are not a computer professional” :cry:

I’m sorry to hear this, I hope you’ll reconsider your decision in the near future.

I just want to point out that the issue is not due to you not being a computer professional, but to the fact that it’s incredibly hard to find a reliable tool to download files from the Internet. Ideally, downloading a file should be something transparent for the user, I’m confident that a solution will be found soon.

3 Likes

I have been using R for more than 20 years, and NEVER had this kind of issues downloading packages in R, neither security problems. Probably I should wait a few more years to try Julia again, I thought that after a 1.0 version of Julia was the right moment for a statistician to jump into it. My mistake :cry:

2 Likes

I see that you work at UNAM, maybe a chat with @dpsanders will make you change your mind :slight_smile:

2 Likes

Good tip! :smiley::+1: I’ll get in touch with him. Thanks a lot!

1 Like

I was finally able to precompile Plots through:

julia> 
(v1.2) pkg> add https://github.com/giordano/FFMPEG.jl#tmp
   Cloning git-repo `https://github.com/giordano/FFMPEG.jl`
  Updating git-repo `https://github.com/giordano/FFMPEG.jl`
 Resolving package versions...
  Updating `C:\Users\aerde\.juliapro\JuliaPro_v1.2.0-1\environments\v1.2\Project.toml`
  [c87230d0] ↑ FFMPEG v0.2.2 ⇒ v0.2.3 #tmp (https://github.com/giordano/FFMPEG.jl)
  Updating `C:\Users\aerde\.juliapro\JuliaPro_v1.2.0-1\environments\v1.2\Manifest.toml`
  [c87230d0] ↑ FFMPEG v0.2.2 ⇒ v0.2.3 #tmp (https://github.com/giordano/FFMPEG.jl)
  Building FFMPEG → `C:\Users\aerde\.juliapro\JuliaPro_v1.2.0-1\packages\FFMPEG\Q8BJv\deps\build.log`

(v1.2) pkg> 

julia> using Plots
[ Info: Precompiling Plots [91a5bcdd-55d7-5caf-9e0b-520d859cae80]

But why one has to do this sort of things to make things work for such a simple task as installing a package? So your personal fork is more reliable than Julia’s https://github.com/JuliaIO/FFMPEG.jl?

Because this is a new way to provide binaries and we’re rounding off the rough edges. The problem with FFMPEG in particular is quite unfortunate, as it wasn’t initially caught by the continuous integration service that we use (AppVeyor) and the Windows installation on Travis is incomplete and broken for use with FFMPEG, thus unreliable.

The fix will go in the official FFMPEG.jl package in the next days. I made the fork to quickly test a possible fix that I found :slight_smile:

6 Likes

Thanks a lot for your help and time, I really appreciate it :smiley: :+1:

1 Like

Would it be a good idea to take a look how is R doing this in windows reliably?

2 Likes

I have tried just installing package Plots and get

I think this should work out of the box.
I’m unhappy.

1 Like

Via adding

I have tried via your personal repo, too.

It’s 22 NOV 2020 and I’m still seeing a similar problem:

┌ Info: Precompiling Plots [91a5bcdd-55d7-5caf-9e0b-520d859cae80] └ @ Base loading.jl:1192 ERROR: LoadError: FFMPEG not installed properly, run ] build FFMPEG, restart Julia and try again Stacktrace: [1] error(::String) at .\error.jl:33 [2] top-level scope at C:\Users\wojciechowskik\.juliapro\JuliaPro_v1.0.5-2\packages\FFMPEG\8bbhD\src\FFMPEG.jl:18 [3] include at .\boot.jl:317 [inlined] [4] include_relative(::Module, ::String) at .\loading.jl:1044 [5] include(::Module, ::String) at .\sysimg.jl:29 [6] top-level scope at none:2 [7] eval at .\boot.jl:319 [inlined] [8] eval(::Expr) at .\client.jl:393 [9] top-level scope at .\none:3 in expression starting at C:\Users\wojciechowskik\.juliapro\JuliaPro_v1.0.5-2\packages\FFMPEG\8bbhD\src\FFMPEG.jl:16 ERROR: LoadError: Failed to precompile FFMPEG [c87230d0-a227-11e9-1b43-d7ebe4e7570a] to C:\Users\wojciechowskik\.juliapro\JuliaPro_v1.0.5-2\compiled\v1.0\FFMPEG\TGvga.ji. Stacktrace: [1] error(::String) at .\error.jl:33 [2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1203 [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:317 [inlined] [7] include_relative(::Module, ::String) at .\loading.jl:1044 [8] include(::Module, ::String) at .\sysimg.jl:29 [9] top-level scope at none:2 [10] eval at .\boot.jl:319 [inlined] [11] eval(::Expr) at .\client.jl:393 [12] top-level scope at .\none:3 in expression starting at C:\Users\wojciechowskik\.juliapro\JuliaPro_v1.0.5-2\packages\Plots\E3MWZ\src\Plots.jl:15 Deps path: C:\Users\wojciechowskik\.juliapro\JuliaPro_v1.0.5-2\packages\FFMPEG\8bbhD\src\..\deps\deps.jl `Failed to precompile Plots [91a5bcdd-55d7-5caf-9e0b-520d859cae80] to C:\Users\wojciechowskik.juliapro\JuliaPro_v1.0.5-2\compiled\v1.0\Plots\ld3vC.ji.

Stacktrace:
[1] error(::String) at .\error.jl:33
[2] compilecache(::Base.PkgId, ::String) at .\loading.jl:1203
[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] top-level scope at In[11]:1`

1 Like

Did you ever resolve your issue? If not, I have something for you to try. Please let me know.

I am by no means a Julia problem solving expert so just a heads-up, but I had a similar issue for MONTHS and just resolved it today.

Please let me know what version of Julia and OS you are running. Cheers.

(I am Julia 1.5.3 and Windows 10 64-bit and primarily using Julia through Atom/Juno.)