From jfleck at newb6.u-strasbg.fr Fri Mar 3 10:20:37 2006 From: jfleck at newb6.u-strasbg.fr (J.J. Fleck) Date: Fri, 3 Mar 2006 16:20:37 +0100 (MET) Subject: [Tioga-news] Ruby patch failed on Tiger Message-ID: Hello everybody ! This email is not necessarily useful for the persons on the list who hopefuly have a working version of the couple tioga/ruby but could be of use for new users who whould be happy to find it in the archives. It describes current problem to install tioga on Tiger (X.4) and a solution. It could perhaps be useful to change the concerned advices in the installation page. We have got some machines at the institute newly installed with MacOS X.4.5 and as insterest in tioga is growing, it has to be installed also on these machines. I thus followed the link on the web page indicating to execute curl -O rufy.com/fix-ruby-tiger.sh; sh fix-ruby-tiger.sh unfortunately, an error occured in the last stage of the script fix-ruby-tiger.sh when compiling readline: Default compiler has been set to: gcc version 3.3 20030304 (Apple Computer, Inc. build 1809) checking for tgetnum() in -lncurses... yes checking for readline/readline.h... yes checking for readline/history.h... yes checking for readline() in -lreadline... yes extconf.rb:15:in `have_readline_var': undefined method `have_var' for main:Object (NoMethodError) from extconf.rb:45 make: *** No targets specified and no makefile found. Stop. Looking into the file extconf.rb and commenting line 15 allowed to continue and effectively do the Makefile and the compilation, but another error occured gcc -fno-common -arch ppc -g -Os -pipe -fno-common -arch ppc -pipe -pipe -fno-common -I. -I/usr/lib/ruby/1.8/powerpc-darwin8.0 -I/usr/lib/ruby/1.8/powerpc-darwin8.0 -I. -DHAVE_READLINE_READLINE_H -DHAVE_READLINE_HISTORY_H -DHAVE_RL_CLEANUP_AFTER_SIGNAL -DHAVE_RL_CLEAR_SIGNALS -DHAVE_RL_VI_EDITING_MODE -DHAVE_RL_EMACS_EDITING_MODE -DHAVE_RL_CLEAR_SIGNALS -DHAVE_REPLACE_HISTORY_ENTRY -DHAVE_REMOVE_HISTORY -c readline.c readline.c: In function `filename_completion_proc_call': readline.c:681: error: `filename_completion_function' undeclared (first use in this function) readline.c:681: error: (Each undeclared identifier is reported only once readline.c:681: error: for each function it appears in.) readline.c:681: warning: assignment makes pointer from integer without a cast readline.c: In function `username_completion_proc_call': readline.c:708: error: `username_completion_function' undeclared (first use in this function) readline.c:708: warning: assignment makes pointer from integer without a cast {standard input}:unknown:FATAL:can't create output file: readline.o make: *** [readline.o] Error 1 Looking more carefully into the source, it appeared that the downloaded file was not ruby-1.8.2.tar.gz as specified on the page where the script originate from but ruby-1.8.4.tar.gz. And the file ruby-1.8.2.tar.gz does not exist anymore on the ftp server used... Parsing discussions about this patch, it appeared that ruby-1.8.3.tar.gz or ruby-1.8.4.tar.gz are not compiling where ruby-1.8.2.tar.gz did and so no chance to get ruby fixed and tioga work (more exactly, irb version of tioga was working althought not searching properly for ~/.irbrc, only for ./.irbrc but the GUI interface stayed blanck without any error displayed..) So if 1.8.2 is buggy and only patches for 1.8.4 available, why not install ruby 1.8.4 ? I found this page http://www.servercodex.com/archives/2006/02/06/installing-darwinports-tiger/ which explain how to install darwinport (which is a tool somewhat similar to fink) on Tiger and explain as an example how to install ruby 1.8.4. Once darwinport installed (using the link on the page), just type sudo port install ruby and ruby 1.8.4 get installed (after a while because compiling on the machine). It even automaticaly install readline by itself. No need to apply the patch anymore (but it would have to be checked on a new machine from scratch). Then a usual Tioga installation, in Tioga directory, sudo ./QUICK_INSTALL install properly what tioga needs and the GUI interface is perfectly working (once the ruby PATH set to /opt/local/bin/ruby) I hope it would be helpful for newbie users. Cheers, JJ