[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bindings
Subject:    Re: [Kde-bindings] Building latest qyoto under Windows and Linux
From:       Dimitar Dobrev <dpldobrev () yahoo ! com>
Date:       2012-05-16 8:12:48
Message-ID: 1337155968.11806.YahooMailNeo () web125906 ! mail ! ne1 ! yahoo ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


I have no idea what "HccQt" is but Qyoto.Slot is what I replaced System.Action for \
the events with. It is defined in \
assemblygen/assemblies/qyoto-qtcore/QObjectExtras.cs. Please make sure you haven't \
replaced only separate assemblies instead of the whole bunch.

Another note: that QVariant.FromValue<float> crash I've written about, I'm alomost \
sure it happens with any non-build in for QVariant type, that is, \
QVariant.FromValue<QColor> ot QVariant.FromValue<MyCustomClass>would crash as well. I \
have some porting work on my project and I'll try to trace it after that but it'd be \
great if you could try it - as I've written, it is a regression and it happened \
somewhere along me committing your patches.



________________________________
 From: Steven Boswell II <ulatekh@yahoo.com>
To: KDE bindings for other programming languages <kde-bindings@kde.org> 
Sent: Wednesday, May 16, 2012 5:03 AM
Subject: Re: [Kde-bindings] Building latest qyoto under Windows and Linux
 

Wow, I'm dumb.   The reason I was having trouble under Linux is because I hadn't \
upgraded my project to use .NET 4.0.   Once I did that, the newly built/installed \
assemblies displayed automatically in the list, and things compiled just fine.   Duh.

When I tried to run, it got past the QApplication creation (a good sanity check), but \
died when trying to create an instance of my QMainWindow subclass.   I got "Could not \
load type 'Qyoto.Slot' from assembly 'HccQt'."   I'm not sure why it's looking for \
Qyoto types in my top-level Qt application project.   Any ideas what this means?

Steven Boswell


________________________________
 From: Dimitar Dobrev <dpldobrev@yahoo.com>
To: Steven Boswell II <ulatekh@yahoo.com>; KDE bindings for other programming \
                languages <kde-bindings@kde.org> 
Sent: Monday, May 14, 2012 12:30 AM
Subject: Re: [Kde-bindings] Building latest qyoto under Windows and Linux
 

I've just tried my project on Windows with the build with all of your patches \
included and it ran fine. You may check if Qt is either in your path or \
libgcc_s_dw2-1.dll, mingwm10.dll and the Qt libs themselves (like QtCore4.dll, \
QtGuid4.dll, etc.) are in the same dir as your executable. About Linux it's possible \
that some dependency is missing. You may try the following in a terminal:

MONO_LOG_LEVEL=Debug mono /path/to/your/exe

This will show you how each individual library is loaded and you'll find the missing \
or incorrect one.



________________________________
 From: Steven Boswell II <ulatekh@yahoo.com>
To: KDE bindings for other programming languages <kde-bindings@kde.org> 
Sent: Monday, May 14, 2012 3:07 AM
Subject: Re: [Kde-bindings] Building latest qyoto under Windows and Linux
 

I successfully compiled my project under Windows, and tried to run it, but it just \
hung.   It didn't even get to the first line of my Main() function, which is the \
creation of a new QApplication.   There's no apparent debug output, either.

Under Linux, after installing the version of Qyoto I built, I tried to select the new \
assemblies, but they didn't show up in the list (even though they're installed under \
/usr/lib/mono/gac with the proper gacutil signing and all that).   I could select \
them by browsing the filesystem, though.   However, compilation crashed with \
"System.TypeLoadException: Could not load type 'Qyoto.QMainWindow' from assembly \
'qyoto-qtgui, Version=2.0.0.0, Culture=neutral, PublicKeyToken=194a23ba31c08164'."   \
But I could open the assembly in MonoDevelop and browse it.   I could even look at \
QMainWindow.

Sigh...I should have known that building Qyoto was going to be the least of my \
trouble. :-)

Steven Boswell


________________________________
 From: Steven Boswell II <ulatekh@yahoo.com>
To: Dimitar Dobrev <dpldobrev@yahoo.com>; KDE bindings for other programming \
                languages <kde-bindings@kde.org> 
Sent: Sunday, May 13, 2012 12:26 PM
Subject: Re: [Kde-bindings] Building latest qyoto under Windows and Linux
 

The QColor-containing QVariant was for my override of QAbstractItemModel, in the \
method "public override QVariant Data (QModelIndex a_rIndex, int a_iRole)", when the \
role was  Qt.ItemDataRole.BackgroundRole, i.e. so I could give my tree-items a \
background color.   I can't use GlobalColor because I use different colors, and some \
of them have transparency.   I'll look into QVariant.FromValue<T>.

Enclosed is my initial .spec file.   This works under Fedora Core 16, and does \
everything I want except install the cmake files with the "devel" package.   The \
enclosed patch causes the key.snk file to get installed so that it can become part of \
the "devel" package.

In the standard "qyoto" package, cmake/CMakeLists.txt contained this section for \
installing the cmake files:

install(FILES CMakeCSharpCompiler.cmake.in
                  CMakeCSharpInformation.cmake
                  CMakeDetermineCSharpCompiler.cmake
                  CMakeTestCSharpCompiler.cmake
                  FindMono.cmake
                  ${CMAKE_CURRENT_BINARY_DIR}/QyotoConfig.cmake
            DESTINATION share/qyoto/cmake )

But I'm not sure where to put the equivalent of that in the assemblygen project.

At some point I'll update the assembly versions to read 4.8.3.   Probably around the \
time I attempt the .NET 3.5 backport.

Steven Boswell


________________________________
 From: Dimitar Dobrev <dpldobrev@yahoo.com>
To: Steven Boswell II <ulatekh@yahoo.com>; KDE bindings for other programming \
                languages <kde-bindings@kde.org> 
Sent: Sunday, May 13, 2012 11:58 AM
Subject: Re: [Kde-bindings] Building latest qyoto under Windows and Linux
 

I checked it and I actually find it strange that there ever was a constructor of \
QVariant taking a QColor, see this excerpt from the Qt 4.8.0 docs on QVariant: "A \
Note on GUI Types Because QVariant is part of the  QtCore  library, it cannot provide \
conversion functions to data types defined in  QtGui, such as  QColor,  QImage, and  \
QPixmap. In other words, there is no  toColor()  function."

What you have is a constructor that takes a Qt.GlobalColor, an enum of built-in \
colours. If it doesn't work for you you can simply use QVariant.FromValue<T>. About \
event raising methods: come to think of it, they do not seem to depend on the event \
handler type so I'll try them tomorrow.

I think it's most clear if the Qyoto RPM bears the version of Qyoto, and the version \
of Qyoto is most clear to bear the version of the wrapped Qt version so basically I \
agree with you.



________________________________
 From: Steven Boswell II <ulatekh@yahoo.com>
To: KDE bindings for other programming languages <kde-bindings@kde.org> 
Sent: Sunday, May 13, 2012 9:38 PM
Subject: Re: [Kde-bindings] Building latest qyoto under Windows and Linux
 

OK, I'll attempt the .NET 3.5 backport, hopefully today.   (I really need to do some \
non-Qyoto things this weekend...like cook next week's lunch. :-)

Will you be able to implement QVariant<QColor> and OnDataChanged() relatively soon?   \
Then I can start testing my project under the newest Qyoto.

I was working on an RPM spec file for the latest qyoto (i.e. so that it can be \
installed with Linux's package manager), and noticed that all the assembly versions \
are set to 2.0.0.   Should we upgrade them to match the version number of the Qt \
library that we're compiling them against (in my case, 4.8.3)?   Or are they supposed \
to match the version of .NET that they run with?   I'm not really sure what the \
standard is, but it seems like they should be upgraded past 2.0.0.

Steven Boswell


________________________________
 From: Dimitar Dobrev <dpldobrev@yahoo.com>
To: Steven Boswell II <ulatekh@yahoo.com>; KDE bindings for other programming \
                languages <kde-bindings@kde.org> 
Sent: Sunday, May 13, 2012 11:28 AM
Subject: Re: [Kde-bindings] Building latest qyoto under Windows and Linux
 

Well, in short, right now nobody cares about Kimono. :)

About .NET 3.5, the following needs to be done:
1. Define all Qyoto.Action overloads (for example, in \
assemblies/qyoto-qtcore/Qyoto.cs); 2. Change src/plugins/qyoto/QyotoHooks.cs, method \
PostMembersHook; you'll see where I use System.Action; as you won't have a reference \
to Qyoto.Action you'd need to change the Windows case to use only strings for \
generation, not very hard a task.

And you're done.

About Emit.DataChanged: I think now that even though that calling the signal didn't \
help you it'd be nice to have an event raising method (OnDataChanged, as you said), \
it's both good practice and, I'd say, a .NET/Mono library "standard". I'll think \
about adding such but after the migration (if any) to Qyoto.Action because it'd have \
to be tested twice otherwise.



________________________________
 From: Steven Boswell II <ulatekh@yahoo.com>
To: KDE bindings for other programming languages <kde-bindings@kde.org> 
Sent: Sunday, May 13, 2012 9:03 PM
Subject: Re: [Kde-bindings] Building latest qyoto under Windows and Linux
 

I was converting the patch format while you were sending the second e-mail, so it was \
just timing. :-)   There's no problem at all submitting future patches in the git \
format -- I will do that.

Emit.DataChanged is an event now, so I can't call it as a function.   I also didn't \
see an OnDataChanged() method.   I'm sure there's some way to post an event to an \
object directly in C#, I just don't know what it is.   I can look it up.   But like I \
said, for the short term, the problem is moot -- it never did what I wanted anyway.   \
Some day I'll have to get better with Qt and figure out how to use tree-views better.

Re: the Kimono port, I just didn't know if it contained the "latest" Kimono the way \
the assemblygen project contains the "latest" Qyoto.   I don't use Kimono personally. \
I was just wondering if anyone cared if assemblygen's Kimono wasn't building.

Re: .NET 3.5, if I can figure out how to make the change I'm talking about, I will.   \
Where I work, they're still using .NET 3.5 under Windows Vista, which is my entire \
motivation for caring about .NET 3.5.   They're talking about finally upgrading to \
Windows 7, but it hasn't happened yet.   Presumably we'll upgrade to .NET 4 at the \
same time.   (And before you say anything...yes, my workplace is a time warp.   It's \
just one of my crosses to bear. :-)

Steven Boswell


________________________________
 From: Dimitar Dobrev <dpldobrev@yahoo.com>
To: Steven Boswell II <ulatekh@yahoo.com>; KDE bindings for other programming \
                languages <kde-bindings@kde.org> 
Sent: Sunday, May 13, 2012 10:53 AM
Subject: Re: [Kde-bindings] Building latest qyoto under Windows and Linux
 

I've already been able to successfully apply all your patches (you may've missed my \
second e-mail) but the new format you've sent me (assemblygen-patches-git.zip, no \
need for the other one) allows me to use Tortoise Git! So it'd be great if you could \
send all of your future patches in this one.

Thanks for your kind words about my changes. :)

I haven't deleted any constructors from QVariant, I don't know how that happened. \
Will check it right now. About Emit.DataChanged, what is the difference now - is it \
not accessible (private), is it missing or sth else?



________________________________
 From: Steven Boswell II <ulatekh@yahoo.com>
To: KDE bindings for other programming languages <kde-bindings@kde.org> 
Sent: Sunday, May 13, 2012 8:40 PM
Subject: Re: [Kde-bindings] Building latest qyoto under Windows and Linux
 

It looks like the output of "diff -ur" and "git diff" are slightly different.   \
Either that's the problem, or it's an issue of Windows-style line-endings (i.e. \
CR/LF) versus Linux-style line endings (i.e. LF). Enclosed are two archives with \
patches generated by "git diff".   One has Linux line endings, the other has Windows \
line endings.   One or both should work for you.

I was able to run uics under Windows, and I made a bunch of little changes to adapt \
to the new API.   Very slick!   All the set/get methods have been replaced with \
properties, the enum values allow the "bitwise or" operator, and the Qt events are \
now C# events!

I have two API changes I haven't resolved yet.   One, QVariant no longer has a \
constructor that takes a QColor.   I need this to color my tree-view items.   Also, I \
can no longer call "Emit.DataChanged" from within my QAbstractItemModel subclass.   I \
was using that to force the update of the display of my tree-view when I modified \
items.   But I never got that to work anyway; I ended up having to call Collapse() on \
the parent item and have the user re-open that item in order to force the update.   \
So maybe this second one isn't a big deal.   But I'll definitely need a QVariant \
constructor that takes a QColor.

Steven Boswell


________________________________
 From: Dimitar Dobrev <dpldobrev@yahoo.com>
To: Steven Boswell II <ulatekh@yahoo.com>; KDE bindings for other programming \
                languages <kde-bindings@kde.org> 
Sent: Sunday, May 13, 2012 9:30 AM
Subject: Re: [Kde-bindings] Building latest qyoto under Windows and Linux
 

They all look great but I cannot apply them. I use the "Review/apply single patch" \
menu item of TortoiseGit but it cannot recognise the format. Could you advise me what \
program to use?



________________________________
 From: Steven Boswell II <ulatekh@yahoo.com>
To: KDE bindings for other programming languages <kde-bindings@kde.org> 
Sent: Sunday, May 13, 2012 6:31 PM
Subject: Re: [Kde-bindings] Building latest qyoto under Windows and Linux
 

OK, I separated out all my patches.   Enclosed is an archive with all of them.   They \
are meant to be applied in order, but if they're not, or one is skipped, they should \
work, but patch will report "fuzz", i.e. that the target line numbers had to be \
adjusted.

Patch 1 allows MONO_EXECUTABLE to be undefined, i.e. so that the Windows version can \
be built with Microsoft's C# compiler.

Patch 2 modifies output-destinations, so that executables, libraries, and assemblies \
go to the proper location, and it modifies Windows libraries/DLLs so that they don't \
have a "lib" prefix. Patch 3 is the patch that detects a missing QtDBus (i.e. under \
Windows) but allows building anyway. Patch 4 fixes qyoto-phonon to use  \
DEF_LIST_MARSHALLER instead of  DEF_VALUELIST_MARSHALLER.   I hope I did it right. \
Patch 5 makes the build look for the .NET 4 compiler under both Windows and Linux. \
Patch 6 adds "SMOKE_INCLUDE_DIR" to a few places where it's needed. Patch 7 builds a \
native assemblygen under Windows, so that it can load native DLLs. Patch 8 is the \
hack that adds a reference for the Error class under QX11EmbedContainer and \
QX11EmbedWidget.

I noticed that Kimono isn't building under Linux.   Is the Kimono project in the \
assemblygen git-project being used or maintained?   I started to modify the \
CMakeLists.txt files to build it, but it looks like it needs more work than that.

One last thing...are there any other dependencies on .NET 4, or is it just the \
System.Action<> prototypes with more than 4 parameters?   If so, can we just add our \
own "Qyoto.Action<>" prototypes with the required number of parameters, and use those \
instead?   Would that cause any headaches that I can't think of?   (In which case, \
patch 5 can be ignored.)

Steven Boswell


________________________________
 From: Dimitar Dobrev <dpldobrev@yahoo.com>
To: Steven Boswell II <ulatekh@yahoo.com>; KDE bindings for other programming \
                languages <kde-bindings@kde.org> 
Sent: Sunday, May 13, 2012 5:54 AM
Subject: Re: [Kde-bindings] Building latest qyoto under Windows and Linux
 

It seems to me you haven't subscribed to the mailing list because I've been doing \
quite a bit of shouting here. :) Please consider joining, this way you'll always be \
up to date with all developments.


Most of the errors you report are my fault, sorry about that:


1. QX11EmbedContainer and QX11EmbedWidget - I removed them because the nested type \
Error was not generated; I didn't check that as I was after another bug then so \
seeing they are not that often used I just removed them; obviously I forgot to remove \
the events that use them; I compiled everything then but apparently these events are \
new to Qt 4.8.0 as my Linux had 4.7.4;

2. dmcs - I really don't know what happened here; I clearly remember searching for \
"gmcs" in the whole dir and replacing it; it seems that I didn't commit these \
changes;

3. DEF_VALUELIST_MARSHALLER - I replaced this everywhere with DEF_LIST_MARSHALLER \
because of two of the bugs (QPrinterInfo and QModelIndex) I've written about in my \
recent post called "Qyoto: help needed"; but I have clearly forgotten about Phonon as \
I don't compile it on my Windows because of some missing dependencies;

4. uics - Arno advised me months ago to move uics to assemblygen but I haven't done \
it yet; I will complete that today.

You can send me your patches and I'll push them but please try to separate them per \
feature: that is, one for dmcs, one for DBus, one for MONO_EXECUTABLE, etc.



________________________________
 From: Steven Boswell II <ulatekh@yahoo.com>
To: KDE bindings for other programming languages <kde-bindings@kde.org> 
Sent: Sunday, May 13, 2012 4:12 AM
Subject: Re: [Kde-bindings] Building latest qyoto under Windows and Linux
 

OK, I added two lines to  src/plugins/qyoto/QyotoTranslator.cs:

{ "QX11EmbedContainer::Error", delegate { throw new NotSupportedException(); } },

{ "QX11EmbedWidget::Error", delegate { throw new NotSupportedException(); } },


I don't know if that was a great idea, but at least it kept compiling.

The next compile error (under Linux) was in qyoto-phonon:

