Hi Richard,

Thanks for your help on this very strange bug. The bug you linked to
looks unrelated - in fact I am not getting any console output at all (I
usually get lots of debug stuff... see below)

I know I've gotten confused about what my system looks like, so I can
only imagine how confusing it must be to you. :) Here's the current
state for the rest of this email: no debian smoke or qtruby packages
(i.e. no libqt0-ruby1.8 and no libsmoke*) are installed. I have run
make uninstall in qtruby's source tree too, so I should have no qtruby
on my system, and sure enough "require 'Qt'" fails with "no such file
to load -- Qt".

rm -r qtruby-1.0.10
tar xzf qtruby-1.0.10.tgz
cd qtruby-1.0.10
../configure --with-smoke="qt"
make

The above results in an error:

/bin/sh ../../libtool --silent --tag=CXX --mode=link g++
-Wno-long-long -Wundef -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE
-Wcast-align -Wconversion -Wchar-subscripts -Wall -W -Wpointer-arith
-O2 -Wformat-security -Wmissing-format-attribute -Wno-non-virtual-dtor
-fno-exceptions -fno-check-new -fno-common    -o libsmokeqt.la -rpath
/usr/local/lib -version-info 3:4:92 -no-undefined -Wl,--no-undefined
-Wl,--allow-shlib-undefined -L/usr/share/qt3/lib -L/usr/X11R6/lib
smokedata.lo x_1.lo x_2.lo x_3.lo x_4.lo x_5.lo x_6.lo x_7.lo x_8.lo
x_9.lo x_10.lo x_11.lo x_12.lo x_13.lo x_14.lo x_15.lo x_16.lo x_17.lo
x_18.lo x_19.lo x_20.lo -lqt-mt  -lz -lpng -lz -lm -lXext -lX11  -lSM
-lICE -lpthread -lGLU -lGL -lX11
libtool: link: AGE `92' is greater than the current interface number
`3'
libtool: link: `3:4:92' is not valid version information
make[3]: *** [libsmokeqt.la] Error 1
make[3]: Leaving directory `/tmp/qtruby-1.0.10/smoke/qt'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/tmp/qtruby-1.0.10/smoke'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/qtruby-1.0.10'
make: *** [all] Error 2

I tried running "make -f Makefile.cvs" too, same result. So 1.0.10 is
out for now since I don't want to fiddle with libtool. ;-)


So I do this:

cd ..; rm -r qtruby-1.0.9; tar xzf qtruby-1.0.9.tgz
make -f Makefile.cvs # (there is no configure in this tarball)
../configure --with-smoke="qt"
make
sudo make install

This time I noticed this at the end of make install:
/usr/bin/ld: warning: libstdc++.so.5, needed by /usr/lib/libqt-mt.so,
may conflict with libstdc++.so.6

Here's the ldd output
$ ldd /usr/local/lib/site_ruby/1.8/i386-linux/qtruby.so
        linux-gate.so.1 =>  (0xffffe000)
        libm.so.6 => /lib/tls/libm.so.6 (0xb7f73000)
        libsmokeqt.so.1 => /usr/local/lib/libsmokeqt.so.1 (0xb7b1d000)
        libqt-mt.so.3 => /usr/lib/libqt-mt.so.3 (0xb7431000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb740c000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb73f8000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0xb73e9000)
        libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0xb73e0000)
        libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0xb73c9000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb73b7000)
        libGLU.so.1 => /usr/X11R6/lib/libGLU.so.1 (0xb7339000)
        libGL.so.1 => /usr/X11R6/lib/libGL.so.1 (0xb72d5000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb7209000)
        libc.so.6 => /lib/tls/libc.so.6 (0xb70d1000)
        /lib/ld-linux.so.2 (0x80000000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb6ff6000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb6feb000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb6fbc000)
        libaudio.so.2 => /usr/lib/libaudio.so.2 (0xb6fa6000)
        libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0xb6f57000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb6f4f000)
        libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0xb6f4b000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb6f42000)
        libXft.so.2 => /usr/lib/libXft.so.2 (0xb6f2f000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb6ec2000)
        libdl.so.2 => /lib/tls/libdl.so.2 (0xb6ebd000)
        libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0xb6e03000)
        libXxf86vm.so.1 => /usr/X11R6/lib/libXxf86vm.so.1 (0xb6dfe000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb6dde000)

That warning gave me the idea to look at 'ldd /usr/lib/libqt-mt.so.3':

ldd /usr/lib/libqt-mt.so.3
        linux-gate.so.1 =>  (0xffffe000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb784c000)
        libaudio.so.2 => /usr/lib/libaudio.so.2 (0xb7837000)
        libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0xb77e8000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb77c3000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb77af000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb77a6000)
        libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0xb77a2000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb7799000)
        libXft.so.2 => /usr/lib/libXft.so.2 (0xb7786000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb7719000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0xb770b000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0xb763f000)
        libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0xb7636000)
        libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0xb761f000)
        libdl.so.2 => /lib/tls/libdl.so.2 (0xb761b000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7609000)
        libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0xb754f000)
        libm.so.6 => /lib/tls/libm.so.6 (0xb7528000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb751d000)
        libc.so.6 => /lib/tls/libc.so.6 (0xb73e5000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb73c5000)
        /lib/ld-linux.so.2 (0x80000000)

Sorry for the copious output.

Now, in qtruby/rubylib/tutorial/ I can run t1, t2, and t3 just fine,
but t4 gives me an empty gray box. I stuck a puts 'foo' just after the
call to super in t4.rb (line 10), and it seems that it never gets
printed. So it looks like the call to Qt::Widget::initialize via super
is not returning. If I put 'puts "foo"' before the super call, it does
happen.