Skip to content
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

IOError: could not spawn 7z x electron-v2.0.5-win32-x64.zip -oatom: no such file or directory (ENOENT) #194

Closed
anthonyagudelox3 opened this issue Mar 29, 2019 · 8 comments

Comments

@anthonyagudelox3
Copy link

I receive the following error when trying to build Blink.jl on Julia 1.0.3.1 on Windows 10 OS. Do you know what is causing this?

Building Blink ────→ C:\Users\Thor\.juliapro\JuliaPro_v1.0.3.1\packages\Blink\6QR5U\deps\build.log
┌ Error: Error building Blink:
│ ERROR: LoadError: IOError: could not spawn 7z x electron-v2.0.5-win32-x64.zip -oatom: no such file or directory (ENOENT)
│ Stacktrace:
│ [1] _jl_spawn(::String, ::Array{String,1}, ::Cmd, ::Tuple{RawFD,RawFD,RawFD}) at .\process.jl:367
│ [2] (::getfield(Base, Symbol("##493#494")){Cmd})(::Tuple{RawFD,RawFD,RawFD}) at .\process.jl:509
│ [3] setup_stdio(::getfield(Base, Symbol("##493#494")){Cmd}, ::Tuple{RawFD,RawFD,RawFD}) at .\process.jl:490
│ [4] #_spawn#492(::Nothing, ::Function, ::Cmd, ::Tuple{RawFD,RawFD,RawFD}) at .\process.jl:508
│ [5] _spawn at .\process.jl:504 [inlined]
│ [6] #run#503(::Bool, ::Function, ::Cmd) at .\process.jl:662
│ [7] run at .\process.jl:661 [inlined]
│ [8] (::getfield(Main.BuildBlink, Symbol("##1#2")))() at C:\Users\Thor.juliapro\JuliaPro_v1.0.3.1\packages\Blink\6QR5U\src\AtomShell\install.jl:48
│ [9] cd(::getfield(Main.BuildBlink, Symbol("##1#2")), ::String) at .\file.jl:85
│ [10] install() at C:\Users\Thor.juliapro\JuliaPro_v1.0.3.1\packages\Blink\6QR5U\src\AtomShell\install.jl:27
│ [11] top-level scope at C:\Users\Thor.juliapro\JuliaPro_v1.0.3.1\packages\Blink\6QR5U\deps\build.jl:14
│ [12] include at .\boot.jl:317 [inlined]
│ [13] include_relative(::Module, ::String) at .\loading.jl:1044
│ [14] include(::Module, ::String) at .\sysimg.jl:29
│ [15] include(::String) at .\client.jl:392
│ [16] top-level scope at none:0
│ in expression starting at C:\Users\Thor.juliapro\JuliaPro_v1.0.3.1\packages\Blink\6QR5U\deps\build.jl:13
└ @ Pkg.Operations C:\Users\julia\AppData\Local\Julia-1.0.3\share\julia\stdlib\v1.0\Pkg\src\Operations.jl:1136

@anthonyagudelox3
Copy link
Author

@gtollefson

@linearlyIndependent
Copy link

linearlyIndependent commented May 23, 2019

Having a similar error with Linux on my project's GitLab pipeline.

Julia 1.1, Blink 0.10.1


Building Blink ───────→ "~/.julia/packages/Blink/1QOOi/deps/build.log"

┌ Error: Error building "Blink": 
│   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
│                                  Dload  Upload   Total   Spent    Left  Speed
│ 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  386k  100  386k    0     0  1412k      0 --:--:-- --:--:-- --:--:-- 1416k
│   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
│                                  Dload  Upload   Total   Spent    Left  Speed
│ 
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   618    0   618    0     0   2624      0 --:--:-- --:--:-- --:--:--  2618
│ 
 99 71.6M   99 71.4M    0     0  65.0M      0  0:00:01  0:00:01 --:--:-- 65.0M
100 71.6M  100 71.6M    0     0  65.2M      0  0:00:01  0:00:01 --:--:--  211M
│ ERROR: LoadError: IOError: could not spawn "unzip -q electron-v4.0.4-linux-x64.zip -d atom": no such file or directory (ENOENT)
│ Stacktrace:
│  [1] _spawn_primitive(::String, ::Cmd, ::Array{Any,1}) at ./process.jl:400
│  [2] setup_stdios(::getfield(Base, Symbol("##505#506")){Cmd}, ::Array{Any,1}) at ./process.jl:413
│  [3] _spawn at ./process.jl:412 [inlined]
│  [4] #run#515(::Bool, ::Function, ::Cmd) at ./process.jl:725
│  [5] run at ./process.jl:724 [inlined]
│  [6] (::getfield(Main.BuildBlink, Symbol("##1#4")))() at /root/.julia/packages/Blink/1QOOi/src/AtomShell/install.jl:79
│  [7] cd(::getfield(Main.BuildBlink, Symbol("##1#4")), ::String) at ./file.jl:96
│  [8] install() at /root/.julia/packages/Blink/1QOOi/src/AtomShell/install.jl:27
│  [9] top-level scope at /root/.julia/packages/Blink/1QOOi/deps/build.jl:14
│  [10] include at ./boot.jl:326 [inlined]
│  [11] include_relative(::Module, ::String) at ./loading.jl:1038
│  [12] include(::Module, ::String) at ./sysimg.jl:29
│  [13] include(::String) at ./client.jl:403
│  [14] top-level scope at none:0
│ in expression starting at /root/.julia/packages/Blink/1QOOi/deps/build.jl:13
└ @ Pkg.Operations /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:1075

@jsr38
Copy link

jsr38 commented Jul 30, 2019

The error is somewhat unclear. What it can't find is the 7z binary on OP's system or unzip binary on the subsequent poster's system.

@twavv
Copy link
Member

twavv commented Jul 30, 2019

It looks like we require 7z on Windows and unzip on Linux. You'll need to install the appropriate one for your system to be able to install Electron (in the case of Linux, apt get install -y unzip or similar should work).

A note for CI: make sure you're running with xvfb-run ... (which will also require installation) because CI environments don't have a window environment which will cause Electron to fail.

@twavv twavv closed this as completed Jul 30, 2019
@NHDaly
Copy link
Collaborator

NHDaly commented Jul 31, 2019

There was a whole conversation about this in this PR:
#177

We didn't want to force users to install 7z, and Julia comes with 7z bundled on windows, so if you have Julia in your PATH, we can find its 7z as well.

... With the benefit of hindsight, I think we could use Julia's dirname(Base.julia_cmd().exec[1]) to get the Julia directory rather than that weird PATH stuff we do in #177, which would fix this issue for good. Would love a PR there from any Windows users who could test this!!! 😊❤️

I think the change would be to replace this line:

zipper = joinpath(ENV["LOCALAPPDATA"], juliafolders[i], "bin", "7z.exe")

with this:

 zipper = joinpath(dirname(Base.julia_cmd().exec[1]), "7z.exe") 

Any windows users out there want to make this change and give it a whirl?

@NHDaly NHDaly reopened this Jul 31, 2019
NHDaly added a commit that referenced this issue Jul 31, 2019
Add note about `7z` / `unzip` dependency:
    - For #194
@NHDaly
Copy link
Collaborator

NHDaly commented Jul 31, 2019

In the meantime, I've added a note to the README about this dependency in 89e33de

@twavv
Copy link
Member

twavv commented Dec 28, 2019

I think(?) this should be fixed for most installations by #229

@NHDaly Can we close this issue? :^)

@twavv twavv closed this as completed Dec 31, 2019
@NHDaly
Copy link
Collaborator

NHDaly commented Dec 31, 2019

LGTM thanks @travigd !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants