Hi,
I'm trying to get FireWatir 1.0.1 installed and working on Mac OS X Tiger (Intel), v. 10.4.8. However, the unittests won't run, and when I try to debug, I'm getting what appear to be errors related to my readline installation. I'm documenting the process at my blog: http://crasch.livejournal.com/522657.html I've also copied the blog entry below. Anyone have any suggestions for what to try next? Thanks! Chris About my setup: Firefox 2.0.0.2 Mac OS X 10.4.8 (Intel) XCode 2.4.1 Here's what I've done so far: * Download and install Firefox. * Install the jssh extension. You can find it here: http://people.mozilla.org/~davel/jssh/jssh-20060622-Darwin.xpi To install it, double-click on the link above. * Start Firefox manually with the jssh extension as follows: $ cd /Applications/Firefox.app/Contents/MacOS $ ./firefox -jssh & * If the jssh installation works, you should be able to telnet to port 9997: $ telnet localhost 9997 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Welcome to the Mozilla JavaScript Shell! * Install the firewatir gem. You can find the gem here: http://code.google.com/p/firewatir/downloads/list Once you've downloaded it, cd to the download directory and install as follows: $ cd ~/Desktop $ sudo gem install --local firewatir-1.0.1-mswin32.gem You should see: Password: Successfully installed firewatir, version 1.0.1 Installing ri documentation for firewatir-1.0.1-mswin32... Installing RDoc documentation for firewatir-1.0.1-mswin32... * To test that the unittests have run successfully, go to the unit tests directory in the firewatir gem install. Run “ruby mozilla_all_tests.rb” to run the unit test cases. $ ruby mozilla_all_tests.rb Loaded suite mozilla_all_tests Started [At this point, the script just hangs and does nothing until you interrupt it. I tried to run it with ruby-debug, by adding the following line to setup.rb: require 'ruby-debug' debugger However, when I ran it again, I got the following error: crasch2:/usr/local/lib/ruby/gems/1.8/gems/firewatir-1.0.1-mswin32/unittests crasch$ ruby mozilla_all_tests.rb dyld: NSLinkModule() error dyld: Symbol not found: _rl_filename_completion_function Referenced from: /usr/local/lib/ruby/1.8/i686-darwin8.8.1/readline.bundle Expected in: flat namespace Trace/BPT trap A search for the error message suggests that there is a problem with my readline installation. Readline is installed on my machine via ports: $ port installed The following ports are currently installed: ... readline @5.1.004_0 (active) ... Next I tried to rebuild readline per the instructions on this page: http://www.nabble.com/Ruby-1.8.4-Mac-OS-X-readline-problems-t801880.html $ curl -O ftp://ftp.gnu.org/gnu/readline/readline-5.1.tar.gz $ tar -xzf readline-5.1.tar.gz $ cd readline-5.1 $ ./configure --prefix=/usr/local $ make $ sudo make install Configuration and compilation seemed to go okay. However, the "sudo make install" output resulted in the following: /bin/sh ./support/mkinstalldirs /usr/local/include \ /usr/local/include/readline /usr/local/lib \ /usr/local/info /usr/local/man/man3 for f in readline.h chardefs.h keymaps.h history.h tilde.h rlstdc.h rlconf.h rltypedefs.h; do \ /usr/bin/install -c -m 644 ./$f /usr/local/include/readline ; \ done ( if test -d doc ; then \ cd doc && \ make infodir=/usr/local/info DESTDIR= install; \ fi ) /bin/sh ../support/mkdirs /usr/local/info /usr/local/man/man3 if test -n "" ; then \ /bin/sh ../support/mkdirs ; \ fi if test -f readline.info; then \ /usr/bin/install -c -m 644 readline.info /usr/local/info/readline.info; \ else \ /usr/bin/install -c -m 644 ./readline.info /usr/local/info/readline.info; \ fi if test -f rluserman.info; then \ /usr/bin/install -c -m 644 rluserman.info /usr/local/info/rluserman.info; \ else \ /usr/bin/install -c -m 644 ./rluserman.info /usr/local/info/rluserman.info; \ fi if test -f history.info; then \ /usr/bin/install -c -m 644 history.info /usr/local/info/history.info; \ else \ /usr/bin/install -c -m 644 ./history.info /usr/local/info/history.info; \ fi if /bin/sh -c 'install-info --version' >/dev/null 2>&1; then \ install-info --dir-file=/usr/local/info/dir \ /usr/local/info/readline.info ; \ install-info --dir-file=/usr/local/info/dir \ /usr/local/info/history.info ; \ install-info --dir-file=/usr/local/info/dir \ /usr/local/info/rluserman.info ; \ else true; fi /usr/bin/install -c -m 644 ./readline.3 /usr/local/man/man3/readline.3 /usr/bin/install -c -m 644 ./history.3 /usr/local/man/man3/history.3 if test -n "" ; then \ if test -f readline.html; then \ /usr/bin/install -c -m 644 readline.html /readline.html; \ else \ /usr/bin/install -c -m 644 ./readline.html /readline.html; \ fi ; \ if test -f history.html; then \ /usr/bin/install -c -m 644 history.html /history.html; \ else \ /usr/bin/install -c -m 644 ./history.html /history.html; \ fi ; \ if test -f rluserman.html; then \ /usr/bin/install -c -m 644 rluserman.html /rluserman.html; \ else \ /usr/bin/install -c -m 644 ./rluserman.html /rluserman.html; \ fi ; \ fi mv /usr/local/lib/libreadline.a /usr/local/lib/libreadline.old /usr/bin/install -c -m 644 libreadline.a /usr/local/lib/libreadline.a test -n "ranlib" && ranlib /usr/local/lib/libreadline.a mv /usr/local/lib/libhistory.a /usr/local/lib/libhistory.old /usr/bin/install -c -m 644 libhistory.a /usr/local/lib/libhistory.a test -n "ranlib" && ranlib /usr/local/lib/libhistory.a test -d shlib || mkdir shlib ( cd shlib ; make all ) make[1]: Nothing to be done for `all'. ( cd shlib ; make DESTDIR= install ) /bin/sh ../support/mkdirs /usr/local/lib /bin/sh ../support/shlib-install -O darwin8.8.1 -d /usr/local/lib -b /usr/local/bin -i "/usr/bin/install -c -m 644" libhistory.5.1.dylib /bin/sh ../support/shlib-install -O darwin8.8.1 -d /usr/local/lib -b /usr/local/bin -i "/usr/bin/install -c -m 644" libreadline.5.1.dylib install: you may need to run ldconfig Searching for "install: you may need to run ldconfig" led me to this page: http://blog.innerewut.de/articles/2005/05/08/tiger-and-ruby-readline Lucas's blog archives were destroyed when his hosting company changed locations, but I was ultimately able to find a copy of the script in the wabyback machine: http://web.archive.org/web/20050509041116/http://rufy.com/fix-ruby-tiger.sh I downloaded and updated the script to reflect more recent versions of the script: curl http://rubyforge.rubyuser.de/rubygems/rubygems-0.9.2.tgz | tar xfz - cd rubygems-0.9.2 sudo ruby setup.rb sudo gem install fixrbconfig sudo fixrbconfig cd .. curl ftp://ftp.gnu.org/gnu/readline/readline-5.2.tar.gz | tar xfz - cd readline-5.2 ./configure cd shlib sed -e 's/-dynamic/-dynamiclib/' Makefile > Makefile.good mv Makefile.good Makefile cd .. make && sudo make install sudo rm /usr/lib/libreadline* sudo ln -s /usr/local/lib/libreadline* /usr/lib/ cd .. curl ftp://ftp.ruby-lang.org/pub/ruby/ruby-1.8.5.tar.gz | tar xfz - cd ruby-1.8.5/ext/readline/ ruby extconf.rb make && sudo make install cd ../../../ rm -rf ruby-1.8.5 readline-5.2 rubygems-0.9.2 [ The -dynamiclib flag is already present in the shlib/Makefile, so I removed these lines from the original fix-ruby-tiger.sh script: cd shlib sed -e 's/-dynamic/-dynamiclib/' Makefile > Makefile.good mv Makefile.good Makefile cd .. ] I then ran each step manually to verify that they each worked. After running through the modified script, I see this in my /usr/local/lib: crasch2:/usr/local/lib crasch$ ls -al libreadline.* -r-xr-xr-x 1 root wheel 444456 Feb 26 11:38 libreadline.5.1.dylib -r-xr-xr-x 1 root wheel 444456 Feb 26 01:31 libreadline.5.1.dylib.old -r-xr-xr-x 1 root wheel 425624 Feb 26 13:42 libreadline.5.2.dylib lrwxr-xr-x 1 root wheel 21 Feb 26 13:42 libreadline.5.dylib -> libreadline.5.2.dylib -rw-r--r-- 1 root wheel 577692 Feb 26 13:42 libreadline.a lrwxr-xr-x 1 root wheel 21 Feb 26 13:42 libreadline.dylib -> libreadline.5.2.dylib -rw-r--r-- 1 root wheel 578228 Feb 26 13:25 libreadline.old But when I run the unittests with ruby-debug installed , I still get the same error: crasch2:/usr/local/lib/ruby/gems/1.8/gems/firewatir-1.0.1-mswin32/unittests crasch$ ruby mozilla_all_tests.rb dyld: NSLinkModule() error dyld: Symbol not found: _rl_filename_completion_function Referenced from: /usr/local/lib/ruby/site_ruby/1.8/i686-darwin8.8.1/readline.bundle Expected in: flat namespace Trace/BPT trap _______________________________________________ Wtr-general mailing list [email protected] http://rubyforge.org/mailman/listinfo/wtr-general
