Ruby 1.8.4 Mac OS X readline problems

View: New views
11 Messages — Rating Filter:   Alert me  

Ruby 1.8.4 Mac OS X readline problems

by Daniel Harple-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Is anyone else having this problem?

#++++++
$ make test-all
./miniruby ./runruby.rb --extout=.ext -- -C "./test" runner.rb --
runner=console
dyld: NSLinkModule() error
dyld: Symbol not found: _rl_filename_completion_function
   Referenced from: /Users/dharple/ruby-1.8.4/.ext/powerpc-
darwin8.3.0/readline.bundle
   Expected in: flat namespace

make: *** [test-all] Trace/BPT trap
$
#++++++

My scripts run fine, but now I can't use readline in IRB (or anywhere).

Mac OS X 10.4.3
gcc version 4.0.0 (Apple Computer, Inc. build 5026)

Compiling on Mac OS X 10.3.9 with gcc version 3.3 20030304 (Apple  
Computer, Inc. build 1666) I get a borked DRB test that exits with an  
error and no subsequent tests are run.

-- Daniel


Re: Ruby 1.8.4 Mac OS X readline problems

by Ryan Sobol :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On Dec 24, 2005, at 12:58 PM, Daniel Harple wrote:

> Is anyone else having this problem?
>
> #++++++
> $ make test-all
> ./miniruby ./runruby.rb --extout=.ext -- -C "./test" runner.rb --
> runner=console
> dyld: NSLinkModule() error
> dyld: Symbol not found: _rl_filename_completion_function
>   Referenced from: /Users/dharple/ruby-1.8.4/.ext/powerpc-
> darwin8.3.0/readline.bundle
>   Expected in: flat namespace
>
> make: *** [test-all] Trace/BPT trap
> $
> #++++++
>
> My scripts run fine, but now I can't use readline in IRB (or  
> anywhere).
>
> Mac OS X 10.4.3
> gcc version 4.0.0 (Apple Computer, Inc. build 5026)
>
> Compiling on Mac OS X 10.3.9 with gcc version 3.3 20030304 (Apple  
> Computer, Inc. build 1666) I get a borked DRB test that exits with  
> an error and no subsequent tests are run.
>
> -- Daniel
>

My advice is to wait until the 1.8.4 package is available from Darwin  
Ports or Fink.  I highly encourage everyone to use one (or both) of  
these tools for managing 99.9% of the *nix software on OS X.

http://darwinports.opendarwin.org/
http://fink.sourceforge.net/

~ ryan ~


Re: Ruby 1.8.4 Mac OS X readline problems

by Jim Menard :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 12/24/05, J. Ryan Sobol <ryansobol@...> wrote:
>
> On Dec 24, 2005, at 12:58 PM, Daniel Harple wrote:
>
> > Is anyone else having this problem?

Yes, I am. I don't want to install Fink or Darwin ports. I got
readline working with 1.8.2, and am now struggling to get it to work
with 1.8.4. readline.bundle is in ruby/1.8/powerpc-darwin8.3.0.

I used "./configure --with-readline --enable-shared" to configure
Ruby, then make, then make install. When I tried running "rake test"
on a random Rails 1.0 project, the unit tests fail with

/usr/local/bin/ruby -Ilib:test
"/usr/local/lib/ruby/gems/1.8/gems/rake-0.6.2/lib/rake/rake_test_loader.rb"
"test/unit/bookmark_test.rb" "test/unit/group_test.rb"
"test/unit/inbox_test.rb" "test/unit/user_test.rb"
dyld: NSLinkModule() error
dyld: Symbol not found: _rl_filename_completion_function
  Referenced from: /usr/local/lib/ruby/1.8/powerpc-darwin8.3.0/readline.bundle
  Expected in: flat namespace

