[ANN] QtRuby 1.0.2/Korundum 3.3.1 beta2

R

Richard Dale

Download:
http://rubyforge.org/projects/korundum/

Release notes:

* The packages should now build with Qt 3.1.x and above, and KDE 3.1.x and
above for Korundum.

* Added a qui extension for loading a Qt Designer .ui file at runtime via
QWidgetFactory

* For example:

require 'Qt'
require 'qui'

a = Qt::Application.new ARGV
if ARGV.length == 0
exit
end

if ARGV.length == 2
QUI::WidgetFactory.loadImages ARGV[0]
w = QUI::WidgetFactory.create ARGV[1]
if w.nil?
exit
end
w.show
a.connect( a, SIGNAL('lastWindowClosed()'), a, SLOT('quit()') )
a.exec
end

Build instructions:

$ make -f Makefile.cvs
$ ./configure --with-qt-dir=<your qt directory> --prefix=<your install
directory>
$ make
$ make install

A description of QtRuby and Korundum features can be found here:

http://developer.kde.org/language-bindings/ruby/

The text of Qt tutorial #1 has been translated to ruby, and can be found
here:

http://developer.kde.org/language-bindings/ruby/tutorial/tutorial.html

It accompanies the code examples in qtruby/rubylib/tutorial/t1 to t14.

Feedback welcome on ruby-talk, the Korundum Rubyforge forum or on the
(e-mail address removed) mailing list.

-- Richard
 
V

vruz

Feedback welcome on ruby-talk, the Korundum Rubyforge forum or on the
(e-mail address removed) mailing list.
-- Richard

just one word: WOW !!!

and... thanks :)

that was fast, and great work
 
R

Richard Dale

vruz said:
just one word: WOW !!!

and... thanks :)

that was fast, and great work
Thanks! I hope that now the bindings are on Rubyforge with regular releases,
more people will be able to get them built and try them out..

-- Richard
 
T

Thunfisch

Hi,

I just tried to compile korundum, but unfortunately make fails (log
attached).

My system:

Portage 2.0.50-r11 (default-x86-1.4, gcc-3.4.1, glibc-2.3.4.20040808-r0,
2.6.8.1-ck2)
=================================================================
System uname: 2.6.8.1-ck2 i686 AMD Athlon(tm) XP 1600+
Gentoo Base System version 1.5.3
distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632)
[enabled]
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=athlon-xp -mmmx -msse -m3dnow -mfpmath=sse -ffast-math
-fomit-frame-pointer -O3 -pipe -funroll-loops -falign-functions=4"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /opt/glftpd/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3.3/share/config:/usr/kde/3.3/env:/usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -mmmx -msse -m3dnow -mfpmath=sse -ffast-math
-fomit-frame-pointer -O3 -pipe -funroll-loops -falign-functions=4"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs buildpkg ccache distcc keeptemp keepwork noclean
sandbox usersandbox"
GENTOO_MIRRORS="http://gentoo.osuosl.org
http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="3dnow X aalib acpi alsa apm arts avi berkdb bitmap-fonts cdr crypt
directfb divx4linux encode esd fbcon foomaticdb gdbm gif gnome gphoto2 gpm
gtk gtk2 guile imlib jpeg kde libg++ libwww live mad mikmod mmx motif mpeg
ncurses nls nptl oggvorbis opengl oss pam pdflib perl png python qt
quicktime readline ruby sdl slang spell sse ssl tcltk tcpd tetex theora
truetype x86 xml2 xmms xosd xprint xv xvid zlib"

Ruby 1.8.2_pre2 (Gentoo)
KDE 3.3.0 (Gentoo)
QT 3.3.3 (Gentoo

I'm not very familiar with gcc and/or make errors, please let me know if
there's anything else I can do or send you.

Regards,

Thunfisch
 
R

Richard Dale

Thunfisch said:
Hi,

I just tried to compile korundum, but unfortunately make fails (log
attached).
Hmm, it couldn't find the libkmdi library. One of the changes I made to the
latest version of korundum was to look for that library as part of the
package configuration. It was only added in KDE 3.2, and so to build on KDE
3.1 there needs to be a check for whether the library is there and not add
a '-lkmdi' link option if it's missing.

As a work round you can edit korundum-cvs/smoke/kde/Makefile.am, and change
$(LIB_KMDI) to -lkmdi. I wonder why the test doesn't work. Towards the end
of the configure you should see a line like this, and in your case I assume
the result was 'no':

checking whether to use kmdi lib from kdelibs... yes

-- Richard
 
T

Thunfisch

Richard said:
As a work round you can edit korundum-cvs/smoke/kde/Makefile.am, and
change $(LIB_KMDI) to -lkmdi. I wonder why the test doesn't work. Towards
the end of the configure you should see a line like this, and in your case
I assume the result was 'no':

checking whether to use kmdi lib from kdelibs... yes

I guess I found something in config.log (attached), maybe this is what
you're looking for.

Thunfisch
 
T

Thunfisch

My fault. Somehow /usr/kde/3.2/bin was in my PATH and /usr/kde/3.3/bin not,
so the older version of kde-config was used. I fixed it but now there's a
new problem (log attached).

Thunfisch
 
R

Richard Dale

Thunfisch said:
My fault. Somehow /usr/kde/3.2/bin was in my PATH and /usr/kde/3.3/bin
not, so the older version of kde-config was used. I fixed it but now
there's a new problem (log attached).
I'll keep my fingers crossed that the new libkmdi check is working ok then..
Thunfisch
I think what's happened is that the Smoke library has been generated from
the KDE 3.2 headers, but you're compiling it against KDE 3.3. I had a look
on my KDE 3.1 machine, and KCatalogue::setFileName() did used to be public,
but on 3.3 it's private. So you need to remove the generated .cpp files
from korundum-cvs/smoke/kde (ie smokedata.cpp, x_1.cpp to x_20.cpp), and
then make again to regenerate Smoke. A 'make clean' command doesn't remove
those sources, but it should do.

-- Richard
 
T

Thunfisch

Richard said:
I think what's happened is that the Smoke library has been generated from
the KDE 3.2 headers, but you're compiling it against KDE 3.3. I had a look
on my KDE 3.1 machine, and KCatalogue::setFileName() did used to be
public, but on 3.3 it's private. So you need to remove the generated .cpp
files from korundum-cvs/smoke/kde (ie smokedata.cpp, x_1.cpp to x_20.cpp),
and then make again to regenerate Smoke. A 'make clean' command doesn't
remove those sources, but it should do.

You're absolutely right, now it compiles without any problems.
Thanks for you help and time.

Regards,

-- Thunfisch
 
R

Richard Dale

Thunfisch said:
You're absolutely right, now it compiles without any problems.
Thanks for you help and time.
No problem. I think the KDE version check for the libkmdi library was wrong
though because it was actually introduced in 3.2.0. Your 3.2 lib had it
because the Smoke library generated those classes from the 3.2 headers, and
then the link failed. So I've just changed it in
kdebindings/configure.in.in :

From:
#if KDE_VERSION < ((3<<16) | (2<<8) | (90))

To:
#if KDE_VERSION < ((3<<16) | (2<<8) | (0))
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,537
Members
45,020
Latest member
GenesisGai

Latest Threads

Top