docs: def check_ready(self, throw_error=True):
  		"""Check that all modules are ready to be built, calling check_ready on
  		each of those configured to be built and not already installed
  		(see shutit.is_installed).
  		"""
  		shutit_global.shutit_global_object.yield_to_draw()
  		cfg = self.cfg
  		self.log('PHASE: check_ready', level=logging.DEBUG)
  		errs = []
  		self.pause_point('\nNow checking whether we are ready to build modules configured to be built', print_input=False, level=3)
  		# Find out who we are to see whether we need to log in and out or not.
  		for module_id in self.module_ids():
  			module = self.shutit_map[module_id]
  			self.log('considering check_ready (is it ready to be built?): ' + module_id, level=logging.DEBUG)
  			if cfg[module_id]['shutit.core.module.build'] and module.module_id not in self.get_current_shutit_pexpect_session_environment().modules_ready and not self.is_installed(module):
  				self.log('checking whether module is ready to build: ' + module_id, level=logging.DEBUG)
  				self.login(prompt_prefix=module_id,command=shutit_global.shutit_global_object.bash_startup_command,echo=False)
  				# Move to the correct directory (eg for checking for the existence of files needed for build)
  				revert_dir = os.getcwd()
  				self.get_current_shutit_pexpect_session_environment().module_root_dir = os.path.dirname(self.shutit_file_map[module_id])
  				self.chdir(self.get_current_shutit_pexpect_session_environment().module_root_dir)
  				if not self.is_ready(module) and throw_error:
  					errs.append((module_id + ' not ready to install.\nRead the check_ready function in the module,\nor log messages above to determine the issue.\n\n', self.get_shutit_pexpect_session_from_id('target_child')))
  				self.logout(echo=False)
  				self.chdir(revert_dir)
  		return errs