rake aborted!
Command failed with status (): [/usr/local/bin/ruby -Ilib:test "/usr/local...]


Jim
--
Jim Menard, jim.menard@..., jimm@...
http://www.io.com/~jimm
"Linux is like a wigwam. No windows, no gates and an apache inside."
    -- Unknown


Re: Ruby 1.8.4 Mac OS X readline problems

by Michal Suchanek :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 12/25/05, Jim Menard <jim.menard@...> wrote:

> On 12/24/05, J. Ryan Sobol <ryansobol@...> wrote:
> >
> > On Dec 24, 2005, at 12:58 PM, Daniel Harple wrote:
> >
> > > Is anyone else having this problem?
>
> Yes, I am. I don't want to install Fink or Darwin ports. I got
> readline working with 1.8.2, and am now struggling to get it to work
> with 1.8.4. readline.bundle is in ruby/1.8/powerpc-darwin8.3.0.
>
> I used "./configure --with-readline --enable-shared" to configure
> Ruby, then make, then make install. When I tried running "rake test"
> on a random Rails 1.0 project, the unit tests fail with
>
> /usr/local/bin/ruby -Ilib:test
> "/usr/local/lib/ruby/gems/1.8/gems/rake-0.6.2/lib/rake/rake_test_loader.rb"
> "test/unit/bookmark_test.rb" "test/unit/group_test.rb"
> "test/unit/inbox_test.rb" "test/unit/user_test.rb"
> dyld: NSLinkModule() error
> dyld: Symbol not found: _rl_filename_completion_function
>   Referenced from: /usr/local/lib/ruby/1.8/powerpc-darwin8.3.0/readline.bundle
>   Expected in: flat namespace
>
> rake aborted!
> Command failed with status (): [/usr/local/bin/ruby -Ilib:test "/usr/local...]
>
Hello

Your extension was not properly linked when ruby was built. If you did
the ruby tests it would probably reveal that. Since ruby does link
with -undefined suppress it happily builds and installs extensions
that do not work.
You can find the LDFLAGS change among the fink patches for ruby. I do
not know why ruby does this. I tried to post the patch here or to some
bugtracking system but I never noticed any explanation coming my way
nor was the patch applied.

Thanks

Michal


--
             Support the freedom of music!
Maybe it's a weird genre  ..  but weird is *not* illegal.
Maybe next time they will send a special forces commando
to your picnic .. because they think you are weird.
 www.music-versus-guns.org  http://en.policejnistat.cz

Re: Ruby 1.8.4 Mac OS X readline problems

by Gregory Brown :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 12/26/05, Michal Suchanek <hramrach@...> wrote:
> Your extension was not properly linked when ruby was built. If you did
> the ruby tests it would probably reveal that. Since ruby does link
> with -undefined suppress it happily builds and installs extensions
> that do not work.
> You can find the LDFLAGS change among the fink patches for ruby. I do
> not know why ruby does this. I tried to post the patch here or to some
> bugtracking system but I never noticed any explanation coming my way
> nor was the patch applied.

Have you offered this patch on the ruby-core mailing list?


Re: Ruby 1.8.4 Mac OS X readline problems

by Jim Menard :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Here's how I fixed this problem: after installing Ruby 1.8.4, I edited
/usr/local/lib/ruby/1.8/powerpc-darwin8.3.0/rbconfig.rb and added
"-lreadline" to the end of CONFIG["LIBS"].

Jim
--
Jim Menard, jim.menard@..., jimm@...
http://www.io.com/~jimm
I sit in a chair, pressing small plastic rectangles with my fingers while
peering at many tiny, colored dots.


Re: Ruby 1.8.4 Mac OS X readline problems

by Michal Suchanek :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 12/27/05, Gregory Brown <gregory.t.brown@...> wrote:

> On 12/26/05, Michal Suchanek <hramrach@...> wrote:
> > Your extension was not properly linked when ruby was built. If you did
> > the ruby tests it would probably reveal that. Since ruby does link
> > with -undefined suppress it happily builds and installs extensions
> > that do not work.
> > You can find the LDFLAGS change among the fink patches for ruby. I do
> > not know why ruby does this. I tried to post the patch here or to some
> > bugtracking system but I never noticed any explanation coming my way
> > nor was the patch applied.
>
> Have you offered this patch on the ruby-core mailing list?
>
>

No, I am not subscribed to ruby-core.

Aside my attempts to use ruby on exotic platforms now and then I am
not doing anything to the interpreter :)

Thanks

Michal


--
             Support the freedom of music!
Maybe it's a weird genre  ..  but weird is *not* illegal.
Maybe next time they will send a special forces commando
to your picnic .. because they think you are weird.
 www.music-versus-guns.org  http://en.policejnistat.cz

Re: Ruby 1.8.4 Mac OS X readline problems

by Paul Smith-11 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On 12/24/05, Daniel Harple <dharple@...> wrote:

> Is anyone else having this problem?
>
> #++++++
> $ make test-all
> ./miniruby ./runruby.rb --extout=.ext -- -C "./test" runner.rb --
> runner=console
> dyld: NSLinkModule() error
> dyld: Symbol not found: _rl_filename_completion_function
>    Referenced from: /Users/dharple/ruby-1.8.4/.ext/powerpc-
> darwin8.3.0/readline.bundle
>    Expected in: flat namespace
>
> make: *** [test-all] Trace/BPT trap

I had this same problem. I rebuilt my readline library ala:

  wget 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

And then rebuilt ruby:

  make distclean && configure --with-readline-dir=/usr/local && make
&& make test-all

And all was well.

-Paul

--
Paul Smith
mobile: (773) 934-4607
aim/yim: thaislump
gtalk: paulsmith@...
Center for Neighborhood Technology
Technology Director, Wireless Community Networks
Chicago IL, USA


Re: Ruby 1.8.4 Mac OS X readline problems

by Peter Burns-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

>>    Expected in: flat namespace
>>
>> make: *** [test-all] Trace/BPT trap
>
>
> make distclean && configure --with-readline-dir=/usr/local && make && make test-all
>
>
> And all was well.
>
> -Paul
>
> --
> Paul Smith
> mobile: (773) 934-4607
> aim/yim: thaislump
> gtalk: paulsmith@...
> Center for Neighborhood Technology
> Technology Director, Wireless Community Networks
> Chicago IL, USA

This also solved the problem for me.  Thanks for posting this Paul (:

I had to use curl though, as wget wasn't installed:

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


--
Posted via http://www.ruby-forum.com/.


Re: Ruby 1.8.4 Mac OS X readline problems

by jimmyether :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Paul Smith wrote:

>   wget 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
>
> And then rebuilt ruby:
>
>   make distclean && configure --with-readline-dir=/usr/local && make
> && make test-all
>
> And all was well.

I did this (though I couldn't get make distclean to run). And the test
still show an issue with WEBrick:

 1) Failure:
test_cgi(TestWEBrickCGI)
    [./webrick/test_cgi.rb:27:in `test_cgi'
     /Users/jimmyether/src/ruby-1.8.4/lib/net/http.rb:1049:in `request'
     /Users/jimmyether/src/ruby-1.8.4/lib/net/http.rb:2104:in
`reading_body'
     /Users/jimmyether/src/ruby-1.8.4/lib/net/http.rb:1048:in `request'
     /Users/jimmyether/src/ruby-1.8.4/lib/net/http.rb:1033:in `request'
     /Users/jimmyether/src/ruby-1.8.4/lib/net/http.rb:545:in `start'
     /Users/jimmyether/src/ruby-1.8.4/lib/net/http.rb:1031:in `request'
     ./webrick/test_cgi.rb:27:in `test_cgi'
     ./webrick/utils.rb:26:in `start_server'
     ./webrick/utils.rb:34:in `start_httpserver'
     ./webrick/test_cgi.rb:24:in `test_cgi']:
<"/webrick.cgi"> expected but was
<"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">\n<HTML>\n
<HEAD><TITLE>Internal Server Error</TITLE></HEAD>\n  <BODY>\n
<H1>Internal Server Error</H1>\n    Premature end of script headers:
/Users/jimmyether/src/ruby-1.8.4/test/webrick/webrick.cgi\n    <HR>\n
<ADDRESS>\n     WEBrick/1.3.1 (Ruby/1.8.4/2005-12-24) OpenSSL/0.9.7i
at\n     127.0.0.1:49746\n    </ADDRESS>\n  </BODY>\n</HTML>\n">.

1313 tests, 14444 assertions, 1 failures, 0 errors
make: *** [test-all] Error 1



Any suggestions on how to fix this?

--
Posted via http://www.ruby-forum.com/.


Re: Ruby 1.8.4 Mac OS X readline problems

by Maggie Reid-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I am having this problem with Ruby 1.8.6 and OSX 10.4.10.

I followed the fix instructions using curl:
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


Can you explain how to rebuild Ruby with make distclean && configure
--with-readline-dir=/usr/local && make && make test-all?

I tried pasting in the line after the ./configure was done, but I had no
success with the fix.
Did you resolve this problem??




jimmyether wrote:

> Paul Smith wrote:
>>   wget 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
>>
>> And then rebuilt ruby:
>>
>>   make distclean && configure --with-readline-dir=/usr/local && make
>> && make test-all
>>
>> And all was well.
>
> I did this (though I couldn't get make distclean to run). And the test
> still show an issue with WEBrick:
>
>  1) Failure:
> test_cgi(TestWEBrickCGI)
>     [./webrick/test_cgi.rb:27:in `test_cgi'
>      /Users/jimmyether/src/ruby-1.8.4/lib/net/http.rb:1049:in `request'
>      /Users/jimmyether/src/ruby-1.8.4/lib/net/http.rb:2104:in
> `reading_body'
>      /Users/jimmyether/src/ruby-1.8.4/lib/net/http.rb:1048:in `request'
>      /Users/jimmyether/src/ruby-1.8.4/lib/net/http.rb:1033:in `request'
>      /Users/jimmyether/src/ruby-1.8.4/lib/net/http.rb:545:in `start'
>      /Users/jimmyether/src/ruby-1.8.4/lib/net/http.rb:1031:in `request'
>      ./webrick/test_cgi.rb:27:in `test_cgi'
>      ./webrick/utils.rb:26:in `start_server'
>      ./webrick/utils.rb:34:in `start_httpserver'
>      ./webrick/test_cgi.rb:24:in `test_cgi']:
> <"/webrick.cgi"> expected but was
> <"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">\n<HTML>\n
> <HEAD><TITLE>Internal Server Error</TITLE></HEAD>\n  <BODY>\n
> <H1>Internal Server Error</H1>\n    Premature end of script headers:
> /Users/jimmyether/src/ruby-1.8.4/test/webrick/webrick.cgi\n    <HR>\n
> <ADDRESS>\n     WEBrick/1.3.1 (Ruby/1.8.4/2005-12-24) OpenSSL/0.9.7i
> at\n     127.0.0.1:49746\n    </ADDRESS>\n  </BODY>\n</HTML>\n">.
>
> 1313 tests, 14444 assertions, 1 failures, 0 errors
> make: *** [test-all] Error 1
>
>
>
> Any suggestions on how to fix this?


--
Posted via http://www.ruby-forum.com/.