Hi. Chauk-Mean -
Okay, newly installed system, Ubuntu 9.10 standard package level (no
pre-release).
- Compiled RubyGems-1.3.7 from source
- Compiled Ruby 1.8.7p330 from source
- Compiled wxWidgets from source as suggested.
- Reverted to SWIG 1.3.38 and compiled as suggested because it
complained
(which didn’t happen before) about my use of 1.3.40.
- Compiled wxruby-2.0.1 from source and made gem & installed as
requested.
Result:
./smarttvmark.rb:11:in `require’: no such file to load – wx (LoadError)
from ./smarttvmark.rb:11
What is happening is that wx.rb is being installed in
/usr/local/lib/site_ruby/1.8/wx.rb
… and the module path after all the above incantations is
$: => [“/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/vendor_ruby/1.8”,
“/usr/local/lib/ruby/vendor_ruby/1.8/i686-linux”,
“/usr/local/lib/ruby/vendor_ruby”, “/usr/local/lib/ruby/1.8”,
“/usr/local/lib/ruby/1.8/i686-linux”, “.”]
Now, yes, I can whack either the location or the $: path, but breaking
other
ruby deployables is not a friendly thing to do. :-\
So, this is now in my scripts:
$: << "/usr/local/lib/site_ruby/1.8" if not $:.include?
“/usr/local/lib/site_ruby/1.8”
$: << “/usr/local/lib/site_ruby/1.8/i486-linux” if not $:.include?
“/usr/local/lib/site_ruby/1.8/i486-linux”
I’ve injected the new path into $: in my script and now it finds gems
and
.so’s, but what I’d like to know is what would be the right way to fix
this inconsistency? It doesn’t appear to be a wxruby bug, but somewhere
between Ruby itself (from source) and RubyGems (from apt-get then gem
update
–system) the inconsistency is getting embedded. And where is it picking
up
i486-linux?
The good news is that my wxWindows close on completion. Thanks for your
suggestions and – as always – for the hard work that goes into making
these things fly.
On Thu, Dec 30, 2010 at 12:26 PM, Don W. [email protected] wrote:
[snip]