JuliaCI / julia-buildbot

Buildbot configuration for build.julialang.org
MIT License
18 stars 14 forks source link

New Windows builder fails #32

Closed staticfloat closed 8 years ago

staticfloat commented 9 years ago

Hey @tkelman I'm a little stumped on this one. I'm in the process of rebuilding the Windows buildbots (rather than jumping through all the hoops in the julia-vagrant repo to create a VM image, then uploading that image to OpenStack, I'm instead starting with whatever default windows image the VM provider we're currently using has, and then adding the necessary packages on using powershell scripts which were inspired by you) and I'm running into a bizarre problem with cygwin's cmake.

The first time I tried anything, I got a rather mysterious error which I then traced down to the fact that cmake was being invoked as /bin/cmake and not /usr/bin/cmake:

cd libgit2/build/ && \
cmake .. -DCMAKE_INSTALL_PREFIX:PATH=/home/Administrator/buildbot/slave/package_win6_2-x64/build/usr -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_C_COMPILER="x86_64-w64-mingw32-gcc" -DCMAKE_C_COMPILER_ARG1="-m64 " -DCMAKE_CXX_COMPILER="x86_64-w64-mingw32-g++" -DCMAKE_CXX_COMPILER_ARG1="-m64 " -DTHREADSAFE=ON -DWIN32=ON -DMINGW=ON -DUSE_SSH=OFF -DCMAKE_SYSTEM_NAME=Windows -DBUILD_CLAR=OFF -DCMAKE_RC_COMPILER=`which x86_64-w64-mingw32-windres` -DDLLTOOL=`which x86_64-w64-mingw32-dlltool` -DCMAKE_FIND_ROOT_PATH=/usr/x86_64-w64-mingw32 -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
Makefile:1961: recipe for target 'libgit2/build/Makefile' failed
make[1]: Leaving directory '/home/Administrator/buildbot/slave/package_win6_2-x64/build/deps'
CMake Error: Could not find CMAKE_ROOT !!!
CMake has most likely not been installed correctly.
Modules directory not found in
//share/cmake-3.3.1
CMake Error: Error executing cmake::LoadCache(). Aborting.

make[1]: *** [libgit2/build/Makefile] Error 1
Makefile:51: recipe for target 'julia-deps' failed
make: *** [julia-deps] Error 2

Full log.

I then attempted to change the PATH (you can always see the current environment in blue text at the top of every buildbot step) and now it seems that the shell can't find cmake at all.

cd libgit2/build/ && \
cmake .. -DCMAKE_INSTALL_PREFIX:PATH=/home/Administrator/buildbot/slave/package_win6_2-x64/build/usr -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_C_COMPILER="x86_64-w64-mingw32-gcc" -DCMAKE_C_COMPILER_ARG1="-m64 " -DCMAKE_CXX_COMPILER="x86_64-w64-mingw32-g++" -DCMAKE_CXX_COMPILER_ARG1="-m64 " -DTHREADSAFE=ON -DWIN32=ON -DMINGW=ON -DUSE_SSH=OFF -DCMAKE_SYSTEM_NAME=Windows -DBUILD_CLAR=OFF -DCMAKE_RC_COMPILER=`which x86_64-w64-mingw32-windres` -DDLLTOOL=`which x86_64-w64-mingw32-dlltool` -DCMAKE_FIND_ROOT_PATH=/usr/x86_64-w64-mingw32 -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY
Makefile:1961: recipe for target 'libgit2/build/Makefile' failed
make[1]: Leaving directory '/home/Administrator/buildbot/slave/package_win6_2-x64/build/deps'
Makefile:51: recipe for target 'julia-deps' failed
/bin/sh: line 1: cmake: command not found
make[1]: *** [libgit2/build/Makefile] Error 127
make: *** [julia-deps] Error 2

Full log.

If I login via SSH, I can invoke cmake just fine. Is there anything particularly special about cygwin that I might be missing here?

tkelman commented 9 years ago

I'd say "maybe we should report this to the cygwin cmake maintainer" if that weren't me.

How are you starting cygwin?

staticfloat commented 9 years ago

So far it's always been my logging in via SSH; I've got an SSH server running as a service, using this script. Should I try it by just opening a cygwin terminal on the machine over RDP?

tkelman commented 9 years ago

It's worth trying. There might be some mounting or other bashrc type commands that would normally get run but aren't happening for ssh?

staticfloat commented 9 years ago

Alright, I got past it. Thanks!

tkelman commented 9 years ago

What wound up being the issue?

staticfloat commented 9 years ago

I had tried to remove /bin/cmake.exe to force it to use /usr/bin/cmake.exe, but those two directories are the same under cygwin. Orz

So I had to re-install cmake and run it not via SSH, but through the cygwin shell.

staticfloat commented 9 years ago

@tkelman could you try out the latest win64 binary and ensure it's getting signed properly? I think we may be back up and running on win64!

tkelman commented 9 years ago

Can't remember what my machine would do for an unsigned binary but I'll try and compare in a bit. The sign step appears to be successful, but the report success isn't?

staticfloat commented 9 years ago

Yeah, for some reason the windows builds can't make HTTPS connections to status.julialang.org. Trying to figure it out, but it's bizarre.

tkelman commented 9 years ago

It used to work. How much is different between the old image and the new?

staticfloat commented 9 years ago

I'm using a windows server 2012 base instead of windows 8.1 pro, so potentially a lot.

On Fri, Sep 4, 2015, 6:31 PM Tony Kelman notifications@github.com wrote:

It used to work. How much is different between the old image and the new?

— Reply to this email directly or view it on GitHub https://github.com/staticfloat/julia-buildbot/issues/32#issuecomment-137892026 .

tkelman commented 9 years ago

Interesting, I wonder if this is related to https://github.com/JuliaLang/ZMQ.jl/issues/90#issuecomment-134346731 ?

Is it server 2012 R2? That should theoretically be pretty similar to windows 8 I would think, but I guess the default security settings are different?

tkelman commented 8 years ago

This was worked around by sending the status pings from the master rather than the buildslaves, good enough for me.