title: Getting Started Tutorial Error: uncaught throw "Cannot file target sproutcore for entry lib/index.rhtml"
body: <p>I'm using Mac OS-X Lion, have Ruby on Rails 3.0 already preinstalled  and doing the Getting Started Tutorial for Sproutcore (http://sproutcore.com/guides/getting_started.html). When I run the server and hit: <a href="http://localhost:4020/todos" rel="nofollow">http://localhost:4020/todos</a>. I get the follow error in my terminal: </p>
  
  <pre><code>   bash-3.2# sc-server 
      SproutCore v1.7.1.beta Development Server
      Allowing access only from IPs: 127.0.0.1. Use --allow-from-ips='*.*.*.*' to allow all
      Starting server at http://0.0.0.0:4020 in debug mode
      To quit sc-server, press Control-C
  &gt;&gt; Thin web server (v1.2.11 codename Bat-Shit Crazy)
  &gt;&gt; Maximum connections set to 1024
  &gt;&gt; Listening on 0.0.0.0:4020, CTRL+C to stop
  WARN 22:18:34.009 ~ Could not find target sproutcore/core_foundation that is required by /todos 
  WARN 22:18:34.009 ~ Could not find target sproutcore/empty_theme that is required by /todos 
  WARN 22:18:34.009 ~ Could not find target sproutcore/core_foundation that is required by /todos 
  ArgumentError: uncaught throw "Cannot file target sproutcore for entry lib/index.rhtml"
      /usr/local/sproutcore/lib/sproutcore/models/manifest.rb:316:in `throw'
      /usr/local/sproutcore/lib/sproutcore/models/manifest.rb:316:in `entry_for'
      /usr/local/sproutcore/lib/sproutcore/builders/html.rb:55:in `layout_entry'
      /usr/local/sproutcore/lib/sproutcore/builders/html.rb:61:in `layout_path'
      /usr/local/sproutcore/lib/sproutcore/builders/html.rb:106:in `render'
      /usr/local/sproutcore/lib/sproutcore/builders/html.rb:122:in `build'
      /usr/local/sproutcore/lib/sproutcore/builders/base.rb:35:in `build'
      /usr/local/sproutcore/lib/buildtasks/build.rake:68:in `block (2 levels) in define!'
      /usr/local/sproutcore/lib/sproutcore/buildfile/task.rb:231:in `call'
      /usr/local/sproutcore/lib/sproutcore/buildfile/task.rb:231:in `block in execute'
      /usr/local/sproutcore/lib/sproutcore/buildfile/task.rb:226:in `each'
      /usr/local/sproutcore/lib/sproutcore/buildfile/task.rb:226:in `execute'
      /usr/local/sproutcore/lib/sproutcore/buildfile/task.rb:183:in `invoke_with_call_chain'
      /usr/local/sproutcore/lib/sproutcore/buildfile/task.rb:140:in `invoke'
      /usr/local/sproutcore/lib/sproutcore/buildfile.rb:214:in `invoke'
      /usr/local/sproutcore/lib/sproutcore/models/manifest_entry.rb:347:in `build_to'
      /usr/local/sproutcore/lib/sproutcore/models/manifest_entry.rb:259:in `build!'
      /usr/local/sproutcore/lib/sproutcore/rack/builder.rb:129:in `block (2 levels) in call'
      /usr/local/sproutcore/lib/sproutcore.rb:161:in `profile'
      /usr/local/sproutcore/lib/sproutcore/rack/builder.rb:128:in `block in call'
      &lt;internal:prelude&gt;:10:in `synchronize'
      /usr/local/sproutcore/lib/sproutcore/rack/builder.rb:89:in `call'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/cascade.rb:23:in `block in call'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/cascade.rb:22:in `each'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/cascade.rb:22:in `call'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/showexceptions.rb:24:in `call'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/recursive.rb:43:in `_call'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/recursive.rb:38:in `call'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/conditionalget.rb:25:in `call'
      /usr/local/sproutcore/lib/sproutcore/rack/restrict_ip.rb:59:in `call'
      /usr/local/sproutcore/lib/sproutcore/rack/service.rb:117:in `call'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thin-1.2.11/lib/thin/connection.rb:84:in `block in pre_process'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thin-1.2.11/lib/thin/connection.rb:82:in `catch'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thin-1.2.11/lib/thin/connection.rb:82:in `pre_process'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thin-1.2.11/lib/thin/connection.rb:57:in `process'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thin-1.2.11/lib/thin/connection.rb:42:in `receive_data'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/eventmachine-1.0.0.beta.4/lib/eventmachine.rb:179:in `run_machine'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/eventmachine-1.0.0.beta.4/lib/eventmachine.rb:179:in `run'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thin-1.2.11/lib/thin/backends/base.rb:61:in `start'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thin-1.2.11/lib/thin/server.rb:159:in `start'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/handler/thin.rb:13:in `run'
      /usr/local/sproutcore/lib/sproutcore/rack/service.rb:93:in `start'
      /usr/local/sproutcore/lib/sproutcore/tools/server.rb:65:in `server'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/task.rb:22:in `run'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/invocation.rb:118:in `invoke_task'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor.rb:263:in `dispatch'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/base.rb:389:in `start'
      /usr/local/sproutcore/lib/sproutcore/tools.rb:452:in `start'
      /usr/local/sproutcore/lib/sproutcore/tools.rb:30:in `invoke'
      /usr/bin/sc-server:11:in `&lt;main&gt;'
  ArgumentError: uncaught throw "Cannot file target sproutcore for entry lib/index.rhtml"
      /usr/local/sproutcore/lib/sproutcore/models/manifest.rb:316:in `throw'
      /usr/local/sproutcore/lib/sproutcore/models/manifest.rb:316:in `entry_for'
      /usr/local/sproutcore/lib/sproutcore/builders/html.rb:55:in `layout_entry'
      /usr/local/sproutcore/lib/sproutcore/builders/html.rb:61:in `layout_path'
      /usr/local/sproutcore/lib/sproutcore/builders/html.rb:106:in `render'
      /usr/local/sproutcore/lib/sproutcore/builders/html.rb:122:in `build'
      /usr/local/sproutcore/lib/sproutcore/builders/base.rb:35:in `build'
      /usr/local/sproutcore/lib/buildtasks/build.rake:68:in `block (2 levels) in define!'
      /usr/local/sproutcore/lib/sproutcore/buildfile/task.rb:231:in `call'
      /usr/local/sproutcore/lib/sproutcore/buildfile/task.rb:231:in `block in execute'
      /usr/local/sproutcore/lib/sproutcore/buildfile/task.rb:226:in `each'
      /usr/local/sproutcore/lib/sproutcore/buildfile/task.rb:226:in `execute'
      /usr/local/sproutcore/lib/sproutcore/buildfile/task.rb:183:in `invoke_with_call_chain'
      /usr/local/sproutcore/lib/sproutcore/buildfile/task.rb:140:in `invoke'
      /usr/local/sproutcore/lib/sproutcore/buildfile.rb:214:in `invoke'
      /usr/local/sproutcore/lib/sproutcore/models/manifest_entry.rb:347:in `build_to'
      /usr/local/sproutcore/lib/sproutcore/models/manifest_entry.rb:259:in `build!'
      /usr/local/sproutcore/lib/sproutcore/rack/builder.rb:129:in `block (2 levels) in call'
      /usr/local/sproutcore/lib/sproutcore.rb:161:in `profile'
      /usr/local/sproutcore/lib/sproutcore/rack/builder.rb:128:in `block in call'
      &lt;internal:prelude&gt;:10:in `synchronize'
      /usr/local/sproutcore/lib/sproutcore/rack/builder.rb:89:in `call'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/cascade.rb:23:in `block in call'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/cascade.rb:22:in `each'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/cascade.rb:22:in `call'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/showexceptions.rb:24:in `call'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/recursive.rb:43:in `_call'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/recursive.rb:38:in `call'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/conditionalget.rb:25:in `call'
      /usr/local/sproutcore/lib/sproutcore/rack/restrict_ip.rb:59:in `call'
      /usr/local/sproutcore/lib/sproutcore/rack/service.rb:117:in `call'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thin-1.2.11/lib/thin/connection.rb:84:in `block in pre_process'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thin-1.2.11/lib/thin/connection.rb:82:in `catch'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thin-1.2.11/lib/thin/connection.rb:82:in `pre_process'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thin-1.2.11/lib/thin/connection.rb:57:in `process'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thin-1.2.11/lib/thin/connection.rb:42:in `receive_data'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/eventmachine-1.0.0.beta.4/lib/eventmachine.rb:179:in `run_machine'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/eventmachine-1.0.0.beta.4/lib/eventmachine.rb:179:in `run'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thin-1.2.11/lib/thin/backends/base.rb:61:in `start'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thin-1.2.11/lib/thin/server.rb:159:in `start'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/handler/thin.rb:13:in `run'
      /usr/local/sproutcore/lib/sproutcore/rack/service.rb:93:in `start'
      /usr/local/sproutcore/lib/sproutcore/tools/server.rb:65:in `server'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/task.rb:22:in `run'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/invocation.rb:118:in `invoke_task'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor.rb:263:in `dispatch'
      /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/base.rb:389:in `start'
      /usr/local/sproutcore/lib/sproutcore/tools.rb:452:in `start'
      /usr/local/sproutcore/lib/sproutcore/tools.rb:30:in `invoke'
      /usr/bin/sc-server:11:in `&lt;main&gt;'
  </code></pre>
  
  <p>Here's the log when I hit the page:</p>
  
  <pre><code>    ArgumentError at /todos
      uncaught throw "Cannot file target sproutcore for entry lib/index.rhtml"
  
  Ruby    /usr/local/sproutcore/lib/sproutcore/models/manifest.rb: in throw, line 316
  Web GET localhost/todos
  Jump to:
  GETPOSTCookiesENV
  Traceback (innermost first)
  
  /usr/local/sproutcore/lib/sproutcore/models/manifest.rb: in throw
            throw "Cannot file target #{target_name} for entry #{filename}"...
  /usr/local/sproutcore/lib/sproutcore/models/manifest.rb: in entry_for
            throw "Cannot file target #{target_name} for entry #{filename}"...
  /usr/local/sproutcore/lib/sproutcore/builders/html.rb: in layout_entry
        @manifest.entry_for(@layout) || @manifest.entry_for(@layout, :hidden =&gt; true)...
  /usr/local/sproutcore/lib/sproutcore/builders/html.rb: in layout_path
        entry = layout_entry...
  /usr/local/sproutcore/lib/sproutcore/builders/html.rb: in render
        if self.layout_path.nil?...
  /usr/local/sproutcore/lib/sproutcore/builders/html.rb: in build
        writelines dst_path, [self.render]...
  /usr/local/sproutcore/lib/sproutcore/builders/base.rb: in build
          new(entry).build(dst_path)...
  /usr/local/sproutcore/lib/buildtasks/build.rake: in block (2 levels) in define!
      SC::Builder::Html.build env[:entry], env[:dst_path]...
  /usr/local/sproutcore/lib/sproutcore/buildfile/task.rb: in call
            act.call(self, args)...
  /usr/local/sproutcore/lib/sproutcore/buildfile/task.rb: in block in execute
            act.call(self, args)...
  /usr/local/sproutcore/lib/sproutcore/buildfile/task.rb: in each
        @actions.each do |act|...
  /usr/local/sproutcore/lib/sproutcore/buildfile/task.rb: in execute
        @actions.each do |act|...
  /usr/local/sproutcore/lib/sproutcore/buildfile/task.rb: in invoke_with_call_chain
          execute(task_args) if needed?...
  /usr/local/sproutcore/lib/sproutcore/buildfile/task.rb: in invoke
        invoke_with_call_chain(task_args, InvocationChain::EMPTY)...
  /usr/local/sproutcore/lib/sproutcore/buildfile.rb: in invoke
        self[task_name].invoke(consts)...
  /usr/local/sproutcore/lib/sproutcore/models/manifest_entry.rb: in build_to
        buildfile.invoke self[:build_task],...
  /usr/local/sproutcore/lib/sproutcore/models/manifest_entry.rb: in build!
        build_to self[:build_path]...
  /usr/local/sproutcore/lib/sproutcore/rack/builder.rb: in block (2 levels) in call
                  entry.clean!.build!...
  /usr/local/sproutcore/lib/sproutcore.rb: in profile
        yield...
  /usr/local/sproutcore/lib/sproutcore/rack/builder.rb: in block in call
                SC.profile("PROFILE_BUILD") do...
  &lt;internal:prelude&gt;: in synchronize
  /usr/local/sproutcore/lib/sproutcore/rack/builder.rb: in call
          project_mutex.synchronize do...
  /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/cascade.rb: in block in call
          result = app.call(env)...
  /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/cascade.rb: in each
        @apps.each do |app|...
  /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/cascade.rb: in call
        @apps.each do |app|...
  /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/showexceptions.rb: in call
        @app.call(env)...
  /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/recursive.rb: in _call
        @app.call(env.merge('rack.recursive.include' =&gt; method(:include)))...
  /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/recursive.rb: in call
        dup._call(env)...
  /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/conditionalget.rb: in call
          status, headers, body = @app.call(env)...
  /usr/local/sproutcore/lib/sproutcore/rack/restrict_ip.rb: in call
            return @app.call(env)...
  /usr/local/sproutcore/lib/sproutcore/rack/service.rb: in call
        def call(env); @app.call(env); end...
  /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thin-1.2.11/lib/thin/connection.rb: in block in pre_process
          response = @app.call(@request.env)...
  /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thin-1.2.11/lib/thin/connection.rb: in catch
        catch(:async) do...
  /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thin-1.2.11/lib/thin/connection.rb: in pre_process
        catch(:async) do...
  /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thin-1.2.11/lib/thin/connection.rb: in process
          post_process(pre_process)...
  /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thin-1.2.11/lib/thin/connection.rb: in receive_data
        process if @request.parse(data)...
  /usr/local/sproutcore/bundle/ruby/1.9.1/gems/eventmachine-1.0.0.beta.4/lib/eventmachine.rb: in run_machine
          run_machine...
  /usr/local/sproutcore/bundle/ruby/1.9.1/gems/eventmachine-1.0.0.beta.4/lib/eventmachine.rb: in run
          run_machine...
  /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thin-1.2.11/lib/thin/backends/base.rb: in start
            EventMachine.run(&amp;starter)...
  /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thin-1.2.11/lib/thin/server.rb: in start
        @backend.start...
  /usr/local/sproutcore/bundle/ruby/1.9.1/gems/rack-1.4.0/lib/rack/handler/thin.rb: in run
          server.start...
  /usr/local/sproutcore/lib/sproutcore/rack/service.rb: in start
          server.run app, opts...
  /usr/local/sproutcore/lib/sproutcore/tools/server.rb: in server
            SC::Rack::Service.start(options.merge(:project =&gt; project))...
  /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/task.rb: in run
          instance.send(name, *args) : instance.class.handle_no_task_error(name)...
  /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/invocation.rb: in invoke_task
          task.run(self, *args)...
  /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor.rb: in dispatch
          new(args, opts, config).invoke_task(task, trailing || [])...
  /usr/local/sproutcore/bundle/ruby/1.9.1/gems/thor-0.14.6/lib/thor/base.rb: in start
          dispatch(nil, given_args.dup, nil, config)...
  /usr/local/sproutcore/lib/sproutcore/tools.rb: in start
            super(args)...
  /usr/local/sproutcore/lib/sproutcore/tools.rb: in invoke
        start([task_name.to_s] + ARGV)...
  /usr/bin/sc-server: in &lt;main&gt;
  SC::Tools.invoke 'server'...
  Request information
  
  GET
  No GET data.
  POST
  No POST data.
  COOKIES
  No cookie data.
  Rack ENV
  Variable    Value
  GATEWAY_INTERFACE   
  CGI/1.2
  HTTP_ACCEPT 
  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
  HTTP_ACCEPT_CHARSET 
  ISO-8859-1,utf-8;q=0.7,*;q=0.3
  HTTP_ACCEPT_ENCODING    
  gzip,deflate,sdch
  HTTP_ACCEPT_LANGUAGE    
  en-US,en;q=0.8
  HTTP_CONNECTION 
  keep-alive
  HTTP_HOST   
  localhost:4020
  HTTP_USER_AGENT 
  Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.77 Safari/535.7
  HTTP_VERSION    
  HTTP/1.1
  PATH_INFO   
  /todos
  QUERY_STRING    
  REMOTE_ADDR 
  127.0.0.1
  REQUEST_METHOD  
  GET
  REQUEST_PATH    
  /todos
  REQUEST_URI 
  /todos
  SCRIPT_NAME 
  SERVER_NAME 
  localhost
  SERVER_PORT 
  4020
  SERVER_PROTOCOL 
  HTTP/1.1
  SERVER_SOFTWARE 
  thin 1.2.11 codename Bat-Shit Crazy
  async.callback  
  #&lt;Method: Thin::Connection#post_process&gt;
  async.close 
  #&lt;EventMachine::DefaultDeferrable:0x00000100d35df0&gt;
  rack.errors 
  #&lt;IO:&lt;STDERR&gt;&gt;
  rack.input  
  #&lt;StringIO:0x00000100d38aa0&gt;
  rack.multiprocess   
  false
  rack.multithread    
  false
  rack.recursive.include  
  #&lt;Method: Rack::Recursive#include&gt;
  rack.request.cookie_hash    
  {}
  rack.request.query_hash 
  {}
  rack.request.query_string   
  rack.run_once   
  false
  rack.url_scheme 
  http
  rack.version    
  [1, 0]
  You're seeing this error because you use Rack::ShowExceptions.
  </code></pre>