assemblygen/assemblies/qyoto-phonon/native/phononhandlers.cpp:29:25: error: expected \
constructor, destructor, or type conversion before ‘(' token


The issue seems to be that  DEF_VALUELIST_MARSHALLER isn't defined anywhere.   \
assemblies/qyoto-qtcore/native/marshall_macros.h has a definition for  \
DEF_LIST_MARSHALLER, so maybe that file is out of date.

As always, help is appreciated.

Steven Boswell


________________________________
 From: Steven Boswell II <ulatekh@yahoo.com>
To: KDE bindings for other programming languages <kde-bindings@kde.org> 
Sent: Saturday, May 12, 2012 5:33 PM
Subject: Re: [Kde-bindings] Building latest qyoto under Windows and Linux
 

I've been here the whole time...you could have just shouted!

I'm still overloaded at work, but decided to take some time today to work on this \
anyway.   I'm tired of being too tired to work on projects that I want to work on! \
:-)

If Qyoto has to depend on .NET 4, that's not a big deal -- if it needs to use \
System.Action<> instances with more than 4 parameters, there's not much of a choice.  \
The problem was that  cmake/modules/CMakeDetermineCSharpCompiler.cmake was still \
looking for the v3.5 compiler.   So I updated it to look for the  v4.0.30319 \
compiler.   I also updated to look for dmcs (i.e. the .NET 4 version of Mono) instead \
of gmcs.   How is it that assemblygen ever compiled without these changes?

The next barrier was that the most of the changes I submitted a long time ago had \
never been applied. I had modified assemblies/qyoto-*/CMakeLists.txt to make them \
work if   MONO_EXECUTABLE was undefined, and various places to allow  \
QT_QTDBUS_LIBRARY to be undefined.   I put those back.

Now assemblygen builds and links under Windows, but I haven't tried to run it   yet.

Under Linux, I get as far as building qyoto-qtgui, then I get a bunch of errors like \
"error CS0426: The nested type `Error' does not exist in the type \
`Qyoto.QX11EmbedContainer'".   One example of a line that causes this problem is:

            [Q_SIGNAL("error(QX11EmbedContainer::Error)")]
            event System.Action<QX11EmbedContainer.Error> Error;

If you know how to get past this, I'd be grateful.   The only reference I see to \
QX11EmbedContainer is in  src/plugins/qyoto/QyotoTranslator.cs, where it throws a \
NotSupportedException, so I have no idea where to go with this.

Also, I have some vague memory that uics was branched into assemblygen?   If not, \
what do I use?

Thanks in advance for any help with these issues!

Steven Boswell


________________________________
 From: Dimitar Dobrev <dpldobrev@yahoo.com>
To: Steven Boswell II <ulatekh@yahoo.com>; KDE bindings for other programming \
                languages <kde-bindings@kde.org> 
Sent: Saturday, May 12, 2012 12:13 PM
Subject: Re: [Kde-bindings] Building latest qyoto under Windows and Linux
 

I'm glad you're back, Steven!

Both problems are one and the same: Qyoto now depends on .NET/Mono 4. 

The reason is that I needed the overloads for System.Action as I use them to generate \
events corresponding to signals. The other thing I need to find the files with \
parameter names. If the dependency on .NET 4 is unacceptable for you please say so \
and we might be able to think of some workaround.



________________________________
 From: Steven Boswell II <ulatekh@yahoo.com>
To: KDE bindings <kde-bindings@kde.org> 
Sent: Saturday, May 12, 2012 9:50 PM
Subject: [Kde-bindings] Building latest qyoto under Windows and Linux
 

Today I decided to try to build latest smokegen/smokeqt/assemblygen under Windows and \
Linux. smokegen, i.e.  git://anongit.kde.org/smokegen, and smokeqt, i.e.  \
git://anongit.kde.org/smokeqt, built and linked under both Windows 7 and Fedora Core \
16 just fine.

But when building assemblygen, i.e.git://gitorious.org/assemblygen/assemblygen.git, \
"assemblies" branch, I get the same build error immediately, under both OSes:

GeneratorData.cs(220,98): error CS0117: `System.Environment.SpecialFolder' does not \
contain a definition for `Windows'


Getting that error under Linux didn't surprise me, but getting it under Windows did.

Diking that line out and continuing to build, I get to building  qyoto-qtcore.dll.   \
I get 260 "Won't wrap method" warnings and 65 "Conflicting names" messages, then I \
get a bunch of errors that say "error CS0305: Using the generic type \
`System.Action<T1,T2,T3,T4>' requires `4' type argument(s)".   One example of a line \
that generates such an error is:

            [Q_SIGNAL("rowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)")]
            event System.Action<QModelIndex,System.Int32,System.Int32,QModelIndex,System.Int32> \
RowsAboutToBeMoved;

I'm guessing there's a 'System.Action<T1,T2,T3,T4>' now, but my version of Qt \
(4.8.1-5) doesn't have that.

So...does anyone know what to do about these?   The first error appears to be real; \
the second one appears to want a different version of Qt.   What version of Qt should \
I be using?

Steven Boswell

_______________________________________________
Kde-bindings
 mailing list
Kde-bindings@kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings





_______________________________________________
Kde-bindings mailing list
Kde-bindings@kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings



_______________________________________________
Kde-bindings mailing list
Kde-bindings@kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings





_______________________________________________
Kde-bindings mailing list
Kde-bindings@kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings





_______________________________________________
Kde-bindings mailing list
Kde-bindings@kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings





_______________________________________________
Kde-bindings mailing list
Kde-bindings@kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings





_______________________________________________
Kde-bindings mailing list
Kde-bindings@kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings





_______________________________________________
Kde-bindings mailing list
Kde-bindings@kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings



_______________________________________________
Kde-bindings mailing list
Kde-bindings@kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings





_______________________________________________
Kde-bindings mailing list
Kde-bindings@kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings


