# File lib/phusion_passenger/platform_info/compiler.rb, line 287
        def self.try_compile_and_run(description, language, source, flags = nil)
                extension = detect_language_extension(language)
                create_temp_file("passenger-run-check.#{extension}", tmpexedir) do |filename, f|
                        f.puts(source)
                        f.close
                        command = create_compiler_command(language,
                                "'#{filename}' -o '#{filename}.out'",
                                flags, true)
                        if run_compiler(description, command, filename, source)
                                log("Running #{filename}.out")
                                begin
                                        output = `'#{filename}.out' 2>&1`
                                rescue SystemCallError => e
                                        log("Command failed: #{e}")
                                        return false
                                end
                                status = $?.exitstatus
                                log("Command exited with status #{status}. Output:\n--------------\n#{output}\n--------------")
                                return status == 0
                        else
                                return false
                        end
                end
        end