On Monday 01 October 2007, Simon Edwards wrote:
Hello all,
Sebastian Kügler wrote:
On Monday 01 October 2007 10:37:06 Andreas Pakulat wrote:
On 01.10.07 06:30:25, Dirk Mueller wrote:
On Saturday, 8. September 2007, Albert Astals Cid wrote:
5) Should language bindings be part of the development platform?
Richard Dale says Python and Ruby in good shape by late October, and
possibly C# too.
If Richard says he can do it, i say we can try it :-)
Thats not enough. somebody has at least to be able to confirm that the
bindings *compile*. right now, kdebindings does not compile, and after
I spent an hour or so looking, I'm sure that it can not compile for
anyone at all, given the fundamental bugs in the build system.
it is my understanding that Richard uses a completely different build
system to maintain the bindings, at least thats what he used to do in
KDE3 times. There has to be at least somebody who maintains the
official build system, and that person has to be != me.
I use cmake to build the smoke libs and the ruby and python bindings, and it
all works fine. I'm afraid I can't reproduce the perl error that the
dashboard build has.
http://ktown.kde.org/~dirk/dashboard/
I just did a diff from the kalyptus code as it was in 2004, and how it is
today and the line with the error is much the same:
@@ -226,17 +217,18 @@
# Otherwise, compile the default ones. Used for filtering in readCxxLine.
if ( my @qt_defines = map { ($_=~m/^QT_(.*)/)[0] } keys %defines)
{
-my $regexp = m/^#\\s*ifn?def\\s+QT_(?: . join('|', map
{ \$qt_defines[$_] } 0..$#qt_defines).)/o;
+my $regexp = m/^#\\s*if\\s*[n!]?\\s*def(ined\\()?\\s*QT_(?: . join('|',
map { \$qt_defines[$_] } 0..$#qt_defines).)/o;
$match_qt_defines = eval sub { my \$s=shift;
- \$s=~/^#\\s*if(n)?def/ || return 0;
+ \$s=~/^#\\s*if\\s*([n!])?\s*def(ined\\()?
\\s*QT_/ || return 0;
if(!\$1) { return \$s=~$regexp ? 0:1 }
else { return \$s=~$regexp ? 1:0 }
};
+
die if $@;
I couldn't understand the perl in 2004, and I don't really understand it now.
Certainly lots of people have run kalyptus to build the smoke bindings, and
only dashboard has this error:
Global symbol $qt_defines requires explicit package name at (eval 1) line 4.
Global symbol $qt_defines requires explicit package name at (eval 1) line 4.
Global symbol $qt_defines requires explicit package name at (eval 1) line 4.
...propagated at kdebindings-717467/kalyptus/kalyptus line 227.
make: *** [smoke/plasma/smokedata.cpp] Error 255
make: *** [smoke/plasma/CMakeFiles/smokeplasma.dir/all] Error 2
make: *** [all Error 2
This is the code that is failing:
# Check the %defines hash for QT_* symbols and compile the corresponding RE
# Otherwise, compile the default ones. Used for filtering in readCxxLine.
if ( my @qt_defines = map { ($_=~m/^QT_(.*)/)[0] } keys %defines)
{
my $regexp = m/^#\\s*if\\s*[n!]?\\s*def(ined\\()?\\s*QT_(?: . join('|',
map { \$qt_defines[$_] } 0..$#qt_defines).)/o;
$match_qt_defines = eval sub { my \$s=shift;
\$s=~/^#\\s*if\\s*([n!])?\s*def(ined\\()?
\\s*QT_/ || return 0;
if(!\$1) { return \$s=~$regexp ? 0:1 }
else { return \$s=~$regexp ? 1:0 }
};
die if $@;
}
Would it help to move the 'my @qt_defines' outside the 'if' statement? Without
being able to reproduce the bug, this is impossible to fix for me.
my @qt_defines;
if (@qt_defines = map { ($_=~m/^QT_(.*)/)[0] } keys %defines)
{
-- Richard
___
release-team mailing list
release-team@kde.org
https://mail.kde.org/mailman/listinfo/release-team