title: Error installing therubyracer gem
body: <p>I am new to ruby. When i tried to "gem install therubyracer" it shows the following error:</p>
  
  <pre><code>C:\Users\Desktop&gt;gem install therubyracer
  Temporarily enhancing PATH to include DevKit...
  Building native extensions.  This could take a while...
  ERROR:  Error installing therubyracer:
          ERROR: Failed to build gem native extension.
  
      C:/Ruby193/bin/ruby.exe extconf.rb
  checking for main() in -lpthread... no
  *** extconf.rb failed ***
  Could not create Makefile due to some reason, probably lack of
  necessary libraries and/or headers.  Check the mkmf.log file for more
  details.  You may need configuration options.
  
  Provided configuration options:
          --with-opt-dir
          --without-opt-dir
          --with-opt-include
          --without-opt-include=${opt-dir}/include
          --with-opt-lib
          --without-opt-lib=${opt-dir}/lib
          --with-make-prog
          --without-make-prog
          --srcdir=.
          --curdir
          --ruby=C:/Ruby193/bin/ruby
          --with-pthreadlib
          --without-pthreadlib
          --enable-debug
          --disable-debug
  C:/Ruby193/lib/ruby/gems/1.9.1/gems/libv8-3.16.14.3/ext/libv8/location.rb:15:in `initialize': No such file or directory - C:/Ruby193/lib/ruby/gems/1.9.1/gems/libv8-3.16.14.3/ext/libv8/.location.yml (Errno::ENOENT)
          from C:/Ruby193/lib/ruby/gems/1.9.1/gems/libv8-3.16.14.3/ext/libv8/location.rb:15:in `open'
          from C:/Ruby193/lib/ruby/gems/1.9.1/gems/libv8-3.16.14.3/ext/libv8/location.rb:15:in `load!'
          from C:/Ruby193/lib/ruby/gems/1.9.1/gems/libv8-3.16.14.3/lib/libv8.rb:6:in `configure_makefile'
          from extconf.rb:32:in `&lt;main&gt;'
  
  
  Gem files will remain installed in C:/Ruby193/lib/ruby/gems/1.9.1/gems/therubyracer-0.12.0 for inspection.
  Results logged to C:/Ruby193/lib/ruby/gems/1.9.1/gems/therubyracer-0.12.0/ext/v8/gem_make.out
  
  C:\Users\Desktop&gt;
  </code></pre>
  
  <p>I tried searching in google and some other similar posts in stackoverflow but none could address this problem.</p>
  
  <p><strong>mkmf.log</strong></p>
  
  <pre><code>have_library: checking for main() in -lpthread... -------------------- no
  
  "gcc -o conftest -IC:/Ruby193/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby193/include/ruby-1.9.1/ruby/backward -IC:/Ruby193/include/ruby-1.9.1 -I. -DFD_SETSIZE=2048  -DFD_SETSIZE=2048  -O3 -fno-omit-frame-pointer -g -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration conftest.c  -L. -LC:/Ruby193/lib -L.      -lmsvcrt-ruby191  -lshell32 -lws2_32 -limagehlp -lshlwapi  "
  checked program was:
  /* begin */
  1: #include "ruby.h"
  2: 
  3: #include &lt;winsock2.h&gt;
  4: #include &lt;windows.h&gt;
  5: int main(int argc, char **argv)
  6: {
  7:   return 0;
  8: }
  /* end */
  
  "gcc -o conftest -IC:/Ruby193/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby193/include/ruby-1.9.1/ruby/backward -IC:/Ruby193/include/ruby-1.9.1 -I. -DFD_SETSIZE=2048  -DFD_SETSIZE=2048  -O3 -fno-omit-frame-pointer -g -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration conftest.c  -L. -LC:/Ruby193/lib -L.      -lmsvcrt-ruby191 -lpthread  -lshell32 -lws2_32 -limagehlp -lshlwapi  "
  conftest.c: In function 't':
  conftest.c:7:53: error: 'main' undeclared (first use in this function)
  conftest.c:7:53: note: each undeclared identifier is reported only once for each function it appears in
  checked program was:
  /* begin */
   1: #include "ruby.h"
   2: 
   3: #include &lt;winsock2.h&gt;
   4: #include &lt;windows.h&gt;
   5: 
   6: /*top*/
   7: int t() { void ((*volatile p)()); p = (void ((*)()))main; return 0; }
   8: int main(int argc, char **argv)
   9: {
  10:   if (argc &gt; 1000000) {
  11:     printf("%p", &amp;t);
  12:   }
  13: 
  14:   return 0;
  15: }
  /* end */
  
  "gcc -o conftest -IC:/Ruby193/include/ruby-1.9.1/i386-mingw32 -IC:/Ruby193/include/ruby-1.9.1/ruby/backward -IC:/Ruby193/include/ruby-1.9.1 -I. -DFD_SETSIZE=2048  -DFD_SETSIZE=2048  -O3 -fno-omit-frame-pointer -g -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration conftest.c  -L. -LC:/Ruby193/lib -L.      -lmsvcrt-ruby191 -lpthread  -lshell32 -lws2_32 -limagehlp -lshlwapi  "
  conftest.c: In function 't':
  conftest.c:7:1: warning: implicit declaration of function 'main'
  conftest.c:10:6: warning: 'argc' is used uninitialized in this function
  conftest.c:7:5: note: 'argc' was declared here
  c:/devkit193/mingw/bin/../lib/gcc/mingw32/4.5.2/../../../../mingw32/bin/ld.exe: cannot find -lpthread
  collect2: ld returned 1 exit status
  checked program was:
  /* begin */
   1: #include "ruby.h"
   2: 
   3: #include &lt;winsock2.h&gt;
   4: #include &lt;windows.h&gt;
   5: 
   6: /*top*/
   7: int t() { main(); return 0; }
   8: int main(int argc, char **argv)
   9: {
  10:   if (argc &gt; 1000000) {
  11:     printf("%p", &amp;t);
  12:   }
  13: 
  14:   return 0;
  15: }
  /* end */
  
  --------------------
  </code></pre>