# File lib/phusion_passenger/abstract_installer.rb, line 134
        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 the Users Guide:"
                        puts
                        puts "  <yellow>#{users_guide_path}</yellow>"
                        puts "  <yellow>#{users_guide_url}</yellow>"
                        return false
                end
        end