Build problems

I am running on a redhat linux box. I could not use the binary package
because I do not have libXinerama, and installing it is a nightmare of
dependencies (and I am not root, so I can’t use the package manager).

So I am trying to install from source. I installed wxGTK-2.8.7. I
downloaded wxruby-1.9.2, and issued “rake”, and got:

rake aborted!
WIN32 has been removed, use CURRENT instead

Huh? With much poking around, I made a change in rakepackage.rb, to
change
the GEM_PLATFORMS to just:

‘linux’ => [ Gem::Platform::CURRENT, ‘.so’ ]

That is pretty clearly not the right change, but I don’t know what the
right
change is. This got me a little further:

rake aborted!
can’t convert nil into String
[…]/wxruby-1.9.2/rakefile:48

which with more tracing and pondering, it appears that (something like)
this
change needs to be made in rakewx.rb:

-stc_lib = $wx_libs[/\S+libwx\S+_stc\S+/]
+stc_lib = $wx_libs[/\S+lwx\S+_stc\S+/]

since wx_libs has strings of the form -lwx_gtk2_*. There is no “lib” in
there.

The build is now proceeding. Stay tuned.

Is the rakefile system unmaintained or something? Adoption will be a
problem if wxruby is unbuildable out of the box in the “stable” release.

Hi Robert

Thanks for the feedback.

Robert A. wrote:

rake aborted!
WIN32 has been removed, use CURRENT instead

That is pretty clearly not the right change, but I don’t know what the
right change is. This got me a little further:
This is already fixed in svn. Rubygems developers, in the rush to get a
1.0 version to go with Ruby 1.9.0 have made many backwards-incompatible
changes between 0.9.3 (which was current when we released 1.9.2) and
now. The error you got is one of several problems the rubygems changes
have caused us. The price of progress, but things should be a little
more settled from now.

which with more tracing and pondering, it appears that (something
like) this change needs to be made in rakewx.rb:

-stc_lib = $wx_libs[/\S+libwx\S+_stc\S+/]
+stc_lib = $wx_libs[/\S+lwx\S+_stc\S+/]

since wx_libs has strings of the form -lwx_gtk2_*. There is no “lib”
in there.
I’m not sure this is quite right. The links to the standard wx libs are
in the form you describe (eg -lwxregexud-2.8), but the links to the
“extra” libs like stc are given as paths to files, at least on my
Linux/GTK (Ubuntu 7.10) and on OS X, eg
“/usr/local/lib/libwx_macud_stc-2.8.a”. The rakefile’s looking for the
stc file to test whether it exists and so should be built into wxruby.

Could you post what wx-config --libs std,stc returns on your system
please? If you could also post the full error backtrace from this error
(try running rake --trace) that would help.

Is the rakefile system unmaintained or something? Adoption will be a
problem if wxruby is unbuildable out of the box in the “stable” release.
The rakefile’s maintained. Your help in getting it wxRuby to build on
all the different Linux systems out there is appreciated

cheers
alex

On Dec 27, 2007 2:18 PM, Alex F. [email protected] wrote:

Hi Robert

Thanks for the feedback.

Robert A. wrote:

rake aborted!
WIN32 has been removed, use CURRENT instead
This is already fixed in svn.

Ok. If you could cut a new tarball to replace 1.9.2, that might save
some
headaches. I think people are generally more afraid of a svn repo than
a
tarball. If I can’t get the tarball to work, I’m likely to think the
svn
repo is going to be worse.

I am not always all complaints, so bear with me…

Rubygems developers, in the rush to get a
1.0 version to go with Ruby 1.9.0 have made many backwards-incompatible
changes between 0.9.3 (which was current when we released 1.9.2) and
now.

Ok.

in the form you describe (eg -lwxregexud-2.8), but the links to the
“extra” libs like stc are given as paths to files, at least on my
Linux/GTK (Ubuntu 7.10) and on OS X, eg
“/usr/local/lib/libwx_macud_stc-2.8.a”. The rakefile’s looking for the
stc file to test whether it exists and so should be built into wxruby.

Ok, I think I see what’s going on here. When you compile with the
monolithic flag (as recommended), you do indeed get the full paths. But
when you compile without the monolithic flags, you get the -lwx* strings
from wx-config. Maybe in the interest of robustness, you could just
ignore
the -l or lib part, so it would work either way. Looking at the svn
rakewx.rb, it looks like this is completely re-written anyway, so maybe
it
doesn’t matter.

The rakefile’s maintained. Your help in getting it wxRuby to build on

all the different Linux systems out there is appreciated

Ok, your help and support appreciated as well. I’m a little grumpy
today,
so please bear with me.

Bob

Robert A. wrote:

Ok. If you could cut a new tarball to replace 1.9.2, that might save
some headaches. I think people are generally more afraid of a svn
repo than a tarball. If I can’t get the tarball to work, I’m likely
to think the svn repo is going to be worse.
Me too. We’ll be cutting a 1.9.3 version shortly (shortly after new
year, I hope). We normally release a bit more regularly but had a lot of
features to integrate.

I'm not sure this is quite right. The links to the standard wx

monolithic flag (as recommended), you do indeed get the full paths.
But when you compile without the monolithic flags, you get the -lwx*
strings from wx-config. Maybe in the interest of robustness, you
could just ignore the -l or lib part, so it would work either way.
Looking at the svn rakewx.rb, it looks like this is completely
re-written anyway, so maybe it doesn’t matter.
It’s mostly moved to rakeunixish. Unfortunately I think we want the path
to libwx_stc b/c we’re interested in finding whether the file exists -
IIRC wx-config will return something even if it doesn’t.

It shouldn’t really matter whether monolithic or not - but I’m curious
what your wx-config --libs std,stc returns so we can work with either.

The rakefile’s maintained. Your help in getting it wxRuby to build on

all the different Linux systems out there is appreciated

Ok, your help and support appreciated as well. I’m a little grumpy
today, so please bear with me.
No worries. Thanks for your patience. It bugs me when other packages
don’t build too …

alex