From: Mike Z Date: 2004-04-30T01:03:14+09:00 Subject: Re: Ruby under Suse Linux Mike, What #! line are you using in your script? It sounds like all your ruby stuff has been installed in /usr/local/, but your script is running the suse-supplied binary in /usr/bin. Cheers, Mike On Fri, 30 Apr 2004, Mike Calder wrote: > That's the information I wanted, thanks. At least the reason for failure has > now apparently changed. > > ruby -e 'p $LOAD_PATH' > > gives me: > > ["/usr/local/lib/ruby/site_ruby/1.8", "/usr/local/lib/ruby/site_ruby/1.8/ > i686-linux", "/usr/local/lib/ruby/site_ruby", "/usr/local/lib/ruby/1.8", "/ > usr/local/lib/ruby/1.8/i686-linux", "."] > > I have made sure that the files and extensions I'm using are in one or more of > these (actually, everything is just about everywhere). Presumably the search > sequence is as listed, and there really only needs to be one copy of > something in one of those? Or is there a distinction between them? I notice > that the i686-linux directories have binary libraries where the others have > ruby source, in general - is this a required split or just for convenience of > tracking? > > I have > > require 'html-parser' > > and > > class MyHTMLParser < HTMLParser > > in a ruby script. I have made sure that html-parser.rb (a standard ruby > extension I downloaded and installed using ruby install.rb) is present (along > with the sgml-parser.rb it requires) in > > usr/local/lib/ruby > usr/local/lib/ruby/1.8 > usr/local/lib/ruby/site_ruby > usr/local/lib/ruby/site_ruby/1.8 > > Each copy is identical and contains the definition of 'HTMLParser'. > > However, when I run my script I get > > testhtml.rb:22: undefined superclass `HTMLParser' (TypeError) > > The 'html-parser' is presumably now being found as I am no longer getting > LoadError messages, but the content (the definition of class 'HTMLParser') > is not being used by my code (actually cut and pasted from a standard > example). > > So probably the problem has changed from me not having things in the right > place to not understanding how to use standard classes. > > I'll give it another day. > > On Thursday 29 April 2004 15:57, ts wrote: > > >>>>> "M" == Mike Calder writes: > > > > M> I still need to know where Ruby expects these things to be, or how to > > specify M> (preferably in a single place, once and for all) where it should > > look. > > > > > > Well, I don't understand : if you follow the instructions in the README > > file, you'll not have a problem and ruby will automatically find it. > > > > The only possibility that I see, is that you use one version of ruby to > > make the installation and then try to use these extensions with another > > version of ruby > > > > Try to do > > > > ruby -e 'p $LOAD_PATH' > > > > and you'll see where ruby look to find the libraries > > > > > > > > Guy Decoux > > -- Mike Z - it's an apathy thing