title: Error running make when installing Ruby 1.8.7-p302 via RVM on Mac OS 10.5.8
body: <p>Running "rvm install 1.8.7-p302" provides the following feedback:</p>
  
  <pre><code>rich-macbook:~ rich$ rvm install 1.8.7-p302
  Installing Ruby from source to: /Users/rich/.rvm/rubies/ruby-1.8.7-p302, this may take a while depending on your cpu(s)...
  
  ruby-1.8.7-p302 - #fetching 
  ruby-1.8.7-p302 - #extracted to /Users/rich/.rvm/src/ruby-1.8.7-p302 (already extracted)
  Applying patch 'stdout-rouge-fix' (located at /Users/rich/.rvm/patches/ruby/1.8.7/stdout-rouge-fix.patch)
  ERROR: Error running 'patch -F 25 -p1 -N -f &lt;"/Users/rich/.rvm/patches/ruby/1.8.7/stdout-rouge-fix.patch"', please read /Users/rich/.rvm/log/ruby-1.8.7-p302/patch.apply.stdout-rouge-fix.log
  ruby-1.8.7-p302 - #configuring 
  ruby-1.8.7-p302 - #compiling 
  ERROR: Error running 'make ', please read /Users/rich/.rvm/log/ruby-1.8.7-p302/make.log
  ERROR: There has been an error while running make. Halting the installation.
  </code></pre>
  
  <p>This is the second attempt at installing it; the first time the patch installed fine, but Ruby itself failed running make. I have recently installed Ruby 1.9.3-p0 without problem.</p>
  
  <p>Below is the output of the mentioned log files.</p>
  
  <p><strong>patch.apply.stdout-rouge-fix.log</strong></p>
  
  <pre><code>[2011-12-01 08:06:45] patch -F 25 -p1 -N -f &lt;"/Users/rich/.rvm/patches/ruby/1.8.7/stdout-rouge-fix.patch"
  patching file lib/mkmf.rb
  Hunk #1 FAILED at 201.
  1 out of 1 hunk FAILED -- saving rejects to file lib/mkmf.rb.rej
  </code></pre>
  
  <p><strong>make.log:</strong></p>
  
  <pre><code>[2011-12-01 08:07:04] make 
  /usr/bin/gcc-4.2 -arch x86_64 -g -Os -pipe -no-cpp-precomp  -fno-common -pipe -fno-common    -DRUBY_EXPORT  -L. -arch x86_64 -bind_at_load   main.o dmydln.o libruby-static.a -ldl -lobjc   -o miniruby
  rbconfig.rb unchanged
  cc -dynamiclib -undefined suppress -flat_namespace -install_name /Users/rich/.rvm/rubies/ruby-1.8.7-p302/lib/libruby.dylib -current_version 1.8.7 -compatibility_version 1.8   array.o bignum.o class.o compar.o dir.o dln.o enum.o enumerator.o error.o eval.o file.o gc.o hash.o inits.o io.o marshal.o math.o numeric.o object.o pack.o parse.o process.o prec.o random.o range.o re.o regex.o ruby.o signal.o sprintf.o st.o string.o struct.o time.o util.o variable.o version.o  dmyext.o  -o libruby.1.8.7.dylib
  ld warning: in array.o, file is not of required architecture
  ld warning: in bignum.o, file is not of required architecture
  ld warning: in class.o, file is not of required architecture
  ld warning: in compar.o, file is not of required architecture
  ld warning: in dir.o, file is not of required architecture
  ld warning: in dln.o, file is not of required architecture
  ld warning: in enum.o, file is not of required architecture
  ld warning: in enumerator.o, file is not of required architecture
  ld warning: in error.o, file is not of required architecture
  ld warning: in eval.o, file is not of required architecture
  ld warning: in file.o, file is not of required architecture
  ld warning: in gc.o, file is not of required architecture
  ld warning: in hash.o, file is not of required architecture
  ld warning: in inits.o, file is not of required architecture
  ld warning: in io.o, file is not of required architecture
  ld warning: in marshal.o, file is not of required architecture
  ld warning: in math.o, file is not of required architecture
  ld warning: in numeric.o, file is not of required architecture
  ld warning: in object.o, file is not of required architecture
  ld warning: in pack.o, file is not of required architecture
  ld warning: in parse.o, file is not of required architecture
  ld warning: in process.o, file is not of required architecture
  ld warning: in prec.o, file is not of required architecture
  ld warning: in random.o, file is not of required architecture
  ld warning: in range.o, file is not of required architecture
  ld warning: in re.o, file is not of required architecture
  ld warning: in regex.o, file is not of required architecture
  ld warning: in ruby.o, file is not of required architecture
  ld warning: in signal.o, file is not of required architecture
  ld warning: in sprintf.o, file is not of required architecture
  ld warning: in st.o, file is not of required architecture
  ld warning: in string.o, file is not of required architecture
  ld warning: in struct.o, file is not of required architecture
  ld warning: in time.o, file is not of required architecture
  ld warning: in util.o, file is not of required architecture
  ld warning: in variable.o, file is not of required architecture
  ld warning: in version.o, file is not of required architecture
  ld warning: in dmyext.o, file is not of required architecture
  compiling Win32API
  compiling bigdecimal
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../.ext/i686-darwin9.8.0/bigdecimal.bundle bigdecimal.o -L. -L../.. -L. -arch x86_64 -bind_at_load    -lruby  -ldl -lobjc  
  ld warning: in ../../libruby.dylib, file is not of required architecture
  compiling curses
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../.ext/i686-darwin9.8.0/curses.bundle curses.o -L. -L../.. -L. -arch x86_64 -bind_at_load    -lruby -lncurses -ltermcap  -ldl -lobjc  
  ld warning: in ../../libruby.dylib, file is not of required architecture
  compiling dbm
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../.ext/i686-darwin9.8.0/dbm.bundle dbm.o -L. -L../.. -L. -arch x86_64 -bind_at_load    -lruby  -ldl -lobjc  
  ld warning: in ../../libruby.dylib, file is not of required architecture
  compiling digest
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../.ext/i686-darwin9.8.0/digest.bundle digest.o -L. -L../.. -L. -arch x86_64 -bind_at_load    -lruby  -ldl -lobjc  
  ld warning: in ../../libruby.dylib, file is not of required architecture
  cp ../.././ext/digest/digest.h ../../.ext/i686-darwin9.8.0
  compiling digest/bubblebabble
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../../.ext/i686-darwin9.8.0/digest/bubblebabble.bundle bubblebabble.o -L. -L../../.. -L. -arch x86_64 -bind_at_load    -lruby  -ldl -lobjc  
  ld warning: in ../../../libruby.dylib, file is not of required architecture
  compiling digest/md5
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../../.ext/i686-darwin9.8.0/digest/md5.bundle md5init.o md5ossl.o -L. -L../../.. -L. -arch x86_64 -bind_at_load    -lruby -lcrypto  -ldl -lobjc  
  ld warning: in ../../../libruby.dylib, file is not of required architecture
  compiling digest/rmd160
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../../.ext/i686-darwin9.8.0/digest/rmd160.bundle rmd160init.o rmd160ossl.o -L. -L../../.. -L. -arch x86_64 -bind_at_load    -lruby -lcrypto  -ldl -lobjc  
  ld warning: in ../../../libruby.dylib, file is not of required architecture
  compiling digest/sha1
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../../.ext/i686-darwin9.8.0/digest/sha1.bundle sha1init.o sha1ossl.o -L. -L../../.. -L. -arch x86_64 -bind_at_load    -lruby -lcrypto  -ldl -lobjc  
  ld warning: in ../../../libruby.dylib, file is not of required architecture
  compiling digest/sha2
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../../.ext/i686-darwin9.8.0/digest/sha2.bundle sha2.o sha2init.o -L. -L../../.. -L. -arch x86_64 -bind_at_load    -lruby  -ldl -lobjc  
  ld warning: in ../../../libruby.dylib, file is not of required architecture
  compiling dl
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../.ext/i686-darwin9.8.0/dl.bundle dl.o handle.o ptr.o sym.o -L. -L../.. -L. -arch x86_64 -bind_at_load    -lruby -ldl  -ldl -lobjc  
  ld warning: in ../../libruby.dylib, file is not of required architecture
  cp dlconfig.h ../../.ext/i686-darwin9.8.0
  cp ../.././ext/dl/dl.h ../../.ext/i686-darwin9.8.0
  compiling etc
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../.ext/i686-darwin9.8.0/etc.bundle etc.o -L. -L../.. -L. -arch x86_64 -bind_at_load    -lruby  -ldl -lobjc  
  ld warning: in ../../libruby.dylib, file is not of required architecture
  compiling fcntl
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../.ext/i686-darwin9.8.0/fcntl.bundle fcntl.o -L. -L../.. -L. -arch x86_64 -bind_at_load    -lruby  -ldl -lobjc  
  ld warning: in ../../libruby.dylib, file is not of required architecture
  compiling gdbm
  compiling iconv
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../.ext/i686-darwin9.8.0/iconv.bundle iconv.o -L. -L../.. -L. -arch x86_64 -bind_at_load    -lruby -liconv  -ldl -lobjc  
  ld warning: in ../../libruby.dylib, file is not of required architecture
  compiling io/wait
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../../.ext/i686-darwin9.8.0/io/wait.bundle wait.o -L. -L../../.. -L. -arch x86_64 -bind_at_load    -lruby  -ldl -lobjc  
  ld warning: in ../../../libruby.dylib, file is not of required architecture
  compiling nkf
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../.ext/i686-darwin9.8.0/nkf.bundle nkf.o -L. -L../.. -L. -arch x86_64 -bind_at_load    -lruby  -ldl -lobjc  
  ld warning: in ../../libruby.dylib, file is not of required architecture
  compiling openssl
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../.ext/i686-darwin9.8.0/openssl.bundle openssl_missing.o ossl.o ossl_asn1.o ossl_bio.o ossl_bn.o ossl_cipher.o ossl_config.o ossl_digest.o ossl_engine.o ossl_hmac.o ossl_ns_spki.o ossl_ocsp.o ossl_pkcs12.o ossl_pkcs5.o ossl_pkcs7.o ossl_pkey.o ossl_pkey_dh.o ossl_pkey_dsa.o ossl_pkey_ec.o ossl_pkey_rsa.o ossl_rand.o ossl_ssl.o ossl_ssl_session.o ossl_x509.o ossl_x509attr.o ossl_x509cert.o ossl_x509crl.o ossl_x509ext.o ossl_x509name.o ossl_x509req.o ossl_x509revoked.o ossl_x509store.o -L. -L../.. -L. -arch x86_64 -bind_at_load    -lruby -lssl -lcrypto  -ldl -lobjc  
  ld warning: in ../../libruby.dylib, file is not of required architecture
  compiling pty
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../.ext/i686-darwin9.8.0/pty.bundle pty.o -L. -L../.. -L. -arch x86_64 -bind_at_load    -lruby -lutil  -ldl -lobjc  
  ld warning: in ../../libruby.dylib, file is not of required architecture
  compiling racc/cparse
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../../.ext/i686-darwin9.8.0/racc/cparse.bundle cparse.o -L. -L../../.. -L. -arch x86_64 -bind_at_load    -lruby  -ldl -lobjc  
  ld warning: in ../../../libruby.dylib, file is not of required architecture
  compiling readline
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../.ext/i686-darwin9.8.0/readline.bundle readline.o -L. -L../.. -L. -arch x86_64 -bind_at_load    -lruby -lreadline -lncurses  -ldl -lobjc  
  ld warning: in ../../libruby.dylib, file is not of required architecture
  compiling sdbm
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../.ext/i686-darwin9.8.0/sdbm.bundle _sdbm.o init.o -L. -L../.. -L. -arch x86_64 -bind_at_load    -lruby  -ldl -lobjc  
  ld warning: in ../../libruby.dylib, file is not of required architecture
  compiling socket
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../.ext/i686-darwin9.8.0/socket.bundle socket.o -L. -L../.. -L. -arch x86_64 -bind_at_load    -lruby  -ldl -lobjc  
  ld warning: in ../../libruby.dylib, file is not of required architecture
  compiling stringio
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../.ext/i686-darwin9.8.0/stringio.bundle stringio.o -L. -L../.. -L. -arch x86_64 -bind_at_load    -lruby  -ldl -lobjc  
  ld warning: in ../../libruby.dylib, file is not of required architecture
  compiling strscan
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../.ext/i686-darwin9.8.0/strscan.bundle strscan.o -L. -L../.. -L. -arch x86_64 -bind_at_load    -lruby  -ldl -lobjc  
  ld warning: in ../../libruby.dylib, file is not of required architecture
  compiling syck
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../.ext/i686-darwin9.8.0/syck.bundle bytecode.o emitter.o gram.o handler.o implicit.o node.o rubyext.o syck.o token.o yaml2byte.o -L. -L../.. -L. -arch x86_64 -bind_at_load    -lruby  -ldl -lobjc  
  ld warning: in ../../libruby.dylib, file is not of required architecture
  compiling syslog
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../.ext/i686-darwin9.8.0/syslog.bundle syslog.o -L. -L../.. -L. -arch x86_64 -bind_at_load    -lruby  -ldl -lobjc  
  ld warning: in ../../libruby.dylib, file is not of required architecture
  compiling thread
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../.ext/i686-darwin9.8.0/thread.bundle thread.o -L. -L../.. -L. -arch x86_64 -bind_at_load    -lruby  -ldl -lobjc  
  ld warning: in ../../libruby.dylib, file is not of required architecture
  compiling tk
  Warning:: cannot find Tk library. tcltklib will not be compiled (tcltklib is disabled on your Ruby == Ruby/Tk will not work). Please check configure options.
  compiling tk/tkutil
  compiling win32ole
  compiling zlib
  cc -arch x86_64 -dynamiclib -undefined suppress -flat_namespace -o ../../.ext/i686-darwin9.8.0/zlib.bundle zlib.o -L. -L../.. -L. -arch x86_64 -bind_at_load    -lruby -lz  -ldl -lobjc  
  ld warning: in ../../libruby.dylib, file is not of required architecture
  making ruby
  /usr/bin/gcc-4.2 -arch x86_64 -g -Os -pipe -no-cpp-precomp  -fno-common -pipe -fno-common    -DRUBY_EXPORT  -L. -arch x86_64 -bind_at_load   main.o  -lruby -ldl -lobjc   -o ruby
  ld warning: in ./libruby.dylib, file is not of required architecture
  Undefined symbols:
    "_ruby_options", referenced from:
        _main in main.o
    "_ruby_run", referenced from:
        _main in main.o
    "_ruby_init", referenced from:
        _main in main.o
    "_ruby_init_stack", referenced from:
        _main in main.o
  ld: symbol(s) not found
  collect2: ld returned 1 exit status
  make[1]: *** [ruby] Error 1
  make: *** [all] Error 2
  </code></pre>
  
  <p>If you need any more info, let me know.</p>
  
  <p>EDIT: I performed the following steps after reading this thread: <a href="https://stackoverflow.com/questions/7168077/make-error-when-installing-ruby-1-8-7-p334-with-rvm-on-snow-leopard">make error when installing `ruby-1.8.7-p334` with `rvm` on Snow Leopard</a></p>
  
  <ol>
  <li>rvm pkg install readline</li>
  <li>rvm remove 1.8.7</li>
  <li>rvm cleanup all </li>
  <li>rvm install ruby-1.8.7-p302</li>
  </ol>
  
  <p>This successfully installed the patch, indicating it is installed first time so any subsequent errors can be ignored. It did still error when compiling Ruby. As the make log file exceeds this post's character count capacity, you can view the contents of the second makefile here: <a href="http://pastebin.com/MTZjXBdF" rel="nofollow noreferrer">http://pastebin.com/MTZjXBdF</a></p>