<div dir="ltr">For the 2nd step that Aaron mentioned, if certain packages are to be skipped during the base step, you can also run bootstrap.py with the flag --skip-base-packages and specify the packages to be skipped separated by a comma. For example<div><br></div><div>python bootstrap.py base --builder=cctbx --skip-base-packages hdf5,lz4_plugin</div><div><br></div><div>Best Wishes</div><div>Asmit</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 7, 2018 at 3:08 PM, Aaron Brewster <span dir="ltr">&lt;<a href="mailto:asbrewster@lbl.gov" target="_blank">asbrewster@lbl.gov</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Hey folks, especially Rob and Luc.  So after a quick change to iotbx/libtbx_config, it turns out there&#39;s a way to get a super minimum version of cctbx, without configuring dxtbx, and it takes advantage of existing mechanisms:</div><ul><li>python bootstrap.py --builder=cctbx hot update<br></li><li>python modules/cctbx_project/libtbx/<wbr>auto_build/install_base_<wbr>packages.py openssl python python_compatibility certifi numpy cython png libsvm pytest pythonextra jinja2 junitxml biopython docutils sphinx pyopengl misc freetype matplotlib pillow gettext glib expat fontconfig render pixman tiff cairo gtk fonts wxpython<br></li><li>mkdir build; cd build<br></li><li>../base/bin/python ../modules/cctbx_project/<wbr>libtbx/configure.py cctbx iotbx<br></li><li>make</li></ul><div>Now, some details as to why this works.  First, the cctbx builder in boostrap.py doesn&#39;t download cbflib so cbflib is never configured.  Next, the base step of bootstrap.py is simply a call to install_base_packages.py with a list of required packages.  You can just run it standalone and get the packages you need.  Here, I ran &quot;python bootstrap.py --builder=cctbx base&quot;, killed it after I saw the list of packages it was going to install, then ran install_base_packages manually after removing hdf5 and lz4 (which depends on hdf5) from the list.  One could imagine removing other packages depending on your use case.  With that, I could run configure.py directly.  I can&#39;t use cctbx by itself as the cctbx/maptbx/SConscript file has a dependency on iotbx, but configuring cctbx and iotbx together seems to work.<br></div><div><br></div><div>The key trick was to make iotbx only depend on dxtbx if dxtbx is explicitly configured.  I used a keyword in libtbx_configure added by Luc a bit ago: optional_modules_only_if_<wbr>explicit_request.  I committed that change just now.</div><div><br></div><div>Outstanding questions:</div><div><ol><li>Is there interest in making this a builder? It would be straightforward to add a builder named cctbx_minimal which would just do the above steps</li><li>Is there further need for making cbflib and hdf5 optional in dxtbx?  I purport there is not as the above procedure seems to satisfy the use case, but I can be persuaded otherwise.<br></li></ol><div>Thanks,</div></div><div>-Aaron</div></div>
<br>______________________________<wbr>_________________<br>
cctbxbb mailing list<br>
<a href="mailto:cctbxbb@phenix-online.org">cctbxbb@phenix-online.org</a><br>
<a href="http://phenix-online.org/mailman/listinfo/cctbxbb" rel="noreferrer" target="_blank">http://phenix-online.org/<wbr>mailman/listinfo/cctbxbb</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr">Asmit Bhowmick, Ph.D<div>Molecular Biophysics &amp; Integrated Bioimaging Division</div><div>Lawrence Berkeley National Laboratory</div><div><span style="font-size:12.8px">1 Cyclotron Rd., Bldg. 33, Room 349B</span><br style="font-size:12.8px"><span style="font-size:12.8px">Berkeley, CA 94720</span><br></div><div><span style="font-size:12.8px">Cell: 510.684.6011</span></div></div></div></div></div></div></div>
</div>