JuliaPackaging / BinaryBuilder.jl

Binary Dependency Builder for Julia
https://binarybuilder.org
Other
392 stars 101 forks source link

Windows support #25

Open davidanthoff opened 7 years ago

davidanthoff commented 7 years ago

On Windows, I cloned https://github.com/staticfloat/NettleBuilder and then try to run build_tarballs.jl. I get the following error:

INFO: Building nettle as it is unsatisfied
ERROR: LoadError: error compiling #DockerRunner#34: could not load library "libc"
The specified module could not be found.

Stacktrace:
 [1] (::Core.#kw#Type)(::Array{Any,1}, ::Type{BinaryBuilder.DockerRunner}) at .\<missing>:0
 [2] #build#44(::Bool, ::Bool, ::Bool, ::Bool, ::Function, ::BinaryBuilder.Dependency) at C:\Users\anthoff\.julia\v0.6\BinaryBuilder\src\Dependency.jl:126
 [3] (::BinaryBuilder.#kw##build)(::Array{Any,1}, ::BinaryBuilder.#build, ::BinaryBuilder.Dependency) at .\<missing>:0
 [4] (::##4#6)(::BinaryProvider.Prefix) at C:\Users\anthoff\source\NettleBuilder\build_tarballs.jl:51
 [5] mktempdir(::BinaryProvider.##97#99{##4#6}, ::String) at .\file.jl:392
 [6] cd(::##3#5, ::String) at .\file.jl:59
 [7] macro expansion at C:\Users\anthoff\source\NettleBuilder\build_tarballs.jl:29 [inlined]
 [8] anonymous at .\<missing>:?
 [9] include_from_node1(::String) at .\loading.jl:569
 [10] include(::String) at .\sysimg.jl:14
 [11] process_options(::Base.JLOptions) at .\client.jl:305
 [12] _start() at .\client.jl:371
while loading C:\Users\anthoff\source\NettleBuilder\build_tarballs.jl, in expression starting on line 22
staticfloat commented 7 years ago

Yeah....... that stuff should be wrapped in linux only stuff.

staticfloat commented 7 years ago

Fixed in de8d6df

staticfloat commented 7 years ago

Or rather, that particular issue is fixed, but windows support is still anyone's guess. So try again now?

Keno commented 7 years ago

Or wait until we've gotten around to actually trying this on other platforms ;).

davidanthoff commented 7 years ago

Alright, I'll wait until you give a green light for Windows. Having said that, I did try it one more time ;) here is the log output:

INFO: Building nettle as it is unsatisfied
INFO: Updating build image staticfloat/julia_crossbuild:x64, this may take a few minutes. To disable automatic image updating, set the `BINBUILD_IMAGE_AUTOUPDATE` environment variable to `"false"` in your shell environment or in your `~/.juliarc.jl` file.
INFO: [BuildStep nettle/configure_0]
INFO:   `./nettle-3.3/configure --host=i686-linux-gnu --prefix=/`
docker: Error response from daemon: invalid bind mount spec "/C/Users/anthoff/AppData/Local/Temp/jl_2F22.tmp:C:\\Users\\anthoff\\AppData\\Local\\Temp\\jl_2F22.tmp": invalid mode: \Users\anthoff\AppData\Local\Temp\jl_2F22.tmp.
See 'docker run --help'.
ERROR: LoadError: Build step nettle/configure_0 did not complete successfully

Stacktrace:
 [1] #build#44(::Bool, ::Bool, ::Bool, ::Bool, ::Function, ::BinaryBuilder.Dependency) at C:\Users\anthoff\.julia\v0.6\BinaryBuilder\src\Dependency.jl:139
 [2] (::BinaryBuilder.#kw##build)(::Array{Any,1}, ::BinaryBuilder.#build, ::BinaryBuilder.Dependency) at .\<missing>:0
 [3] (::##4#6)(::BinaryProvider.Prefix) at C:\Users\anthoff\source\NettleBuilder\build_tarballs.jl:51
 [4] mktempdir(::BinaryProvider.##97#99{##4#6}, ::String) at .\file.jl:392
 [5] cd(::##3#5, ::String) at .\file.jl:59
 [6] macro expansion at C:\Users\anthoff\source\NettleBuilder\build_tarballs.jl:29 [inlined]
 [7] anonymous at .\<missing>:?
 [8] include_from_node1(::String) at .\loading.jl:569
 [9] include(::String) at .\sysimg.jl:14
 [10] process_options(::Base.JLOptions) at .\client.jl:305
 [11] _start() at .\client.jl:371
while loading C:\Users\anthoff\source\NettleBuilder\build_tarballs.jl, in expression starting on line 22
staticfloat commented 7 years ago

Mmm, yeah, looks like the paths aren't getting passed to the windows docker daemon properly. We probably need to do the equivalent of cygpath -w to them. But this may become a moot issue, as Keno's next goal is to eliminate the need for Docker in the first place, so the official response here is "Hold Tight". :)