# File src/ruby_supportlib/phusion_passenger/abstract_installer.rb, line 136
    def check_dependencies(show_new_screen = true)
      new_screen if show_new_screen
      puts "<banner>Checking for required software...</banner>"
      puts

      PhusionPassenger.require_passenger_lib 'platform_info/depcheck'
      specs, ids = dependencies
      runner = PlatformInfo::Depcheck::ConsoleRunner.new

      specs.each do |spec|
        PlatformInfo::Depcheck.load(spec)
      end
      ids.each do |id|
        runner.add(id)
      end

      if runner.check_all
        return true
      else
        puts
        puts "<red>Some required software is not installed.</red>"
        puts "But don't worry, this installer will tell you how to install them.\n"
        puts "<b>Press Enter to continue, or Ctrl-C to abort.</b>"
        if PhusionPassenger.originally_packaged?
          wait
        else
          wait(10)
        end

        line
        puts
        puts "<banner>Installation instructions for required software</banner>"
        puts
        runner.missing_dependencies.each do |dep|
          puts " * To install <yellow>#{dep.name}</yellow>:"
          puts "   #{dep.install_instructions}"
          puts
        end
        puts "If the aforementioned instructions didn't solve your problem, then please take"
        puts "a look at our documentation for troubleshooting tips:"
        puts
        puts "  <yellow>#{install_doc_url}</yellow>"
        puts "  <yellow>#{troubleshooting_doc_url}</yellow>"
        return false
      end
    end