<div dir="ltr">Hello Rob,<div><br></div><div>This works fine -- Thank You!</div><div><br></div><div>... but then something goes wrong in the compilation:</div><div><br></div><div><div>pycbf_wrap.c</div><div>c:\cctbx_17\base\hdf5-1.8.16\include\H5public.h(158) : error C2371: &#39;ssize_t&#39; :</div><div>redefinition; different basic types</div><div>        c:\cctbx_17\base\bin\python\include\pyconfig.h(205) : see declaration of</div><div> &#39;ssize_t&#39;</div><div>scons: *** [cbflib\pycbf\pycbf_wrap.obj] Error 2</div><div>scons: building terminated because of errors.</div><div>usr+sys time: 9.47 seconds</div><div>wall clock time: 4 minutes 22.11 seconds (262.11 seconds total)</div><div>Process failed with return code 2</div></div><div><br></div><div>;)</div><div><br></div><div>Horst</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 6 April 2017 at 14:37, R.D. Oeffner <span dir="ltr">&lt;<a href="mailto:rdo20@cam.ac.uk" target="_blank">rdo20@cam.ac.uk</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u>
<div style="font-size:10pt">
<p>Hi Horst,</p>
<p>I just committed a fix to bootstrap.py to allow anonymous build. If you get it with:</p>
<p><span style="font-family:courier new,courier">curl <a href="https://raw.githubusercontent.com/cctbx/cctbx_project/master/libtbx/auto_build/bootstrap.py" target="_blank">https://raw.githubusercontent.<wbr>com/cctbx/cctbx_project/<wbr>master/libtbx/auto_build/<wbr>bootstrap.py</a> &gt; bootstrap.py</span></p>
<p>and then do the build with:</p><span class="">
<p><span style="font-family:courier new,courier"><span style="font-size:13.33px">C:\Python27\python.exe </span><span style="font-size:13.33px">bootstr<wbr>ap.py --builder=cctbx</span><span style="font-size:13.33px"></span></span></p>
</span><p><span style="font-size:13.3333px">this works for me. I did not encounter the RuntimeError you mentioned. </span></p>
<p><span style="font-size:13.3333px">Let me know if it doesn&#39;t work,</span></p>
<p><span style="font-size:13.3333px"></span></p>
<p><span style="font-size:13.3333px">Rob</span></p><div><div class="h5">
<p> </p>
<p> </p>
<p>On 06/04/2017 12:28, Horst Puschmann wrote:</p>
<blockquote type="cite" style="padding-left:5px;border-left:#1010ff 2px solid;margin-left:5px">
<div dir="ltr">Hello Rob,
<div> </div>
<div>Yes, this is the command I am using:</div>
<div> </div>
<div><span style="font-size:13.3333px">C:\Python27\python.exe </span><span style="font-size:13.3333px">bootstr<wbr>ap.py --builder=cctbx</span></div>
<div><span style="font-size:13.3333px"> </span></div>
<div><span style="font-size:13.3333px">Everything works fine (and I don&#39;t think it&#39;s too slow!) -- but that last call to python can not work, since it calls a directory:</span></div>
<div><span style="font-size:13.3333px"> </span></div>
<div>
<div><span style="font-size:13.3333px">    raise RuntimeError(&quot;Could not run %s: File not found&quot; % executable)</span></div>
<div><span style="font-size:13.3333px">RuntimeError: Could not run base\bin\python: File not found</span></div>
</div>
<div><span style="font-size:13.3333px"> </span></div>
<div><span style="font-size:13.3333px">if it called</span></div>
<div><span style="font-size:13.3333px"> </span></div>
<div>
<div><span style="font-size:13.3333px">base\bin\python\python instead, it would work.</span></div>
</div>
<div><span style="font-size:13.3333px"> </span></div>
<div><span style="font-size:13.3333px">Of course, I don&#39;t know what might not work after that step....</span></div>
<div><span style="font-size:13.3333px"> </span></div>
<div><span style="font-size:13.3333px">Horst</span></div>
<div><span style="font-size:13.3333px"> </span></div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On 6 April 2017 at 12:17, R.D. Oeffner <span>&lt;<a href="mailto:rdo20@cam.ac.uk" target="_blank">rdo20@cam.ac.uk</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span style="text-decoration:underline"></span>
<div style="font-size:10pt">
<p>Hi Horst and Markus,</p>
<p>Horst are you using a command line such as:</p>
<p>C:\Python\python.exe <wbr>bootstrap.py --builder=cctbx</p>
<p>I realise this is broken because I never tested rigorously for anonymous builds of CCTBX on Windows. Am in the process of fixing this.</p>
<p>Markus you are correct that the roundabout way to get hot packages from CCI is because rsync does not exist on Windows. With Git installed on windows curl and a few other Unix tools do exist. This was a quick solution for making a Windows build Phenix, Dials and CCTBX where it has been running smoothly since August last year. The Robocopy calls for deleting files is a solution, albeit cumbersome for deleting very long file paths on Windows (&gt;255 characters). Pythons shutil.rmtree() will fail in such cases. File deletion on Windows is always much slower than on UNIX by design.</p>
<p>Making bootstrap.py and Buildbot work on Windows has been taken up a lot of work given that Buildbot seems to has been designed in denial of the existence of Windows and Microsoft until recently have been in denial of open source solutions.</p>
<p> </p>
<p>Rob</p>
<div>
<div class="m_88338274568123699h5">
<p> </p>
<p>On 06/04/2017 10:50, <a href="mailto:markus.gerstel@diamond.ac.uk" target="_blank">markus.gerstel@diamond.ac.uk</a> wrote:</p>
<blockquote style="padding-left:5px;border-left:#1010ff 2px solid;margin-left:5px">
<pre>Hi Horst, Rob

I had a brief look at the bootstrap script. If I understand it correctly only authenticated access is allowed at the moment due to the unique way the download archives are constructed.

I am not entirely sure why the sequence to download the &#39;hot&#39; packages (I did not venture further into the bootstrap process) consists of
 * ssh&#39;ing to CCI servers
 * creating a TAR archive
 * downloading said archive via SCP
 * unpacking the archive
instead of going down the conventional route of
 * downloading the default TAR archive via HTTP (yes, they&#39;re called .gz because someone was lazy, but they are .tar.gz files)
 * unpacking the archive

I suspect that this is due to the absence of CURL on Windows machines combined with how the bootstrap script is intertwined with the buildbot testing system. Internally, the bootstrap script uses an &quot;_add_curl&quot; call to download files. When run within the buildbot testing system this presumably gets replaced by an actual call to the &#39;curl&#39; program, which doesn&#39;t exist on Windows, and so would fail. However, when you run bootstrap.py directly _add_curl actually uses an internal downloading routine, which works.
(If true, this would simply be one more example of why buildbot determining the layout of bootstrap is both limiting and dangerous. The solution for that of course would be to install CURL for Windows (and/or replace buildbot))

So I guess the two lines in add_module, <a href="https://github.com/cctbx/cctbx_project/blob/master/libtbx/auto_build/bootstrap.py#L1124" target="_blank">https://github.com/cctbx/<wbr>cctbx_project/blob/master/<wbr>libtbx/auto_build/bootstrap.<wbr>py#L1124</a>
    if self.isPlatformWindows():
       tarurl, arxname, dirpath = MODULES.get_module(module)().<wbr>get_tarauthenticated(auth=<wbr>self.get_auth())
could be removed along with all references to tarauthenticated?

As Horst already said there is more going wrong here. The ROBOCOPY calls are *incredibly* slow for something that could/should be done in pure python instead (shutil.rmtree?). The ssl &#39;workaround&#39; uses internal methods, which are not available on older versions of Python.

The error at the end is presumably that the python interpreter is called python.exe on Windows?

-Markus


-----Original Message-----
From: <a href="mailto:cctbxbb-bounces@phenix-online.org" target="_blank">cctbxbb-bounces@phenix-online.<wbr>org</a> [mailto:<a href="mailto:cctbxbb-bounces@phenix-online.org" target="_blank">cctbxbb-bounces@<wbr>phenix-online.org</a>] On Behalf Of R. D. Oeffner
Sent: 06 April 2017 10:18
To: <a href="mailto:horst.puschmann@gmail.com" target="_blank">horst.puschmann@gmail.com</a>; <a href="mailto:cctbxbb@phenix-online.org" target="_blank">cctbxbb@phenix-online.org</a>
Subject: Re: [cctbxbb] bootstrap.py on windows

Dear Horst,

I&#39;ll look into that. FYI you can also get Windows builds of CCTBX. See email below. You may have to resort using bundles from a few days ago because the two last nightly builds on windows are broken.

Rob

-----Original Message-----
From: R. D. Oeffner
Sent: Sunday, March 19, 2017 3:49 PM
To: Billy Poon ; <a href="mailto:nwmoriarty@lbl.gov" target="_blank">nwmoriarty@lbl.gov</a>
Subject: Re: Windows builds for cctbx

There should now be CCTBX builds for Windows in the most recent folders on <a href="http://cci.lbl.gov/cctbx_build" target="_blank">http://cci.lbl.gov/cctbx_build</a> . They are just the sources and the build directory zipped into an archive and does not include an installation program like the graphical Phenix installer for Windows. Presumably people wanting to use only CCTBX are sufficiently computer savvy to cope with this.

Rob


--
Robert Oeffner, Ph.D.
Research Associate, The Read Group
Department of Haematology,
Cambridge Institute for Medical Research University of Cambridge Cambridge Biomedical Campus Wellcome Trust/MRC Building Hills Road Cambridge CB2 0XY

<a href="http://www.cimr.cam.ac.uk/investigators/read/index.html" target="_blank">www.cimr.cam.ac.uk/<wbr>investigators/read/index.html</a>
tel: <a href="tel:+44%201223%20763234" target="_blank">+44(0)1223 763234</a>
mobile: <a href="tel:+44%207712%20887162" target="_blank">+44(0)7712 887162</a>
-----Original Message-----
From: Horst Puschmann
Sent: Thursday, April 6, 2017 9:59 AM
To: <a href="mailto:cctbxbb@phenix-online.org" target="_blank">cctbxbb@phenix-online.org</a>
Subject: [cctbxbb] bootstrap.py on windows


Hello

I am trying to install the cctbx on a Windows 7 64 bit machine using the 
following bootstrap.py file:

<a href="https://raw.githubusercontent.com/cctbx/cctbx_project/master/libtbx/auto_build/bootstrap.py" target="_blank">https://raw.githubusercontent.<wbr>com/cctbx/cctbx_project/<wbr>master/libtbx/auto_build/<wbr>bootstrap.py</a>

The script will fail, unless I comment out lines 1101 and 1102:

    #if self.isPlatformWindows():
      #tarurl, arxname, dirpath = 
MODULES.get_module(module)().<wbr>get_tarauthenticated(auth=<wbr>self.get_auth())

If it tries to execute the commented lines, the error will be &quot;KeyError: 
&#39;cciuser&#39; in line 590&quot;

After commenting this out, it will fail in line 271, with &quot;AttributeError: 
&#39;module&#39; object has no attribute &#39;_create_unverified_context&#39;&quot;

I can get round that with disabling line 247:

      if sys.platform == &quot;win32&quot;:

(i.e. change this to       if sys.platform == &quot;xxx&quot;:)


After that, things start downloading. All appears well until the same thing 
happens again in another bootstrap.py file in 
\modules\cctbx_project\libtbx\<wbr>auto_build\bootstrap.py

If I disable *that*, it goes further but fails finally with

===== Running in build: run configure.py
Traceback (most recent call last):
  File &quot;bootstrap.py&quot;, line 2113, in &lt;module&gt;
    run()
  File &quot;bootstrap.py&quot;, line 2108, in run
    enable_shared=options.enable_<wbr>shared,
  File &quot;bootstrap.py&quot;, line 1036, in run
    i.run()
  File &quot;bootstrap.py&quot;, line 189, in run
    raise RuntimeError(&quot;Could not run %s: File not found&quot; % executable)
RuntimeError: Could not run base\bin\python: File not found


I guess the automatic tests haven&#39;t picked this up, because no 
authentication is needed, maybe?

Greetings
Horst

Virus-free. <a href="http://www.avg.com" target="_blank">www.avg.com</a>





______________________________<wbr>_________________
cctbxbb mailing list
<a href="mailto:cctbxbb@phenix-online.org" target="_blank">cctbxbb@phenix-online.org</a>
<a href="http://phenix-online.org/mailman/listinfo/cctbxbb" target="_blank">http://phenix-online.org/<wbr>mailman/listinfo/cctbxbb</a> 

______________________________<wbr>_________________
cctbxbb mailing list
<a href="mailto:cctbxbb@phenix-online.org" target="_blank">cctbxbb@phenix-online.org</a>
<a href="http://phenix-online.org/mailman/listinfo/cctbxbb" target="_blank">http://phenix-online.org/<wbr>mailman/listinfo/cctbxbb</a>
</pre>
</blockquote>
<p> </p>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
<p> </p>
</div></div></div>
</blockquote></div><br></div>