[Attachment #5 (text/html)]

<html><body><div style="color:#000; background-color:#fff; font-family:times new \
roman, new york, times, serif;font-size:12pt"><div><span>I have no idea what \
"</span><span>HccQt</span><span>" is but Qyoto.Slot is what I replaced System.Action \
for the events with. It is defined in \
assemblygen/assemblies/qyoto-qtcore/QObjectExtras.cs. Please make sure you haven't \
replaced only separate assemblies instead of the whole \
bunch.</span></div><div><br><span></span></div><div><span>Another note: that \
QVariant.FromValue&lt;float&gt; crash I've written about, I'm alomost sure it happens \
with any non-build in for QVariant type, that is, \
</span><span>QVariant.FromValue&lt;QColor&gt; ot \
</span><span></span><span>QVariant.FromValue&lt;MyCustomClass&gt;would crash as well. \
I have some porting work on my project and I'll try to trace it after that but it'd \
be great if you could try it - as I've written, it is a regression and it happened \
somewhere along me committing your  patches.<br></span></div><div><br></div>  <div \
style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div \
style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div \
dir="ltr"> <font size="2" face="Arial"> <hr size="1">  <b><span \
style="font-weight:bold;">From:</span></b> Steven Boswell II \
&lt;ulatekh@yahoo.com&gt;<br> <b><span style="font-weight: bold;">To:</span></b> KDE \
bindings for other programming languages &lt;kde-bindings@kde.org&gt; <br> <b><span \
style="font-weight: bold;">Sent:</span></b> Wednesday, May 16, 2012 5:03 AM<br> \
<b><span style="font-weight: bold;">Subject:</span></b> Re: [Kde-bindings] Building \
latest qyoto under Windows and Linux<br> </font> </div> <br><div \
id="yiv832446539"><div><div style="color:#000;background-color:#fff;font-family:times \
new roman, new york, times, serif;font-size:12pt;"><div><span>Wow, I'm dumb. \
&nbsp;The reason I was having trouble under Linux is because I  hadn't upgraded my \
project to use .NET 4.0. &nbsp;Once I did that, the newly built/installed assemblies \
displayed automatically in the list, and things compiled just fine. \
&nbsp;Duh.</span></div><div><span><br></span></div><div><span>When I tried to run, it \
got past the QApplication creation (a good sanity check), but died when trying to \
create an instance of my QMainWindow subclass. &nbsp;I got "Could not load type \
'Qyoto.Slot' from assembly 'HccQt'." &nbsp;I'm not sure why it's looking for Qyoto \
types in my top-level Qt application project. &nbsp;Any ideas what this \
means?</span></div><div><span><br></span></div><div><span>Steven \
Boswell</span></div><div><br></div>  <div style="font-size:12pt;font-family:times, \
serif;"> <div style="font-size:12pt;font-family:times, serif;"> <div dir="ltr"> <font \
size="2" face="Arial"> <hr size="1">  <b><span \
style="font-weight:bold;">From:</span></b> Dimitar Dobrev \
&lt;dpldobrev@yahoo.com&gt;<br> <b><span  style="font-weight:bold;">To:</span></b> \
Steven Boswell II &lt;ulatekh@yahoo.com&gt;; KDE bindings for other programming \
languages &lt;kde-bindings@kde.org&gt; <br> <b><span \
style="font-weight:bold;">Sent:</span></b> Monday, May 14, 2012 12:30 AM<br> <b><span \
style="font-weight:bold;">Subject:</span></b> Re: [Kde-bindings] Building latest \
qyoto under Windows and Linux<br> </font> </div> <br><div id="yiv832446539"><div><div \
style="color:rgb(0, 0, 0);background-color:rgb(255, 255, \
255);font-size:12pt;font-family:times, serif;"><div><span>I've just tried my project \
on Windows with the build with all of your patches included and it ran fine. You  may \
check if Qt is either in your path or libgcc_s_dw2-1.dll, mingwm10.dll and the Qt \
libs themselves (like QtCore4.dll, QtGuid4.dll, etc.) are in the same dir as your \
executable.</span></div><div><span>About Linux it's possible that some dependency is \
missing. You may try the following in a \
terminal:</span></div><div><br><span></span></div><div><span>MONO_LOG_LEVEL=Debug \
mono /path/to/your/exe</span></div><div><br><span></span></div><div><span>This will \
show you how each individual library is loaded and you'll find the missing or \
incorrect one.<br></span></div><div><br></div>  <div \
style="font-size:12pt;font-family:times, serif;"> <div \
style="font-size:12pt;font-family:times, serif;"> <div dir="ltr"> <font size="2" \
face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> \
Steven Boswell II &lt;ulatekh@yahoo.com&gt;<br> <b><span \
style="font-weight:bold;">To:</span></b> KDE bindings for other programming languages \
&lt;kde-bindings@kde.org&gt; <br> <b><span style="font-weight:bold;">Sent:</span></b> \
Monday, May 14, 2012 3:07 AM<br> <b><span \
style="font-weight:bold;">Subject:</span></b> Re: [Kde-bindings] Building latest \
qyoto under Windows and Linux<br> </font> </div> <br><div id="yiv832446539"><div><div \
style="color:rgb(0, 0, 0);background-color:rgb(255, 255, \
255);font-size:12pt;font-family:times, serif;"><div><span>I successfully compiled my \
project under Windows, and tried to run it, but it just hung. &nbsp;It didn't even \
get to the first line of my Main() function, which is the creation of a new \
QApplication. &nbsp;There's no apparent debug output,  \
either.</span></div><div><span><br></span></div><div><span>Under Linux, after \
installing the version of Qyoto I built, I tried to select the new assemblies, but \
they didn't show up in the list (even though they're installed under \
/usr/lib/mono/gac with the proper gacutil signing and all that). &nbsp;I could select \
them by browsing the filesystem, though. &nbsp;However, compilation crashed with \
"System.TypeLoadException: Could not load type 'Qyoto.QMainWindow' from assembly \
'qyoto-qtgui, Version=2.0.0.0, Culture=neutral, PublicKeyToken=194a23ba31c08164'." \
&nbsp;But I could open the  assembly in MonoDevelop and browse it. &nbsp;I could even \
look at QMainWindow.</span></div><div><span><br></span></div><div><span>Sigh...I \
should have known that building Qyoto was going to be the least of my trouble. \
:-)</span></div><div><span><br></span></div><div><span>Steven \
Boswell</span></div><div><br></div>  <div style="font-size:12pt;font-family:times, \
serif;"> <div style="font-size:12pt;font-family:times, serif;"> <div dir="ltr"> <font \
size="2" face="Arial"> <hr size="1">  <b><span \
style="font-weight:bold;">From:</span></b> Steven Boswell II \
&lt;ulatekh@yahoo.com&gt;<br> <b><span style="font-weight:bold;">To:</span></b> \
Dimitar Dobrev &lt;dpldobrev@yahoo.com&gt;; KDE bindings for other programming \
languages &lt;kde-bindings@kde.org&gt; <br> <b><span \
style="font-weight:bold;">Sent:</span></b> Sunday, May 13, 2012 12:26 PM<br> <b><span \
style="font-weight:bold;">Subject:</span></b> Re: [Kde-bindings] Building latest \
qyoto under Windows and  Linux<br> </font> </div> <br>
<div id="yiv832446539"><div><div style="color:rgb(0, 0, 0);background-color:rgb(255, \
255, 255);font-size:12pt;font-family:times, serif;"><div><font size="3">The \
QColor-containing QVariant was for my override of QAbstractItemModel, in the method \
"public override QVariant Data (QModelIndex a_rIndex, int a_iRole)", when the role \
was&nbsp;</font>Qt.ItemDataRole.BackgroundRole, i.e. so I could give my tree-items a \
background color. &nbsp;I can't use GlobalColor because I use different colors, and \
some of them have transparency. &nbsp;I'll look into \
QVariant.FromValue&lt;T&gt;.</div><div><br></div><div>Enclosed is my initial .spec \
file. &nbsp;This works under Fedora Core 16, and does everything I want except \
install the cmake files with the "devel" package. &nbsp;The enclosed patch causes the \
key.snk file to get installed so that it can become part of the "devel" \
package.</div><div><br></div><div>In the standard "qyoto"  package, \
cmake/CMakeLists.txt contained this  section for installing the cmake \
files:</div><div><br></div><div><div>install(FILES \
CMakeCSharpCompiler.cmake.in</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
CMakeCSharpInformation.cmake</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
CMakeDetermineCSharpCompiler.cmake</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
&nbsp; CMakeTestCSharpCompiler.cmake</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
&nbsp; FindMono.cmake</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \
${CMAKE_CURRENT_BINARY_DIR}/QyotoConfig.cmake</div><div>&nbsp; &nbsp; &nbsp; &nbsp; \
DESTINATION share/qyoto/cmake )</div><div><br></div><div>But I'm not sure where to \
put the equivalent of that in the assemblygen project.</div><div><br></div><div>At \
some point I'll update the assembly versions to read 4.8.3. &nbsp;Probably around the \
time I attempt the .NET 3.5 backport.</div><div><br></div><div>Steven \
Boswell</div></div><div style="font-size:12pt;font-family:times,  serif;"><br></div>  \
<div style="font-size:12pt;font-family:times, serif;"> <div \
style="font-size:12pt;font-family:times, serif;"> <div dir="ltr"> <font size="2" \
face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> \
Dimitar Dobrev &lt;dpldobrev@yahoo.com&gt;<br> <b><span \
style="font-weight:bold;">To:</span></b> Steven Boswell II &lt;ulatekh@yahoo.com&gt;; \
KDE bindings for other programming languages &lt;kde-bindings@kde.org&gt; <br> \
<b><span style="font-weight:bold;">Sent:</span></b> Sunday, May 13, 2012 11:58 AM<br> \
<b><span style="font-weight:bold;">Subject:</span></b> Re: [Kde-bindings] Building \
latest qyoto under Windows and Linux<br> </font> </div> <br> <div \
id="yiv832446539"><div><div style="color:rgb(0, 0, 0);background-color:rgb(255, 255, \
255);font-size:12pt;font-family:times, serif;"><div><span>I checked it and I actually \
find it strange that there ever was a constructor of QVariant taking a QColor, see \
this excerpt from the Qt 4.8.0 docs on QVariant: "</span><span \
class="yiv832446539Apple-style-span" style="border-collapse:separate;color:rgb(0, 0, \
0);font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line \
-height:normal;orphans:2;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;font-size:16px;font-family:Arial;"><span \
class="yiv832446539Apple-style-span" style="color:rgb(49, 49, \
49);font-size:14px;line-height:16px;text-align:justify;font-family:Arial, \
Helvetica;"><h3 style="font-size:14px;font-style:normal;font-variant:normal;line-height:1.2;font-weight:100;
 text-decoration:underline;margin-bottom:30px;margin-top:30px;font-family:Arial;">A \
Note on GUI Types</h3><div>Because  QVariant is part of the<span \
class="yiv832446539Apple-converted-space">&nbsp;</span><a rel="nofollow" \
style="color:rgb(44, 65, 141);text-decoration:none;text-align:left;">QtCore</a><span \
class="yiv832446539Apple-converted-space">&nbsp;</span>library, it cannot provide \
conversion functions to data types defined in<span \
class="yiv832446539Apple-converted-space">&nbsp;</span><a rel="nofollow" \
style="color:rgb(44, 65, 141);text-decoration:none;text-align:left;">QtGui</a>, such \
as<span class="yiv832446539Apple-converted-space">&nbsp;</span><a rel="nofollow" \
style="color:rgb(44, 65, 141);text-decoration:none;text-align:left;">QColor</a>,<span \
class="yiv832446539Apple-converted-space">&nbsp;</span><a rel="nofollow" \
style="color:rgb(44, 65, 141);text-decoration:none;text-align:left;">QImage</a>, \
and<span class="yiv832446539Apple-converted-space">&nbsp;</span><a rel="nofollow" \
style="color:rgb(44, 65,  141);text-decoration:none;text-align:left;">QPixmap</a>. In \
other words, there is  no<span \
class="yiv832446539Apple-converted-space">&nbsp;</span><tt \
style="text-align:left;">toColor()</tt><span \
class="yiv832446539Apple-converted-space">&nbsp;</span>function.</div></span></span><span>"<br></span></div><div>What \
you have is a constructor that takes a Qt.GlobalColor, an enum of built-in colours. \
If it doesn't work for you you can simply use \
QVariant.FromValue&lt;T&gt;.</div><div>About event raising methods: come to think of \
it, they do not seem to depend on the event handler type so I'll try them \
tomorrow.</div><div><br></div><div>I think it's most clear if the Qyoto RPM bears the \
version of Qyoto, and the version of Qyoto is most clear to bear the version of the \
wrapped Qt version so basically I agree with you.<br></div><div><br></div>  <div \
style="font-size:12pt;font-family:times, serif;"> <div \
style="font-size:12pt;font-family:times, serif;"> <div dir="ltr">  <font size="2" \
face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> \
Steven Boswell II &lt;ulatekh@yahoo.com&gt;<br> <b><span \
style="font-weight:bold;">To:</span></b> KDE bindings for other programming languages \
&lt;kde-bindings@kde.org&gt; <br> <b><span style="font-weight:bold;">Sent:</span></b> \
Sunday, May 13, 2012 9:38 PM<br> <b><span \
style="font-weight:bold;">Subject:</span></b> Re: [Kde-bindings] Building latest \
qyoto under Windows and Linux<br> </font> </div> <br> <div \
id="yiv832446539"><div><div style="color:rgb(0, 0, 0);background-color:rgb(255, 255, \
255);font-size:12pt;font-family:times, serif;"><div><span>OK, I'll attempt the .NET \
3.5 backport, hopefully today. &nbsp;(I really need to do some non-Qyoto things this \
weekend...like cook next week's lunch. \
:-)</span></div><div><span><br></span></div><div><span>Will you be able to implement \
QVariant&lt;QColor&gt; and OnDataChanged() relatively soon? &nbsp;Then I can start \
testing my project under the newest \
Qyoto.</span></div><div><span><br></span></div><div>I was working on an RPM spec file \
for the latest qyoto (i.e. so that it can be installed with Linux's package manager), \
and noticed that all the assembly versions are set to 2.0.0. &nbsp;Should we upgrade \
them to match the version number of the Qt library that we're compiling them against \
(in my case, 4.8.3)? &nbsp;Or are they supposed to match the version of .NET that  \
they run with? &nbsp;I'm not really  sure what the
 standard is, but it seems like they should be upgraded past \
2.0.0.</div><div><br></div><div>Steven Boswell</div><div><br></div>  <div \
style="font-size:12pt;font-family:times, serif;"> <div \
style="font-size:12pt;font-family:times, serif;"> <div dir="ltr"> <font size="2" \
face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> \
Dimitar Dobrev &lt;dpldobrev@yahoo.com&gt;<br> <b><span \
style="font-weight:bold;">To:</span></b> Steven Boswell II &lt;ulatekh@yahoo.com&gt;; \
KDE bindings for other programming languages &lt;kde-bindings@kde.org&gt; <br> \
<b><span style="font-weight:bold;">Sent:</span></b> Sunday, May 13, 2012 11:28 AM<br> \
<b><span style="font-weight:bold;">Subject:</span></b> Re: [Kde-bindings] Building \
latest qyoto under Windows and Linux<br> </font> </div> <br> <div \
id="yiv832446539"><div><div style="color:rgb(0, 0, 0);background-color:rgb(255, 255, \
255);font-size:12pt;font-family:times, serif;"><div><span>Well, in short, right now \
nobody cares about Kimono. \
:)</span></div><div><br><span></span></div><div><span>About .NET 3.5, the following \
needs to be done:</span></div><div><span>1. Define all Qyoto.Action overloads (for \
example, in assemblies/qyoto-qtcore/Qyoto.cs);</span></div><div><span>2. Change \
src/plugins/qyoto/QyotoHooks.cs, method PostMembersHook; you'll see where I use \
System.Action; as you won't have a reference to Qyoto.Action you'd need to change the \
Windows case to use only strings for generation, not very hard a \
task.</span></div><div><br><span></span></div><div><span>And you're \
done.</span></div><div><br><span></span></div><div><span>About \
</span><span>Emit.DataChanged: I think now that even though that calling the signal \
didn't help you it'd be nice to  have an event raising method (OnDataChanged, as you
 said), it's both good practice and, I'd say, a .NET/Mono library "standard". I'll \
think about adding such but after the migration (if any) to Qyoto.Action because it'd \
have to be tested twice otherwise.<br></span></div><div><br></div>  <div \
style="font-size:12pt;font-family:times, serif;"> <div \
style="font-size:12pt;font-family:times, serif;"> <div dir="ltr"> <font size="2" \
face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> \
Steven Boswell II &lt;ulatekh@yahoo.com&gt;<br> <b><span \
style="font-weight:bold;">To:</span></b> KDE bindings for other programming languages \
&lt;kde-bindings@kde.org&gt; <br> <b><span style="font-weight:bold;">Sent:</span></b> \
Sunday, May 13, 2012 9:03 PM<br> <b><span \
style="font-weight:bold;">Subject:</span></b> Re: [Kde-bindings] Building latest \
qyoto under Windows and Linux<br> </font> </div> <br> <div \
id="yiv832446539"><div><div style="color:rgb(0, 0, 0);background-color:rgb(255, 255, \
255);font-size:12pt;font-family:times, serif;"><div><span>I was converting the patch \
format while you were sending the second e-mail, so it was just timing. :-) \
&nbsp;There's no problem at all submitting future patches in the git format -- I will \
do that.</span></div><div><span><br></span></div><div><span>Emit.DataChanged is an \
event now, so I can't call it as a function. &nbsp;I also didn't see an \
OnDataChanged() method. &nbsp;I'm sure there's some way to post an event to an object \
directly in C#, I just don't know what it is. &nbsp;I can look it up. &nbsp;But like \
I said, for the short term, the problem is moot -- it never did what I wanted anyway. \
&nbsp;Some day I'll have to get better with Qt and figure out how to use tree-views \
better.</span></div><div><span><br></span></div><div><span>Re: the Kimono port, I \
just didn't  know if it contained the "latest"
 Kimono the way
 the assemblygen project contains the "latest" Qyoto. &nbsp;I don't use Kimono \
personally. &nbsp;I was just wondering if anyone cared if assemblygen's Kimono wasn't \
building.</span></div><div><span><br></span></div><div><span>Re: .NET 3.5, if I can \
figure out how to make the change I'm talking about, I will. &nbsp;Where I work, \
they're still using .NET 3.5 under Windows Vista, which is my entire motivation for \
caring about .NET 3.5. &nbsp;They're talking about finally upgrading to Windows 7, \
but it hasn't happened yet. &nbsp;Presumably we'll upgrade to .NET 4 at the same \
time. &nbsp;(And before you say anything...yes, my workplace is a time warp. \
&nbsp;It's just one of my crosses to bear. \
:-)</span></div><div><span><br></span></div><div><span>Steven \
Boswell</span></div><div><br></div>  <div style="font-size:12pt;font-family:times, \
serif;"> <div style="font-size:12pt;font-family:times, serif;"> <div dir="ltr"> <font \
size="2" face="Arial"> <hr size="1">   <b><span \
style="font-weight:bold;">From:</span></b> Dimitar Dobrev \
&lt;dpldobrev@yahoo.com&gt;<br> <b><span style="font-weight:bold;">To:</span></b> \
Steven Boswell II &lt;ulatekh@yahoo.com&gt;; KDE bindings for other programming \
languages &lt;kde-bindings@kde.org&gt; <br> <b><span \
style="font-weight:bold;">Sent:</span></b> Sunday, May 13, 2012 10:53 AM<br> <b><span \
style="font-weight:bold;">Subject:</span></b> Re: [Kde-bindings] Building latest \
qyoto under Windows and Linux<br> </font> </div> <br> <div \
id="yiv832446539"><div><div style="color:rgb(0, 0, 0);background-color:rgb(255, 255, \
255);font-size:12pt;font-family:times, serif;"><div><span>I've already been able to \
successfully apply all your patches (</span><span>you may've missed my second \
e-mail</span><span>) but the new format you've sent me \
(</span>assemblygen-patches-git.zip, no need for the other one<span>) allows me to \
use Tortoise Git! So it'd be great if you could send all of your future patches in \
this one.</span></div><div><span><br></span></div><div>Thanks for your kind words \
about my changes. :)</div><div><br><span></span></div><div>I haven't deleted any \
constructors from QVariant, I don't know how that happened. Will check it right now. \
About Emit.DataChanged, what is the difference now - is it not accessible (private), \
is it missing or sth else?<br></div><div><br></div>  <div \
style="font-size:12pt;font-family:times, serif;"> <div style="font-size:12pt; \
font-family:times, serif;">  <div dir="ltr"> <font size="2" face="Arial"> <hr \
size="1">  <b><span style="font-weight:bold;">From:</span></b> Steven Boswell II \
&lt;ulatekh@yahoo.com&gt;<br> <b><span style="font-weight:bold;">To:</span></b> KDE \
bindings for other programming languages &lt;kde-bindings@kde.org&gt; <br> <b><span \
style="font-weight:bold;">Sent:</span></b> Sunday, May 13, 2012 8:40 PM<br> <b><span \
style="font-weight:bold;">Subject:</span></b> Re: [Kde-bindings] Building latest \
qyoto under Windows and Linux<br> </font> </div> <br> <div \
id="yiv832446539"><div><div style="color:rgb(0, 0, 0);background-color:rgb(255, 255, \
255);font-size:12pt;font-family:times, serif;"><div><span>It looks like the output of \
"diff -ur" and "git diff" are slightly different. &nbsp;Either that's the problem, or \
it's an issue of Windows-style line-endings (i.e. CR/LF) versus Linux-style line \
endings (i.e. LF).</span></div><div>Enclosed are two archives with patches generated \
by "git diff". &nbsp;One has Linux line endings, the other has Windows line endings. \
&nbsp;One or both should work for you.</div><div><br></div><div>I was able to run \
uics under Windows, and I made a bunch of little changes to adapt to the new API. \
&nbsp;Very slick! &nbsp;All the set/get methods have been replaced with properties, \
the enum values allow the "bitwise or" operator, and the Qt events are now C# \
events!</div><div><br></div><div>I have two API changes I haven't resolved yet. \
&nbsp;One,  QVariant no longer has a
 constructor that takes
 a QColor. &nbsp;I need this to color my tree-view items. &nbsp;Also, I can no longer \
call "Emit.DataChanged" from within my QAbstractItemModel subclass. &nbsp;I was using \
that to force the update of the display of my tree-view when I modified items. \
&nbsp;But I never got that to work anyway; I ended up having to call Collapse() on \
the parent item and have the user re-open that item in order to force the update. \
&nbsp;So maybe this second one isn't a big deal. &nbsp;But I'll definitely need a \
QVariant constructor that takes a QColor.</div><div><br></div><div>Steven \
Boswell</div><div><br></div>  <div style="font-size:12pt;font-family:times, serif;"> \
<div style="font-size:12pt;font-family:times, serif;"> <div dir="ltr"> <font size="2" \
face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> \
Dimitar Dobrev &lt;dpldobrev@yahoo.com&gt;<br> <b><span \
style="font-weight:bold;">To:</span></b> Steven Boswell II  \
&lt;ulatekh@yahoo.com&gt;;  KDE bindings for other programming languages \
&lt;kde-bindings@kde.org&gt; <br> <b><span style="font-weight:bold;">Sent:</span></b> \
Sunday, May 13, 2012 9:30 AM<br> <b><span \
style="font-weight:bold;">Subject:</span></b> Re: [Kde-bindings] Building latest \
qyoto under Windows and Linux<br> </font> </div> <br> <div \
id="yiv832446539"><div><div style="color:rgb(0, 0, 0);background-color:rgb(255, 255, \
255);font-size:12pt;font-family:times, serif;"><div><span>They all look great but I \
cannot apply them. I use the "Review/apply single patch" menu item of TortoiseGit but \
it cannot recognise the format. Could you advise me what program to \
use?<br></span></div><div><br></div>  <div style="font-size:12pt;font-family:times, \
serif;"> <div style="font-size:12pt;font-family:times, serif;"> <div dir="ltr"> <font \
size="2" face="Arial"> <hr size="1">  <b><span \
style="font-weight:bold;">From:</span></b> Steven Boswell II \
&lt;ulatekh@yahoo.com&gt;<br> <b><span style="font-weight:bold;">To:</span></b> KDE \
bindings for other programming languages &lt;kde-bindings@kde.org&gt; <br> <b><span \
style="font-weight:bold;">Sent:</span></b> Sunday, May 13, 2012 6:31 PM<br> <b><span \
style="font-weight:bold;">Subject:</span></b> Re:  [Kde-bindings] Building latest \
qyoto under Windows and Linux<br> </font> </div> <br> <div \
id="yiv832446539"><div><div style="color:rgb(0, 0, 0);background-color:rgb(255, 255, \
255);font-size:12pt;font-family:times, serif;"><div \
style="font-size:12pt;font-family:times, serif;"><span>OK, I separated out all my \
patches. &nbsp;Enclosed is an archive with all of them. &nbsp;They are meant to be \
applied in order, but if they're not, or one is skipped, they should work, but patch \
will report "fuzz", i.e. that the target line numbers had to be \
adjusted.</span></div><div style="font-size:12pt;font-family:times, \
serif;"><br></div><div><div>Patch 1 allows MONO_EXECUTABLE to be undefined, i.e. so \
that the Windows version can be built with Microsoft's C# \
compiler.<br></div><div>Patch 2 modifies output-destinations, so that executables, \
libraries, and assemblies go to the proper location, and it modifies Windows \
libraries/DLLs so that they don't have a "lib" prefix.</div><div>Patch 3 is the  \
patch that detects a missing QtDBus (i.e. under Windows) but allows building \
anyway.</div><div>Patch 4 fixes qyoto-phonon to use&nbsp;<span \
style="font-size:16px;">DEF_LIST_MARSHALLER instead of&nbsp;</span><span \
style="font-size:16px;">DEF_VALUELIST_MARSHALLER. &nbsp;I hope I did it \
right.</span></div><div><span style="font-size:16px;">Patch 5 makes the build look \
for the .NET 4 compiler under both Windows and Linux.</span></div><div><span \
style="font-size:16px;">Patch 6 adds "SMOKE_INCLUDE_DIR" to a few places where it's \
needed.</span></div><div><span style="font-size:16px;">Patch 7 builds a native \
assemblygen under Windows, so that it can load native DLLs.</span></div><div><span \
style="font-size:16px;">Patch 8 is the hack that adds a reference for the Error class \
under QX11EmbedContainer and QX11EmbedWidget.</span></div><div><span \
style="font-size:16px;"><br></span></div><div><span style="font-size:16px;">I noticed \
that Kimono isn't  building under Linux. &nbsp;Is the Kimono project in the \
assemblygen git-project being used or maintained? &nbsp;I started to modify the \
CMakeLists.txt files to build it, but it looks like it needs more work than \
that.</span></div><div><span style="font-size:16px;"><br></span></div><div><span \
style="font-size:16px;">One last thing...are there any other dependencies on .NET 4, \
or is it just the System.Action&lt;&gt; prototypes with more than 4 parameters? \
&nbsp;If so, can we just add our own "Qyoto.Action&lt;&gt;" prototypes with the \
required number of parameters, and use those instead? &nbsp;Would that cause any \
headaches that I can't think of? &nbsp;(In which case, patch 5 can be \
ignored.)</span></div><div><span style="font-size:16px;"><br></span></div><div><span \
style="font-size:16px;">Steven Boswell</span></div><div><span \
style="font-size:16px;"><br></span></div></div>  <div \
style="font-size:12pt;font-family:times, serif;"> <div style=" \
font-size:12pt;font-family:times, serif;"> <div dir="ltr"> <font size="2" \
face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> \
Dimitar Dobrev &lt;dpldobrev@yahoo.com&gt;<br> <b><span \
style="font-weight:bold;">To:</span></b> Steven Boswell II &lt;ulatekh@yahoo.com&gt;; \
KDE bindings for other programming languages &lt;kde-bindings@kde.org&gt; <br> \
<b><span style="font-weight:bold;">Sent:</span></b> Sunday, May 13, 2012 5:54 AM<br> \
<b><span style="font-weight:bold;">Subject:</span></b> Re: [Kde-bindings] Building \
latest qyoto under Windows and Linux<br> </font> </div> <br> <div \
id="yiv832446539"><div><div style="color:rgb(0, 0, 0);background-color:rgb(255, 255, \
255);font-size:12pt;font-family:times, serif;"><div>It seems to me you haven't \
subscribed to the mailing list because I've been doing quite a bit of shouting here. \
:) Please consider joining, this way you'll always be up to date with all \
developments.<br></div><div><br></div><div>Most of the errors you report are my \
fault, sorry about that:<br><span></span></div><div><span><br></span></div><div><span>1. \
</span><span>QX11EmbedContainer and </span>QX11EmbedWidget - I removed them because \
the nested type Error was not generated; I didn't check that as I was after another \
bug then so seeing they are not that often used I just removed them; obviously I \
forgot to remove the events that use them; I compiled everything then but apparently \
these events are new to Qt 4.8.0 as my Linux had 4.7.4;<br></div><div><span>2. dmcs - \
I really  don't know what happened here; I clearly remember
 searching for "gmcs" in the whole dir and replacing it; it seems that I didn't \
commit these changes;<br></span></div><div><span>3. </span>DEF_VALUELIST_MARSHALLER - \
I replaced this everywhere with DEF_LIST_MARSHALLER because of two of the bugs \
(QPrinterInfo and QModelIndex) I've written about in my recent post called "Qyoto: \
help needed"; but I have clearly forgotten about Phonon as I don't compile it on my \
Windows because of some missing dependencies;<br></div><div><span>4. uics - Arno \
advised me months ago to move uics to assemblygen but I haven't done it yet; I will \
complete that today.</span></div><div><br><span></span></div><div><span>You can send \
me your patches and I'll push them but please try to separate them per feature: that \
is, one for dmcs, one for DBus, one for </span><span>MONO_EXECUTABLE, \
etc.<br></span></div><div><br></div>  <div style="font-size:12pt;font-family:times, \
serif;"> <div style="font-size:12pt;font-family:times, serif;">  <div dir="ltr"> \
<font size="2" face="Arial"> <hr size="1">  <b><span \
style="font-weight:bold;">From:</span></b> Steven Boswell II \
&lt;ulatekh@yahoo.com&gt;<br> <b><span style="font-weight:bold;">To:</span></b> KDE \
bindings for other programming languages &lt;kde-bindings@kde.org&gt; <br> <b><span \
style="font-weight:bold;">Sent:</span></b> Sunday, May 13, 2012 4:12 AM<br> <b><span \
style="font-weight:bold;">Subject:</span></b> Re: [Kde-bindings] Building latest \
qyoto under Windows and Linux<br> </font> </div> <br> <div \
id="yiv832446539"><div><div style="color:rgb(0, 0, 0);background-color:rgb(255, 255, \
255);font-size:12pt;font-family:times, serif;"><div \
style="font-size:12pt;font-family:times, serif;"><span>OK, I added two lines \
to&nbsp;src/plugins/qyoto/QyotoTranslator.cs:</span></div><div \
style="font-size:12pt;font-family:times, \
serif;"><span><br></span></div><div><span><span class="yiv832446539Apple-tab-span" \
style="white-space:pre;">	</span>{ "QX11EmbedContainer::Error", delegate { throw new \
NotSupportedException(); } },<br></span></div><div><span \
class="yiv832446539Apple-tab-span" style="white-space:pre;">	</span>{ \
"QX11EmbedWidget::Error", delegate { throw new NotSupportedException(); } \
},<br></div><div><br></div><div>I don't know if that was a great idea, but at least \
it kept compiling.</div><div><br></div><div>The next compile error (under Linux) was \
in  qyoto-phonon:</div><div><br></div><div>assemblygen/assemblies/qyoto-phonon/native/phononhandlers.cpp:29:25: \
error: expected constructor, destructor, or type conversion before ‘(' \
token<br></div><div><br></div><div>The issue seems to be \
that&nbsp;DEF_VALUELIST_MARSHALLER isn't defined anywhere. \
&nbsp;assemblies/qyoto-qtcore/native/marshall_macros.h has a definition \
for&nbsp;DEF_LIST_MARSHALLER, so maybe that file is out of \
date.</div><div><br></div><div>As always, help is \
appreciated.</div><div><br></div><div>Steven Boswell</div><div><br></div>  <div \
style="font-size:12pt;font-family:times, serif;"> <div \
style="font-size:12pt;font-family:times, serif;"> <div dir="ltr"> <font size="2" \
face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> \
Steven Boswell II &lt;ulatekh@yahoo.com&gt;<br> <b><span \
style="font-weight:bold;">To:</span></b> KDE bindings for  other programming \
languages &lt;kde-bindings@kde.org&gt; <br> <b><span \
style="font-weight:bold;">Sent:</span></b> Saturday, May 12, 2012 5:33 PM<br> \
<b><span style="font-weight:bold;">Subject:</span></b> Re: [Kde-bindings] Building \
latest qyoto under Windows and Linux<br> </font> </div> <br> <div \
id="yiv832446539"><div><div style="color:rgb(0, 0, 0);background-color:rgb(255, 255, \
255);font-size:12pt;font-family:times, serif;"><div \
style="font-size:12pt;font-family:times, serif;"><span>I've been here the whole \
time...you could have just shouted!</span></div><div \
style="font-size:12pt;font-family:times, serif;"><span><br></span></div><div \
style="font-size:12pt;font-family:times, serif;"><span>I'm still overloaded at work, \
but decided to take some time today to work on this anyway. &nbsp;I'm tired of being \
too tired to work on projects that I want to work on! :-)</span></div><div \
style="font-size:12pt;font-family:times, serif;"><span><br></span></div><div \
style="font-size:12pt;font-family:times, serif;"><span>If Qyoto has to depend on .NET \
4, that's not a big deal -- if it needs to  use System.Action&lt;&gt; instances with \
more than 4 parameters, there's not much of a choice. &nbsp;The problem was \
that&nbsp;cmake/modules/CMakeDetermineCSharpCompiler.cmake was still looking for the \
v3.5 compiler. &nbsp;So I updated it to look for the&nbsp;v4.0.30319 compiler. \
&nbsp;I also updated to look for dmcs (i.e. the .NET 4 version of Mono) instead of \
gmcs. &nbsp;How is it that assemblygen ever compiled without these \
changes?</span></div><div style="font-size:12pt;font-family:times, \
serif;"><span><br></span></div><div style="font-size:12pt;font-family:times, \
serif;"><span>The next barrier was that the most of the changes I submitted a long \
time ago had never been applied. I had modified assemblies/qyoto-*/CMakeLists.txt to \
make them work if &nbsp;MONO_EXECUTABLE was undefined, and various places to \
allow&nbsp;QT_QTDBUS_LIBRARY to be undefined. &nbsp;I put those  \
back.</span></div><div style="font-size:12pt;font-family:times, \
serif;"><span><br></span></div><div style="font-size:12pt;font-family:times, \
serif;">Now assemblygen builds and links under Windows, but I haven't tried to run it \
&nbsp;yet.</div><div style="font-size:12pt;font-family:times, serif;"><br></div><div \
style="font-size:12pt;font-family:times, serif;">Under Linux, I get as far as \
building qyoto-qtgui, then I get a bunch of errors like "error CS0426: The nested \
type `Error' does not exist in the type `Qyoto.QX11EmbedContainer'". &nbsp;One \
example of a line that causes this problem is:</div><div \
style="font-size:12pt;font-family:times, serif;"><br></div><div><div>&nbsp; &nbsp; \
&nbsp; &nbsp; [Q_SIGNAL("error(QX11EmbedContainer::Error)")]</div><div>&nbsp; &nbsp; \
&nbsp; &nbsp;  event System.Action&lt;QX11EmbedContainer.Error&gt; Error;</div><div \
style="font-size:12pt;font-family:times, serif;"><br></div><div \
style="font-size:12pt;font-family:times, serif;">If you know how to get past this, \
I'd be grateful. &nbsp;The only reference I see to QX11EmbedContainer is \
in&nbsp;src/plugins/qyoto/QyotoTranslator.cs, where it throws a \
NotSupportedException, so I have no idea where to go with this.</div><div \
style="font-size:12pt;font-family:times, serif;"><br></div><div \
style="font-size:12pt;font-family:times, serif;">Also, I have some vague memory that \
uics was branched into assemblygen? &nbsp;If not, what do I use?</div><div \
style="font-size:12pt;font-family:times, serif;"><br></div><div \
style="font-size:12pt;font-family:times, serif;">Thanks in advance for any help with \
these issues!</div><div style="font-size:12pt;font-family:times, \
serif;"><br></div><div style="font-size:12pt;font-family:times, serif;">Steven \
Boswell</div></div><div  style="font-size:12pt;font-family:times, serif;"><br></div>  \
<div style="font-size:12pt;font-family:times, serif;"> <div \
style="font-size:12pt;font-family:times, serif;"> <div dir="ltr"> <font size="2" \
face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> \
Dimitar Dobrev &lt;dpldobrev@yahoo.com&gt;<br> <b><span \
style="font-weight:bold;">To:</span></b> Steven Boswell II &lt;ulatekh@yahoo.com&gt;; \
KDE bindings for other programming languages &lt;kde-bindings@kde.org&gt; <br> \
<b><span style="font-weight:bold;">Sent:</span></b> Saturday, May 12, 2012  12:13 \
PM<br> <b><span style="font-weight:bold;">Subject:</span></b> Re: [Kde-bindings] \
Building latest qyoto under Windows and Linux<br> </font> </div> <br> <div \
id="yiv832446539"><div><div style="color:rgb(0, 0, 0);background-color:rgb(255, 255, \
255);font-size:12pt;font-family:times, serif;"><div><span>I'm glad you're back, \
Steven!</span></div><div><br><span></span></div><div><span>Both problems are one and \
the same: Qyoto now depends on .NET/Mono 4. <br></span></div><div><span>The reason is \
that I needed the overloads for </span><font face="'times new roman', 'new york', \
times, serif">System.Action as I use them to generate events corresponding to \
signals. </font><font face="'times new roman', 'new york', times, serif">The other \
thing I need to find the files with parameter names.</font></div><div><font \
face="'times new roman', 'new york', times, serif">If the dependency on .NET 4 is \
unacceptable for you please say so and we might be able to think of some \
workaround.<br></font></div><div><br></div>  <div \
style="font-size:12pt;font-family:times, serif;"> <div \
style="font-size:12pt;font-family:times,  serif;"> <div dir="ltr"> <font size="2" \
face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> \
Steven Boswell II &lt;ulatekh@yahoo.com&gt;<br> <b><span \
style="font-weight:bold;">To:</span></b> KDE bindings &lt;kde-bindings@kde.org&gt; \
<br> <b><span style="font-weight:bold;">Sent:</span></b> Saturday, May 12, 2012 9:50 \
PM<br> <b><span style="font-weight:bold;">Subject:</span></b> [Kde-bindings] Building \
latest qyoto under Windows and Linux<br> </font> </div> <br> <div \
id="yiv832446539"><div><div style="color:rgb(0, 0, 0);background-color:rgb(255, 255, \
255);font-size:12pt;font-family:times, serif;"><div \
style="font-size:12pt;font-family:times, serif;">Today I decided to try to build \
latest smokegen/smokeqt/assemblygen under Windows and Linux.</div><div \
style="font-size:12pt;font-family:times, serif;">smokegen, \
i.e.&nbsp;git://anongit.kde.org/smokegen, and smokeqt, \
i.e.&nbsp;git://anongit.kde.org/smokeqt, built and linked under both Windows 7 and \
Fedora Core 16 just fine.</div><div style="font-size:12pt;font-family:times, \
serif;"><br></div><div style="font-size:12pt;font-family:times, serif;">But when \
building assemblygen, i.e.git://gitorious.org/assemblygen/assemblygen.git, \
"assemblies" branch, I get the same build error immediately, under both \
OSes:</div><div style="font-size:12pt;font-family:times, serif;"><br></div><div><font \
face="'times new roman',  'new york', times, serif"><a rel="nofollow" target="_blank" \
href="http://GeneratorData.cs">GeneratorData.cs</a>(220,98): error CS0117: \
`System.Environment.SpecialFolder' does not contain a definition for \
`Windows'</font><br></div><div><font face="'times new roman', 'new york', times, \
serif"><br></font></div><div><font face="'times new roman', 'new york', times, \
serif">Getting that error under Linux didn't surprise me, but getting it under \
Windows did.</font></div><div><font face="'times new roman', 'new york', times, \
serif"><br></font></div><div><font face="'times new roman', 'new york', times, \
serif">Diking that line out and continuing to build, I get to \
building&nbsp;qyoto-qtcore.dll. &nbsp;I get 260 "Won't wrap method" warnings and 65 \
"Conflicting names" messages, then I get a bunch of errors that say "error CS0305: \
Using the generic type `System.Action&lt;T1,T2,T3,T4&gt;' requires `4' type \
argument(s)". &nbsp;One  example of a line that generates such an error \
is:</font></div><div><font face="'times new roman', 'new york', times, \
serif"><br></font></div><div><font face="'times new roman', 'new york', times, \
serif"><div>&nbsp; &nbsp; &nbsp; &nbsp; \
[Q_SIGNAL("rowsAboutToBeMoved(QModelIndex,int,int,QModelIndex,int)")]</div><div>&nbsp; \
&nbsp; &nbsp; &nbsp; event \
System.Action&lt;QModelIndex,System.Int32,System.Int32,QModelIndex,System.Int32&gt; \
RowsAboutToBeMoved;</div><div><br></div><div>I'm guessing there's a \
'System.Action&lt;T1,T2,T3,T4&gt;' now, but my version of Qt (4.8.1-5) doesn't have \
that.</div><div><br></div><div>So...does anyone know what to do about these? \
&nbsp;The first error appears to be real; the second one appears to want a different \
version of Qt. &nbsp;What version of Qt should I be \
using?</div><div><br></div><div>Steven \
Boswell</div><div><br></div></font></div></div></div></div><br>_______________________________________________<br>Kde-bindings
  mailing list<br><a rel="nofollow" ymailto="mailto:Kde-bindings@kde.org" \
target="_blank" href="mailto:Kde-bindings@kde.org">Kde-bindings@kde.org</a><br><a \
rel="nofollow" target="_blank" \
href="https://mail.kde.org/mailman/listinfo/kde-bindings">https://mail.kde.org/mailman/listinfo/kde-bindings</a><br><br><br> \
</div> </div>  </div></div></div><br><br> </div> </div>  \
</div></div></div><br>_______________________________________________<br>Kde-bindings \
mailing list<br><a rel="nofollow" ymailto="mailto:Kde-bindings@kde.org" \
target="_blank" href="mailto:Kde-bindings@kde.org">Kde-bindings@kde.org</a><br><a \
rel="nofollow" target="_blank" \
href="https://mail.kde.org/mailman/listinfo/kde-bindings">https://mail.kde.org/mailman/listinfo/kde-bindings</a><br><br><br> \
</div> </div>  </div></div></div><br>_______________________________________________<br>Kde-bindings \
mailing list<br><a rel="nofollow" ymailto="mailto:Kde-bindings@kde.org" \
target="_blank"  href="mailto:Kde-bindings@kde.org">Kde-bindings@kde.org</a><br><a \
rel="nofollow" target="_blank" \
href="https://mail.kde.org/mailman/listinfo/kde-bindings">https://mail.kde.org/mailman/listinfo/kde-bindings</a><br><br><br> \
</div> </div>  </div></div></div><br><br> </div> </div>  \
</div></div></div><br>_______________________________________________<br>Kde-bindings \
mailing list<br><a rel="nofollow" ymailto="mailto:Kde-bindings@kde.org" \
target="_blank" href="mailto:Kde-bindings@kde.org">Kde-bindings@kde.org</a><br><a \
rel="nofollow" target="_blank" \
href="https://mail.kde.org/mailman/listinfo/kde-bindings">https://mail.kde.org/mailman/listinfo/kde-bindings</a><br><br><br> \
</div> </div>  </div></div></div><br><br> </div> </div>  \
</div></div></div><br>_______________________________________________<br>Kde-bindings \
mailing list<br><a rel="nofollow" ymailto="mailto:Kde-bindings@kde.org" \
target="_blank"  href="mailto:Kde-bindings@kde.org">Kde-bindings@kde.org</a><br><a \
rel="nofollow" target="_blank" \
href="https://mail.kde.org/mailman/listinfo/kde-bindings">https://mail.kde.org/mailman/listinfo/kde-bindings</a><br><br><br> \
</div> </div>  </div></div></div><br><br> </div> </div>  \
</div></div></div><br>_______________________________________________<br>Kde-bindings \
mailing list<br><a rel="nofollow" ymailto="mailto:Kde-bindings@kde.org" \
target="_blank" href="mailto:Kde-bindings@kde.org">Kde-bindings@kde.org</a><br><a \
rel="nofollow" target="_blank" \
href="https://mail.kde.org/mailman/listinfo/kde-bindings">https://mail.kde.org/mailman/listinfo/kde-bindings</a><br><br><br> \
</div> </div>  </div></div></div><br><br> </div> </div>  \
</div></div></div><br>_______________________________________________<br>Kde-bindings \
mailing list<br><a rel="nofollow" ymailto="mailto:Kde-bindings@kde.org" \
target="_blank"  href="mailto:Kde-bindings@kde.org">Kde-bindings@kde.org</a><br><a \
rel="nofollow" target="_blank" \
href="https://mail.kde.org/mailman/listinfo/kde-bindings">https://mail.kde.org/mailman/listinfo/kde-bindings</a><br><br><br> \
</div> </div>  </div></div></div><br><br> </div> </div>  \
</div></div></div><br>_______________________________________________<br>Kde-bindings \
mailing list<br><a rel="nofollow" ymailto="mailto:Kde-bindings@kde.org" \
 href="https://mail.kde.org/mailman/listinfo/kde-bindings">https://mail.kde.org/mailman/listinfo/kde-bindings</a><br><br><br> \
</div> </div>  </div></div></div><br><br> </div> </div>  \
</div></div></div><br>_______________________________________________<br>Kde-bindings \
mailing list<br><a ymailto="mailto:Kde-bindings@kde.org" \
href="mailto:Kde-bindings@kde.org">Kde-bindings@kde.org</a><br><a \
href="https://mail.kde.org/mailman/listinfo/kde-bindings" \
target="_blank">https://mail.kde.org/mailman/listinfo/kde-bindings</a><br><br><br> \
</div> </div>  </div></body></html>



_______________________________________________
Kde-bindings mailing list
Kde-bindings@kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic