# Error trying to build system image on Windows

**URL:** https://discourse.julialang.org/t/error-trying-to-build-system-image-on-windows/2745
**Category:** General Usage
**Tags:** question
**Created:** [March 18, 2017, 8:56am UTC](https://discourse.julialang.org/t/error-trying-to-build-system-image-on-windows/2745 "2017-03-18T08:56:49Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![greg\_plowman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/greg_plowman/32/8100_2.png) [@greg\_plowman](https://discourse.julialang.org/u/greg_plowman)
#### Post date: [March 18, 2017, 8:56am UTC](https://discourse.julialang.org/t/error-trying-to-build-system-image-on-windows/2745/1 "2017-03-18T08:56:49Z")

</div>

I’m trying to build a Julia system image on Windows 10.  
(following [http://docs.julialang.org/en/stable/devdocs/sysimg/#building-the-julia-system-image](http://docs.julialang.org/en/stable/devdocs/sysimg/#building-the-julia-system-image))

First I installed `gcc`:

```julia
Pkg.add("WinRPM")
using WinRPM
WinRPM.install("gcc")

```

Then I ran `build_sysimg`:

```julia
include(joinpath(JULIA_HOME, Base.DATAROOTDIR, "julia", "build_sysimg.jl"))
build_sysimg(force=true)

```

This is the (summarised) output, ending with error:

```julia
INFO: Building inference.o
...

INFO: Building sys.o
...

INFO: Linking sys.dll
c:/users/greg/.julia/v0.5/winrpm/deps/usr/x86_64-w64-mingw32/sys-root/mingw/bin/../lib/gcc/x86_64-w64-mingw32/6.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: c
annot find -lpthread
collect2.exe: error: ld returned 1 exit status
ERROR: failed process: Process(`'C:\Users\Greg\.julia\v0.5\WinRPM\deps\usr\x86_64-w64-mingw32\sys-root\mingw\bin\gcc.exe' '-LC:\Temp\Julia-0.5.1-m3\bin' -shared
 -ljulia -lssp -o 'C:\Temp\Julia-0.5.1-m3\bin\..\lib\julia\sys.dll' 'C:\Temp\Julia-0.5.1-m3\bin\..\lib\julia\sys.o'`, ProcessExited(1)) [1]
 in link_sysimg(::String, ::String, ::Bool) at C:\Temp\Julia-0.5.1-m3\share\julia\build_sysimg.jl:163
 in (::##2#3{Bool,String})() at C:\Temp\Julia-0.5.1-m3\share\julia\build_sysimg.jl:84
 in cd(::##2#3{Bool,String}, ::String) at .\file.jl:48
 in #build_sysimg#1(::Bool, ::Bool, ::Function, ::Void, ::String, ::Void) at C:\Temp\Julia-0.5.1-m3\share\julia\build_sysimg.jl:48
 in (::#kw##build_sysimg)(::Array{Any,1}, ::#build_sysimg, ::Void, ::String, ::Void) at .\<missing>:0 (repeats 2 times)
 in eval_user_input(::Any, ::Base.REPL.REPLBackend) at .\REPL.jl:64
 in macro expansion at .\REPL.jl:95 [inlined]
 in (::Base.REPL.##3#4{Base.REPL.REPLBackend})() at .\event.jl:68

```

How can I diagnose the problem?

---

<div class="post-metadata">

### Author: ![tkelman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkelman/32/692_2.png) [@tkelman](https://discourse.julialang.org/u/tkelman)
#### Post date: [March 18, 2017, 10:11am UTC](https://discourse.julialang.org/t/error-trying-to-build-system-image-on-windows/2745/2 "2017-03-18T10:11:15Z")

</div>

The build\_sysimg script might need some slight tweaking to the link command that it runs to account for changes in the gcc packaging from WinRPM. Try `WinRPM.install("winpthreads-devel", yes=true)` and see if that helps.

---

<div class="post-metadata">

### Author: ![greg\_plowman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/greg_plowman/32/8100_2.png) [@greg\_plowman](https://discourse.julialang.org/u/greg_plowman)
#### Post date: [March 18, 2017, 11:23am UTC](https://discourse.julialang.org/t/error-trying-to-build-system-image-on-windows/2745/3 "2017-03-18T11:23:19Z")

</div>

It works!

```julia
INFO: Linking sys.dll
INFO: System image successfully built at C:\Temp\Julia-0.5.1-m4\bin\..\lib\julia\sys.dll
INFO: Julia will automatically load this system image at next startup

```

Thank you very much!

---

<div class="post-metadata">

### Author: ![greg\_plowman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/greg_plowman/32/8100_2.png) [@greg\_plowman](https://discourse.julialang.org/u/greg_plowman)
#### Post date: [March 18, 2017, 11:33am UTC](https://discourse.julialang.org/t/error-trying-to-build-system-image-on-windows/2745/4 "2017-03-18T11:33:40Z")

</div>

Can I safely ignore these warnings after `INFO: Building sys.o`:

```julia
WARNING: Method definition (::Type{#T<:Any})(Any) in module Inference at coreimg.jl:39 overwritten in module Base at sysimg.jl:53.
...

WARNING: Method definition searchsortedfirst(AbstractArray{T<:Any, 1}, Any) in module Sort at sort.jl:185 overwritten at sort.jl:188.
WARNING: Method definition searchsortedlast(AbstractArray{T<:Any, 1}, Any) in module Sort at sort.jl:185 overwritten at sort.jl:188.
WARNING: Method definition searchsorted(AbstractArray{T<:Any, 1}, Any) in module Sort at sort.jl:185 overwritten at sort.jl:188.

```

---

<div class="post-metadata">

### Author: ![Martin\_Florek](https://avatars.discourse-cdn.com/v4/letter/m/f4b2a3/32.png) [@Martin\_Florek](https://discourse.julialang.org/u/Martin_Florek)
#### Post date: [April 4, 2017, 9:13am UTC](https://discourse.julialang.org/t/error-trying-to-build-system-image-on-windows/2745/5 "2017-04-04T09:13:37Z")

</div>

I think yes, they are always there. My experience over the last six months.

---

<div class="post-metadata">

### Author: ![Martin\_Florek](https://avatars.discourse-cdn.com/v4/letter/m/f4b2a3/32.png) [@Martin\_Florek](https://discourse.julialang.org/u/Martin_Florek)
#### Post date: [April 11, 2017, 1:02pm UTC](https://discourse.julialang.org/t/error-trying-to-build-system-image-on-windows/2745/6 "2017-04-11T13:02:41Z")

</div>

@tkelman today, I tested it on native windows 7 and windows8.1 (VirtualBox). I got error

```julia
C:\Users\M\Desktop\Julia-0.5.0\share\julia\base\precompile.jl
INFO: Linking sys.dll
ERROR: failed process: Process(`'C:\Users\M\.julia\v0.5\WinRPM\deps\usr\x86_64-w64-mingw32\sys-root\mingw\bin\gcc.exe' '-LC:\Users
\M\Desktop\Julia-0.5.0\bin' -shared -ljulia -lssp -o 'C:\Users\M\Desktop\Julia-0.5.0\bin\..\lib\julia\sys.dll' 'C:\Users\M\Desktop
\Julia-0.5.0\bin\..\lib\julia\sys.o'`, ProcessExited(1)) [1]
 in run at .\process.jl:592 [inlined]
 in link_sysimg(::String, ::String, ::Bool) at C:\Users\M\Desktop\Julia-0.5.0\share\julia\build_sysimg.jl:163
 in (::##2#3{Bool,String})() at C:\Users\M\Desktop\Julia-0.5.0\share\julia\build_sysimg.jl:84
 in cd(::##2#3{Bool,String}, ::String) at .\file.jl:48
 in #build_sysimg#1(::Bool, ::Bool, ::Function, ::Void, ::String, ::Void) at C:\Users\M\Desktop\Julia-0.5.0\share\julia\build_sysi
mg.jl:48
 in (::#kw##build_sysimg)(::Array{Any,1}, ::#build_sysimg, ::Void, ::String, ::Void) at .\<missing>:0 (repeats 2 times)
 in eval_user_input(::Any, ::Base.REPL.REPLBackend) at .\REPL.jl:64
 in macro expansion at .\REPL.jl:95 [inlined]
 in (::Base.REPL.##3#4{Base.REPL.REPLBackend})() at .\event.jl:68

```

It’s not working ☹ Maybe, what are the requirements for pc?

---

<div class="post-metadata">

### Author: ![tkelman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tkelman/32/692_2.png) [@tkelman](https://discourse.julialang.org/u/tkelman)
#### Post date: [April 11, 2017, 2:54pm UTC](https://discourse.julialang.org/t/error-trying-to-build-system-image-on-windows/2745/7 "2017-04-11T14:54:12Z")

</div>

What happens if you run  
`C:\Users\M\.julia\v0.5\WinRPM\deps\usr\x86_64-w64-mingw32\sys-root\mingw\bin\gcc.exe -LC:\Users\M\Desktop\Julia-0.5.0\bin -shared -ljulia -lssp -o C:\Users\M\Desktop\Julia-0.5.0\bin\..\lib\julia\sys.dll C:\Users\M\Desktop\Julia-0.5.0\bin\..\lib\julia\sys.o`  
from a command prompt? This may not work any more with Julia 0.5.0 and the latest WinRPM packages, 0.5.1 might work better.
