title: Make error installing Ruby 1.9.2 with RVM and Readline under OSX Lion
body: <p>I'm having extensive problems getting rvm to work again under OSX Lion. Unsurprisingly, it seems to be a problem with readline, which is noted in several places.</p>
  
  <p>HOWEVER, (and this is an update) it seems that readline itself is not being installed correctly!</p>
  
  <p>Here is what I've tried so far:</p>
  
  <p>Reinstalling xcode (4.1) (I also removed the Developer folder first.)</p>
  
  <p>Cleaning and reinstalling all my ports as per <a href="http://trac.macports.org/wiki/Migration" rel="nofollow noreferrer">http://trac.macports.org/wiki/Migration</a></p>
  
  <p>Reinstalling readline as per: <a href="https://rvm.beginrescueend.com/packages/readline/" rel="nofollow noreferrer">https://rvm.beginrescueend.com/packages/readline/</a></p>
  
  <p>Using that specific readline version:</p>
  
  <pre><code>rvm install 1.9.2 --with-readline-dir=$rvm_path/usr
  </code></pre>
  
  <p>I have also reinstalled rvm entirely. Still no go. Here is the current error I'm seeing:</p>
  
  <pre><code>ERROR: Error running 'make ', please read /Users/tristankromer/.rvm/log/ruby-1.9.2-p290/make.log
  ERROR: There has been an error while running make. Halting the installation.
  </code></pre>
  
  <p>...and the accompanying log file.</p>
  
  <pre><code>make[1]: Entering directory `/Users/tristankromer/.rvm/src/ruby-1.9.2-p290/ext/readline'
  /usr/bin/gcc-4.2 -I. -I../../.ext/include/x86_64-darwin11.0.0 -I../.././include -I../.././ext/readline -DRUBY_EXTCONF_H=\"extconf.h\" -I/Users/tristankromer/.rvm/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -fno-common -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long  -fno-common -pipe  -o readline.o -c readline.c
  readline.c: In function ‘username_completion_proc_call’:
  readline.c:1386: error: ‘username_completion_function’ undeclared (first use in this function)
  readline.c:1386: error: (Each undeclared identifier is reported only once
  readline.c:1386: error: for each function it appears in.)
  make[1]: *** [readline.o] Error 1
  make[1]: Leaving directory `/Users/tristankromer/.rvm/src/ruby-1.9.2-p290/ext/readline'
  make: *** [mkmain.sh] Error 1
  </code></pre>
  
  <p>So after much investigation, I tried to manually install readline: (from: <a href="https://stackoverflow.com/questions/5671074/rvm-does-not-install-ruby-1-9-2-on-snow-leopard-error-running-make/5919049#5919049">RVM Does Not Install Ruby 1.9.2 on Snow Leopard: &#39;Error running &#39;make &#39;</a>)</p>
  
  <pre><code>curl -O ftp://ftp.gnu.org/gnu/readline/readline-6.1.tar.gz
  tar xzvf readline-6.1.tar.gz
  cd readline-6.1
  ./configure --prefix=/usr/local
  make
  sudo make install
  cd ..
  </code></pre>
  
  <p>I get as far as make when I get an error compiling readline:</p>
  
  <pre><code>gcc-4.2 -dynamic -arch_only `/usr/bin/arch` -install_name /usr/local/lib/libreadline.6.1.dylib -current_version 6.1 -compatibility_version 6 -v -o libreadline.6.1.dylib readline.so vi_mode.so funmap.so keymaps.so parens.so search.so rltty.so complete.so bind.so isearch.so display.so signals.so util.so kill.so undo.so macro.so input.so callback.so terminal.so text.so nls.so misc.so xmalloc.so history.so histexpand.so histfile.so histsearch.so shell.so mbutil.so tilde.so compat.so -lncurses
  Using built-in specs.
  Target: i686-apple-darwin11
  Configured with: /private/var/tmp/gcc/gcc-5666.3~278/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/include/c++/4.2.1
  Thread model: posix
  gcc version 4.2.1 (Apple Inc. build 5666) (dot 3)
  i686-apple-darwin11-gcc-4.2.1: -compatibility_version only allowed with -dynamiclib
  make[1]: *** [libreadline.6.1.dylib] Error 1
  make[1]: Leaving directory `/Users/tristankromer/src/readline-6.1/shlib'
  make: [shared] Error 2 (ignored)
  </code></pre>
  
  <p>So it seems like even installing readline I have a problem due to readline.</p>
  
  <p>I then followed The directions from Andy (below) by adding to .bash_profile:</p>
  
  <pre><code>export ARCHFLAGS="-arch x86_64"
  </code></pre>
  
  <p>and ran:</p>
  
  <pre><code>brew install readline
  brew link readline
  brew install libxml2
  brew link libxml2
  rvm install 1.9.2 -C --with-readline-dir=/usr/local/Cellar/readline/6.2.1/ --with-libxml2-dir=/usr/local/Cellar/xml2/2.7.8
  </code></pre>
  
  <p>And now I seem to have a different error:</p>
  
  <pre><code>make[1]: Entering directory `/Users/tristankromer/.rvm/src/ruby-1.9.2-p290/ext/tk'
  /usr/bin/gcc-4.2 -dynamic -bundle -o ../../.ext/x86_64-darwin11.0.0/tcltklib.bundle stubs.o tcltklib.o -L. -L../.. -L/System/Library/Frameworks/Tcl.framework -L/System/Library/Frameworks/Tk.framework -L. -L/usr/local/lib   -lpthread -framework CoreFoundation  -F/System/Library/Frameworks -framework Tcl    -lpthread -framework CoreFoundation -framework Cocoa -framework Carbon -framework IOKit   -lpthread -framework CoreFoundation  -F/System/Library/Frameworks -framework Tk -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -Wl,-flat_namespace  -lruby.1.9.1 -lm -ldl  -lpthread -ldl -lobjc
  ld: in /usr/local/lib/libiconv.2.dylib, missing required architecture x86_64 in file for architecture x86_64
  collect2: ld returned 1 exit status
  make[1]: *** [../../.ext/x86_64-darwin11.0.0/tcltklib.bundle] Error 1
  make[1]: Leaving directory `/Users/tristankromer/.rvm/src/ruby-1.9.2-p290/ext/tk'
  make: *** [mkmain.sh] Error 1
  </code></pre>