<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5297446039023451007</id><updated>2011-07-08T02:15:27.965-07:00</updated><title type='text'>Hebrew and BiDi in KDE</title><subtitle type='html'>Random rants from a KDE user which also works on making KDE more Hebrew friendly.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://elcuco2.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://elcuco2.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>elcuco</name><uri>http://www.blogger.com/profile/17916165274407004440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5297446039023451007.post-3868762834007785278</id><published>2011-04-16T02:58:00.000-07:00</published><updated>2011-04-16T13:49:49.036-07:00</updated><title type='text'>clang+Qt+QtCreator binary package - compiled with clang alpha1</title><content type='html'>To continue what I did &lt;a href="http://elcuco2.blogspot.com/2011/04/qt-clang-it-compiles.html"&gt;last week&lt;/a&gt; today I uploaded to &lt;a href="http://code.google.com/p/qtedit4/downloads/detail?name=qtsdk-clang-amd64-alpha1.tar.xz"&gt;GoogleCode&lt;/a&gt; (I have a working project there, but not abusing it...?) a snapshot build of clang (&lt;a href="http://clang.llvm.org/get_started.html"&gt;trunk&lt;/a&gt;) Qt (&lt;a href="http://qt.gitorious.org/qt/qt/commits/master"&gt;master&lt;/a&gt;) and QtCreator (&lt;a href="http://qt.gitorious.org/qt-creator"&gt;master&lt;/a&gt;). The code was pulled around 2AM (GMT+3), a really random time stamp.&lt;br /&gt;&lt;br /&gt;The script I used (which is included in the tarball) first compiles clang using the native compiler, then it compiles clang again using the first generation compiler (2 stage bootstrap), then it compile Qt with the 2nd stage compiler and finally QtCreator with Qt/clang. All compilations are done out of source, and clang/llvm is compiled using "cmake" and not "configure". Someone asked last week what changes are needed to compile this beast, the answer is none, it all compiles out of the box.&lt;br /&gt;&lt;br /&gt;A few notes:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;I added a script which sets up the environment variables for this beast to work (LD_LIBRARY_PATH, PATH). You get a shell working, from which you can call the new "qmake" and "clang" commands, as well as running the QtCreator.&lt;/li&gt;&lt;li&gt;The build is 64bit linux only, it was built on Ubuntu 10.10, but I think it should run on every modern linux distro. I will try to build 32bit builds in the future.&lt;/li&gt;&lt;li&gt;The code east &amp;nbsp;kittens, tested very briefly for 20 seconds.Not recommended at all.&lt;/li&gt;&lt;li&gt;The code has been pulled from the corresponding SCM at random times, so it's possible that clang is borked, Qt is borked or CtCreator is borked.&amp;nbsp;&lt;strong&gt;Be warned - it is not supposed to work :)&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;QtCreator picks the correct qmake (the clang bootstrapped) by default. However, even if it picks the correct mkspec, it will not really work as you expect, as QtCreator does not know (yet?) how to parse the output of clang. It should compile your applications though.&lt;/li&gt;&lt;li&gt;The tarball contains the build script, and also the full build log - ~26mb long. If you are interested in re-produce this, look at the script and the output. Contact me for more details, I am available sometimes in IRC (#qt, -&amp;gt; cuco) or email (elcuco -&amp;gt; kde, diegoiast -&amp;gt; gmail)&lt;/li&gt;&lt;/ol&gt;Again, I cannot stress this enough - this build is very experimental, and not recommended. But still, if you are interested - here is the download link: &lt;a href="http://code.google.com/p/qtedit4/downloads/detail?name=qtsdk-clang-amd64-alpha1.tar.xz"&gt;http://code.google.com/p/qtedit4/downloads/detail?name=qtsdk-clang-amd64-alpha1.tar.xz&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5297446039023451007-3868762834007785278?l=elcuco2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elcuco2.blogspot.com/feeds/3868762834007785278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5297446039023451007&amp;postID=3868762834007785278' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/3868762834007785278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/3868762834007785278'/><link rel='alternate' type='text/html' href='http://elcuco2.blogspot.com/2011/04/clangqtqtcreator-binary-package.html' title='clang+Qt+QtCreator binary package - compiled with clang alpha1'/><author><name>elcuco</name><uri>http://www.blogger.com/profile/17916165274407004440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5297446039023451007.post-6948839575738899771</id><published>2011-04-10T10:06:00.000-07:00</published><updated>2011-04-10T10:06:53.208-07:00</updated><title type='text'>Qt + clang = it compiles!</title><content type='html'>After more than a year I have been compiling Qt with &lt;a href="http://clang.llvm.org/"&gt;clang&lt;/a&gt;, now I can&amp;nbsp;honestly&amp;nbsp;say it compiles and runs. Not only I can bootstrap clang properly, and it compiles the core Qt4, but it also compiles the WebKit module (and runs flash!), I also saw on the console messages about JDK&amp;nbsp;being&amp;nbsp;loaded, so the browser demo seems very functional to me:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-wV0brY8pO98/TaHjMX_VqTI/AAAAAAAAAj4/BsHq0Lct9aU/s1600/qt-browserdemo-clang.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="284" src="http://1.bp.blogspot.com/-wV0brY8pO98/TaHjMX_VqTI/AAAAAAAAAj4/BsHq0Lct9aU/s320/qt-browserdemo-clang.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;br /&gt;I have also tested the browser using the &lt;a href="http://www.webkit.org/perf/sunspider/sunspider.html"&gt;SubSpider&lt;/a&gt; test, and I see that the browser is not that slow (QtSDK/64bit from Nokia runs at&amp;nbsp;360.0ms +/- 2.5%, and the compiled one in&amp;nbsp;415.4ms +/- 3.6%, Chromium runs at 249.2ms +/- 11.0%).&lt;br /&gt;&lt;br /&gt;As a special bonus, I decided to build Qt-Creator. It compiles and works quite good. I assume you can even use the new toolchain to compile applications, even tough that the error messages will not be recognized by the IDE.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-XptqfZo4p9A/TaHiUXSWJnI/AAAAAAAAAjw/cER13X1po18/s1600/qt-creator-clang.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-XptqfZo4p9A/TaHiUXSWJnI/AAAAAAAAAjw/cER13X1po18/s320/qt-creator-clang.png" width="294" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;I will try to clean up my build scripts so I can publish it online. I am also thinking of releasing the results as a "qt-clang-sdk" or something. Is anyone interested in such thing?&lt;br /&gt;&lt;span id="goog_496754630"&gt;&lt;/span&gt;&lt;span id="goog_496754631"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5297446039023451007-6948839575738899771?l=elcuco2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elcuco2.blogspot.com/feeds/6948839575738899771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5297446039023451007&amp;postID=6948839575738899771' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/6948839575738899771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/6948839575738899771'/><link rel='alternate' type='text/html' href='http://elcuco2.blogspot.com/2011/04/qt-clang-it-compiles.html' title='Qt + clang = it compiles!'/><author><name>elcuco</name><uri>http://www.blogger.com/profile/17916165274407004440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-wV0brY8pO98/TaHjMX_VqTI/AAAAAAAAAj4/BsHq0Lct9aU/s72-c/qt-browserdemo-clang.png' height='72' width='72'/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5297446039023451007.post-8128162948040855025</id><published>2010-10-02T07:37:00.000-07:00</published><updated>2010-10-02T07:37:01.985-07:00</updated><title type='text'>Building QtCreator</title><content type='html'>Whats so cool and new about it...? I build it using clang. Linking to a Qt compilation made with &lt;a href="http://clang.llvm.org/"&gt;clang&lt;/a&gt;. Now that's a big step!&lt;br /&gt;&lt;br /&gt;Some details: I compiled yesterday clang, and bootstapped into stage 3 (first compiled clang using gcc = stage 1, then compiled clang using clang from stage 2, and then compiled stage 3 using clang from stage 2, as a stress test to clang).&lt;br /&gt;&lt;br /&gt;Then I compiled git cloned qt (&lt;a href="http://gitorious.org/~elcuco/qt/llvm-support"&gt;http://gitorious.org/~elcuco/qt/llvm-support&lt;/a&gt; use &lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;clang-support-linux&lt;/span&gt; as your branch). &amp;nbsp;I used this configure line for qt:&amp;nbsp;&lt;span class="Apple-style-span" style="color: dimgrey; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 12px; line-height: 18px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;./configure -fast -no-pch -no-webkit -no-mmx -opensource -confirm-license -continue -prefix -platform linux-clang&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Some notes: mxx is disabled, since the the clang runtime does not yet support some MMX functions needed. Also webkit does not compile yet, but some work has been done upstream (in WebKit, not integrated into Qt yet) to compile using clang. I think the PCH support can be re-enabled, I will test in the next weeks.&lt;br /&gt;&lt;br /&gt;Note also the "platform", this is an mkspec available from my repository. I also hacked configure.exe's source to have clang support. I still need to rebuild configure.exe using cl.exe and adding this to the repository. This is on my TODO list (also make this whole test under windows as well).&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;The next step was cloning QtCreator, and then&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;mkdir build-qmake-clang&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;cd&amp;nbsp;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;build-qmake-clang&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;~/src/build-qt-clang/bin/qmake ..&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;make -j 10&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;I used 10 threads to compile, since clang compilations are really slow, and I did not see the 4 cores of my machine working too hard. (when building Qt I used -j4). I will test the next few days how stable, or non-stable is this QtCreator build, but it seems promissing. More stats in the next weeks as I gather more information.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_Ce4CH15UN4g/TKdCMjvalFI/AAAAAAAAAiQ/TEjiVTzHsOI/s1600/qtcreator-clang.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="226" src="http://1.bp.blogspot.com/_Ce4CH15UN4g/TKdCMjvalFI/AAAAAAAAAiQ/TEjiVTzHsOI/s320/qtcreator-clang.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Mandatory screenshot - nothing special here, right?&amp;nbsp;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;PS: as a special bonus - this is a 64bit compilation: clang, Qt and QtCreator. How cool is that?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5297446039023451007-8128162948040855025?l=elcuco2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elcuco2.blogspot.com/feeds/8128162948040855025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5297446039023451007&amp;postID=8128162948040855025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/8128162948040855025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/8128162948040855025'/><link rel='alternate' type='text/html' href='http://elcuco2.blogspot.com/2010/10/building-qtcreator.html' title='Building QtCreator'/><author><name>elcuco</name><uri>http://www.blogger.com/profile/17916165274407004440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Ce4CH15UN4g/TKdCMjvalFI/AAAAAAAAAiQ/TEjiVTzHsOI/s72-c/qtcreator-clang.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5297446039023451007.post-4646550057422424332</id><published>2010-03-19T07:27:00.000-07:00</published><updated>2010-03-19T07:27:06.993-07:00</updated><title type='text'>Tab animation - bad!</title><content type='html'>I have disabled the tab anymation in my install(s). This was just frustration - the tab has already changed, it's displayed on screen, but it's "slowly" fades in so I can see it.&lt;br /&gt;&lt;br /&gt;It become too much distracting and my life is better since. Has anyone else been feeling the same? Do we have a lot of complains on this issue? If we do, this might be a good idea disabling this feature by default.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5297446039023451007-4646550057422424332?l=elcuco2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elcuco2.blogspot.com/feeds/4646550057422424332/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5297446039023451007&amp;postID=4646550057422424332' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/4646550057422424332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/4646550057422424332'/><link rel='alternate' type='text/html' href='http://elcuco2.blogspot.com/2010/03/tab-animation-bad.html' title='Tab animation - bad!'/><author><name>elcuco</name><uri>http://www.blogger.com/profile/17916165274407004440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5297446039023451007.post-1048357739154061584</id><published>2010-02-28T11:49:00.000-08:00</published><updated>2010-02-28T11:49:55.972-08:00</updated><title type='text'>Qt + clang</title><content type='html'>1) What is clang?&lt;br /&gt;It's a c++ compiler that is been developed using llvm. It should be very fast, it consumes less memory, it's BSD licensed, it should eventually provide better optimizations. It's still beeing developed&lt;br /&gt;&lt;br /&gt;2) Can it compile Qt?&lt;br /&gt;Dunno, not always. It does not work for me, but some people have reported that it works for them.&lt;br /&gt;&lt;br /&gt;3) me too! me too! me too!  me too! me too! &lt;br /&gt;ok, shut up and type this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;&lt;tt&gt;# get + build clang&lt;br /&gt;mkdir  -p ~/src/llvm/&lt;br /&gt;svn co http://llvm.org/svn/llvm-project/llvm/trunk ~/src/llvm&lt;br /&gt;mkdir  -p ~/src/llvm/tools/clang/&lt;br /&gt;svn co http://llvm.org/svn/llvm-project/cfe/trunk  ~/src/llvm/tools/clang &lt;br /&gt;mkdir  -p ~/src/llvm/cmake-build&lt;br /&gt;cd     ~/src/llvm/cmake-build&lt;br /&gt;cmake ../&lt;br /&gt;make -j 127&lt;br /&gt;&lt;br /&gt;# compile Qt using the new clang&lt;br /&gt;mkdir $QTDIR/qt-build-clang&lt;br /&gt;cd $QTDIR/qt-build-clang&lt;br /&gt;export PATH=~/src/llvm/cmake-build/bin:$PATH&lt;br /&gt;export CC=clang&lt;br /&gt;export CXX=clang++&lt;br /&gt;$QTDIR/configure &lt;br /&gt;&lt;br /&gt;# next time, update:&lt;br /&gt;svn up ~/src/llvm/ ~/src/llvm/tools/clang/&lt;br /&gt;&lt;/tt&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As you might guess by now clang is quite compatible with GCC, it behaves more or less like it, uses the same headers, and uses the same command line switches.&lt;br /&gt;&lt;br /&gt;4) Yes, but can clang do this? nah nah nah nah nah nah nah ...&lt;br /&gt;OMG... what is wrong with you? are you an orange...?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5) Is it ready for "enterprise"?&lt;br /&gt;No. There are no reported compiles of a Linux kernel, it just recently became self hosting, and I still have problems compiling Qt with it. I even have problems with small applications.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;tt&gt;&lt;br /&gt;// http://llvm.org/bugs/show_bug.cgi?id=6295&lt;br /&gt;#include &amp;lt; new &amp;gt;&lt;br /&gt;int main( int argc, char *argv[] )&lt;br /&gt;{&lt;br /&gt;return 0;&lt;br /&gt;}&lt;/tt&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;6) So? whats so good about it?&lt;br /&gt;It's an alternative. Freedom is all about alternatives, they mean competition, which means improovement, which means better applications.&lt;tt&gt; &lt;/tt&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5297446039023451007-1048357739154061584?l=elcuco2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elcuco2.blogspot.com/feeds/1048357739154061584/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5297446039023451007&amp;postID=1048357739154061584' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/1048357739154061584'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/1048357739154061584'/><link rel='alternate' type='text/html' href='http://elcuco2.blogspot.com/2010/02/qt-clang.html' title='Qt + clang'/><author><name>elcuco</name><uri>http://www.blogger.com/profile/17916165274407004440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5297446039023451007.post-9086144444956233624</id><published>2010-01-31T13:37:00.000-08:00</published><updated>2010-01-31T13:37:54.556-08:00</updated><title type='text'>Bootstrapping Qt using clang - part 3</title><content type='html'>As thiago asked, I run&amp;nbsp;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;./configure -no-mmx -no-3dnow -no-sse -no-sse2 &amp;amp;&amp;amp; make&lt;/span&gt;, here are the warnings/errors found. Ifind it interesting that the inotify code used gcc extensions - as it seems on linux, this is the "only" usable C++ compiler. Second error should be trivial to fix, more on that on the next post.&lt;br /&gt;&lt;br /&gt;Still FAIL.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/home/elcuco/src/llvm/build-cmake/bin/clang++ -c -pipe -g -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -O2 -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DELF_INTERPRETER=\"/lib/ld-linux.so.2\" -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/linux-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-shared -Iglobal -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I.moc/release-shared -o .obj/release-shared/qfilesystemwatcher_inotify.o io/qfilesystemwatcher_inotify.cpp In file included from io/qfilesystemwatcher_inotify.cpp:43: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;In file included from io/qfilesystemwatcher_inotify_p.h:56: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;In file included from io/qfilesystemwatcher_p.h:60: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;In file included from ../../include/QtCore/private/qobject_p.h:1: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;In file included from ../../include/QtCore/private/../../../src/corelib/kernel/qobject_p.h:62: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;In file included from ../../include/QtCore/qvariant.h:1: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;In file included from ../../include/QtCore/../../src/corelib/kernel/qvariant.h:49: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;In file included from ../../include/QtCore/qmap.h:1: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;../../include/QtCore/../../src/corelib/tools/qmap.h:127:7: warning: field 'value' with variable sized type 'struct inotify_event' not at the &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;end of a struct or class is a GNU extension &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;T value; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;^ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;../../include/QtCore/../../src/corelib/tools/qmap.h:626:25: note: in instantiation of template class &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;'struct QMapNode&lt;int, inotify_event="" struct=""&gt;' requested here &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/int,&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;concreteNode-&amp;gt;key.~Key(); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;^ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;../../include/QtCore/../../src/corelib/tools/qmap.h:167:59: note: in instantiation of member function &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;'QMap&lt;int, inotify_event="" struct=""&gt;::freeData' requested here &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/int,&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;inline ~QMap() { if (!d) return; if (!d-&amp;gt;ref.deref()) freeData(d); } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;^ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;io/qfilesystemwatcher_inotify.cpp:359:30: note: in instantiation of member function 'QMap&lt;int, inotify_event="" struct=""&gt;::~QMap' requested here &amp;nbsp; &amp;nbsp;&lt;/int,&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;QMap&lt;int, inotify_event=""&gt; eventForId; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/int,&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ^ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;In file included from io/qfilesystemwatcher_inotify.cpp:43: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;In file included from io/qfilesystemwatcher_inotify_p.h:56: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;In file included from io/qfilesystemwatcher_p.h:60: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;In file included from ../../include/QtCore/private/qobject_p.h:1: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;In file included from ../../include/QtCore/private/../../../src/corelib/kernel/qobject_p.h:62: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;In file included from ../../include/QtCore/qvariant.h:1: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;In file included from ../../include/QtCore/../../src/corelib/kernel/qvariant.h:49: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;In file included from ../../include/QtCore/qmap.h:1: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;../../include/QtCore/../../src/corelib/tools/qmap.h:136:7: warning: field 'value' with variable sized type 'struct inotify_event' not at the &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;end of a struct or class is a GNU extension &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;T value; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;^ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;../../include/QtCore/../../src/corelib/tools/qmap.h:151:42: note: in instantiation of template class 'struct QMapPayloadNode&lt;int, &amp;nbsp;&amp;nbsp;="" &amp;nbsp;="" struct=""&gt;&lt;/int,&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;inotify_event&amp;gt;' requested here &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;static inline int payload() { return sizeof(PayloadNode) - sizeof(QMapData::Node *); } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ^ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;../../include/QtCore/../../src/corelib/tools/qmap.h:633:25: note: in instantiation of member function &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;'QMap&lt;int, inotify_event="" struct=""&gt;::payload' requested here &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/int,&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;x-&amp;gt;continueFreeData(payload()); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;^ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;../../include/QtCore/../../src/corelib/tools/qmap.h:167:59: note: in instantiation of member function &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;'QMap&lt;int, inotify_event="" struct=""&gt;::freeData' requested here &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/int,&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;inline ~QMap() { if (!d) return; if (!d-&amp;gt;ref.deref()) freeData(d); } &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;^ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;io/qfilesystemwatcher_inotify.cpp:359:30: note: in instantiation of member function 'QMap&lt;int, inotify_event="" struct=""&gt;::~QMap' requested here &amp;nbsp; &amp;nbsp;&lt;/int,&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;QMap&lt;int, inotify_event=""&gt; eventForId; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/int,&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ^ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;9 diagnostics generated. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/home/elcuco/src/gitorious/qt/bin/moc -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DELF_INTERPRETER=\"/lib/ld-linux.so.2\" -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/linux-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-shared -Iglobal -I../3rdparty/harfbuzz/src -I../3rdparty/md5 -I../3rdparty/md4 -I.moc/release-shared io/qfilesystemwatcher_dnotify.cpp -o .moc/release-shared/qfilesystemwatcher_dnotify.moc&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;/home/elcuco/src/llvm/build-cmake/bin/clang++ -c -pipe -g -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -O2 -Wall -W -D_REENTRANT -I/usr/include/freetype2 -fPIC -DQT_SHARED -DQT_BUILD_GUI_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_NO_OPENTYPE -DQT_NO_STYLE_MAC -DQT_NO_STYLE_WINDOWSVISTA -DQT_NO_STYLE_WINDOWSXP -DQT_NO_STYLE_WINDOWSCE -DQT_NO_STYLE_WINDOWSMOBILE -DQT_NO_STYLE_S60 -DQ_INTERNAL_QAPP_SRC -DQT_NO_DEBUG -DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/linux-g++ -I. -I../../include/QtCore -I../../include -I../../include/QtGui -I.rcc/release-shared -I../3rdparty/xorg -I/usr/include/freetype2 -I../3rdparty/harfbuzz/src -Idialogs -I.moc/release-shared -I/usr/X11R6/include -I.uic/release-shared -o .obj/release-shared/qprintengine_ps.o painting/qprintengine_ps.cpp&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;painting/qprintengine_ps.cpp:686:37: error: allocation of incomplete type 'struct sigaction'&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;users_sigpipe_handler = new struct sigaction;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;^&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;painting/qprintengine_ps.cpp:686:44: note: forward declaration of 'struct sigaction'&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;users_sigpipe_handler = new struct sigaction;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ^&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;painting/qprintengine_ps.cpp:687:26: error: invalid use of incomplete type 'struct sigaction'&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;struct sigaction tmp_sigpipe_handler;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ^&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;painting/qprintengine_ps.cpp:686:44: note: forward declaration of 'struct sigaction'&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;users_sigpipe_handler = new struct sigaction;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ^&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;painting/qprintengine_ps.cpp:687:26: warning: unused variable 'tmp_sigpipe_handler' [-Wunused-variable]&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;struct sigaction tmp_sigpipe_handler;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ^&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;5 diagnostics generated.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;make[1]: *** [.obj/release-shared/qprintengine_ps.o] Error 1&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;make[1]: Leaving directory `/home/elcuco/src/gitorious/qt/src/gui'&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;make: *** [sub-gui-make_default-ordered] Error 2&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace;"&gt;[elcuco@pinky ~/src/gitorious/qt]&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5297446039023451007-9086144444956233624?l=elcuco2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elcuco2.blogspot.com/feeds/9086144444956233624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5297446039023451007&amp;postID=9086144444956233624' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/9086144444956233624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/9086144444956233624'/><link rel='alternate' type='text/html' href='http://elcuco2.blogspot.com/2010/01/bootstrapping-qt-using-clang-part-3.html' title='Bootstrapping Qt using clang - part 3'/><author><name>elcuco</name><uri>http://www.blogger.com/profile/17916165274407004440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5297446039023451007.post-9164968735486382934</id><published>2010-01-28T12:37:00.000-08:00</published><updated>2010-01-28T12:37:51.030-08:00</updated><title type='text'>Bootstrapping Qt using clang - part 2</title><content type='html'>This week it actually compiled a working qmake, configure actually worked. The problem now is Qt&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;make[1]: Entering directory `/home/elcuco/src/gitorious/qt/src/gui'&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;/home/elcuco/src/llvm/build-cmake/bin/clang++ -c -Winline -m3dnow -mmmx -pipe -g -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -Wall -W -D_REENTRANT -I/usr/include/freetype2 -fPIC -DQT_SHARED -DQT_BUILD_GUI_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_NO_OPENTYPE -DQT_NO_STYLE_MAC -DQT_NO_STYLE_WINDOWSVISTA -DQT_NO_STYLE_WINDOWSXP -DQT_NO_STYLE_WINDOWSCE -DQT_NO_STYLE_WINDOWSMOBILE -DQT_NO_STYLE_S60 -DQ_INTERNAL_QAPP_SRC -DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/linux-g++ -I. -I../../include/QtCore -I../../include -I../../include/QtGui -I.rcc/debug-shared -I../3rdparty/xorg -I/usr/include/freetype2 -I../3rdparty/harfbuzz/src -Idialogs -I.moc/debug-shared -I/usr/X11R6/include -I.uic/debug-shared painting/qdrawhelper_mmx3dnow.cpp -o .obj/debug-shared/qdrawhelper_mmx3dnow.o&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;painting/qdrawhelper_mmx3dnow.cpp:47:10: fatal error: 'mm3dnow.h' file not found&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Again, nothing done to the code. Great job by the clang guys!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5297446039023451007-9164968735486382934?l=elcuco2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elcuco2.blogspot.com/feeds/9164968735486382934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5297446039023451007&amp;postID=9164968735486382934' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/9164968735486382934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/9164968735486382934'/><link rel='alternate' type='text/html' href='http://elcuco2.blogspot.com/2010/01/bootstrapping-qt-using-clang-part-2.html' title='Bootstrapping Qt using clang - part 2'/><author><name>elcuco</name><uri>http://www.blogger.com/profile/17916165274407004440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5297446039023451007.post-270205212955052035</id><published>2010-01-25T12:00:00.000-08:00</published><updated>2010-01-25T12:00:39.464-08:00</updated><title type='text'>Bootstrapping Qt using clang</title><content type='html'>Step 1 &amp;nbsp;- checkout LLVM/Clang&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;mkdir -p ~/src&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;cd ~/src&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;cd llvm/tools&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;svn co http://llvm.org/svn/llvm-project/cfe/trunk clang&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;cd ../../&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;mkdir build-cmake&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;cd build-cmake ../&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;make -j 334&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Step 2 - checkout Qt, and configure it usig (the&amp;nbsp;non installed) clang&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;cd ~/src&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;git clone http://git.gitorious.org/qt/qt.git&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;cd qt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;CC=/home/elcuco/src/llvm/build-cmake/bin/clang&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;CXX=/home/elcuco/src/llvm/build-cmake/bin/clang++&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;export CC&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;export CXX&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;./configure&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Step 3&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;[elcuco@pinky ~/src/gitorious/qt] gdb ./bin/qmake&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;GNU gdb (GDB) Fedora (7.0.1-29.fc12)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Copyright (C) 2009 Free Software Foundation, Inc.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;License GPLv3+: GNU GPL version 3 or later &lt;http://gnu.org/licenses/gpl.html&gt;&lt;/http://gnu.org/licenses/gpl.html&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;This is free software: you are free to change and redistribute it.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;There is NO WARRANTY, to the extent permitted by law. &amp;nbsp;Type "show copying"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;and "show warranty" for details.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;This GDB was configured as "i686-redhat-linux-gnu".&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;For bug reporting instructions, please see:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;http://www.gnu.org/software/gdb/bugs&gt;...&lt;/http://www.gnu.org/software/gdb/bugs&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Reading symbols from /home/elcuco/src/gitorious/qt/bin/qmake...(no debugging symbols found)...done.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;(gdb) r&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Starting program: /home/elcuco/src/gitorious/qt/bin/qmake&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Program received signal SIGSEGV, Segmentation fault.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;0x08258211 in toLatin1_helper(QChar const*, int) ()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;Missing separate debuginfos, use: debuginfo-install glibc-2.11.1-1.i686 libgcc-4.4.2-20.fc12.i686 libstdc++-4.4.2-20.fc12.i686&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;(gdb) bt&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;#0 &amp;nbsp;0x08258211 in toLatin1_helper(QChar const*, int) ()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;#1 &amp;nbsp;0x08258168 in QString::toLatin1() const ()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;#2 &amp;nbsp;0x082582cc in QString::toLocal8Bit() const ()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;#3 &amp;nbsp;0x0827d12e in locale_encode(QString const&amp;amp;) ()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;#4 &amp;nbsp;0x0827e746 in QFile::encodeName(QString const&amp;amp;) ()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;#5 &amp;nbsp;0x0828170b in QFSFileEnginePrivate::nativeInitFileName() ()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;#6 &amp;nbsp;0x08288752 in QFSFileEngine::QFSFileEngine(QString const&amp;amp;) ()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;#7 &amp;nbsp;0x082c5d5e in QAbstractFileEngine::create(QString const&amp;amp;) ()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;#8 &amp;nbsp;0x082b5d4a in QFileInfoPrivate::initFileEngine(QString const&amp;amp;) ()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;#9 &amp;nbsp;0x082b68e9 in QFileInfo::QFileInfo(QString const&amp;amp;) ()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;#10 0x08126851 in Option::init(int, char**) ()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;#11 0x0807f994 in runQMake(int, char**) ()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;#12 0x08080bab in main ()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;(gdb)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;FAIL. At least it compiled without any modification! yay configure!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5297446039023451007-270205212955052035?l=elcuco2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elcuco2.blogspot.com/feeds/270205212955052035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5297446039023451007&amp;postID=270205212955052035' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/270205212955052035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/270205212955052035'/><link rel='alternate' type='text/html' href='http://elcuco2.blogspot.com/2010/01/bootstrapping-qt-using-clang.html' title='Bootstrapping Qt using clang'/><author><name>elcuco</name><uri>http://www.blogger.com/profile/17916165274407004440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5297446039023451007.post-963178612457328350</id><published>2009-12-25T01:35:00.000-08:00</published><updated>2009-12-25T01:35:43.574-08:00</updated><title type='text'>Removing GPL code</title><content type='html'>This is an interesting question I &lt;a href="http://tirania.org/blog/archive/2009/Dec-15.html"&gt;have after reading about MonoDevelop removing GPL code&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;I have this application which I license under the terms of BSD, and I saw a GPL library (lets call it libbar ) which might help me. I incorporate the library by dinamic linking. Now my application is effectly a GPL binary, sweet.&lt;br /&gt;&lt;br /&gt;Now, I write myself a new replacement library and release it under the terms of BSD. I replace the old "legacy" library by my new one.&lt;br /&gt;&lt;br /&gt;Scenario 1:&lt;br /&gt;Lets assume, my application uses (derives classes, whatever) code from libbar. If I remove the GPL code and change it by BSD code - my work even tough it does not contain GPL code - it's a derived work, due to compile time constrains. Am I correct?&lt;br /&gt;&lt;br /&gt;Scenario 2:&lt;br /&gt;Lets assume that libbar, uses abstract classes/methods from libfoo (which is BSD). Lets assume that my application uses the interfaces exposed in libfoo, then libbar &amp;nbsp;extends those interfaces, and I am not directly using libbar. When I use my new BSD library, my application is not compiled against any GPL code (just linked to) and it never used it directly. My old code was GPL by run-time constrains and, and the new one is BSD. Am I correct?&lt;br /&gt;&lt;br /&gt;The problem wuth scenario 2, is that even if I am wrong, and my BSD code is "forced" to be GPL, this would not held in court. I still remember the wifi drivers issue the freebsd guys had (openbsd? a link in the comments would be a good idea...)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5297446039023451007-963178612457328350?l=elcuco2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elcuco2.blogspot.com/feeds/963178612457328350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5297446039023451007&amp;postID=963178612457328350' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/963178612457328350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/963178612457328350'/><link rel='alternate' type='text/html' href='http://elcuco2.blogspot.com/2009/12/removing-gpl-code.html' title='Removing GPL code'/><author><name>elcuco</name><uri>http://www.blogger.com/profile/17916165274407004440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5297446039023451007.post-3360902202901986126</id><published>2009-10-23T06:59:00.000-07:00</published><updated>2009-10-23T07:08:58.691-07:00</updated><title type='text'>KDE on Windows - making life easier</title><content type='html'>I just installed on my mom's Desktop KDE games. Now she is happier, and she does not need to touch my computer.&lt;br /&gt;&lt;br /&gt;On the laptop I got from work (Windows XP, because of non-supported hardware) I just installed KDE4 as well. Using &lt;a href="http://konversation.kde.org/"&gt;Konversation&lt;/a&gt; on Windows just kicks ass. &lt;a href="http://kate-editor.org/"&gt;Kate&lt;/a&gt; is by far the best general purpose text editor I used. I am not happy that &lt;a href="http://okular.kde.org/"&gt;Okular&lt;/a&gt; on 4.3.2 does not open PDF (4.3.0 and 4.2 did open.... funky...), but as soon as it starts working again, it will become my default PDF viewer.&lt;br /&gt;&lt;br /&gt;While I think &lt;a href="http://dolphin.kde.org/"&gt;Dolphin&lt;/a&gt; is &lt;span style="font-weight:bold;"&gt;&lt;span class="Apple-style-span"  style="font-size:large;"&gt;&lt;span class="Apple-style-span"  style="color:#FF0000;"&gt;GREAT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; and I started using back in KDE3, I cannot use it on windows, since &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;sftp://&lt;/span&gt; or &lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;fish://&lt;/span&gt; protocols not working there... it's just so sad ... :(&lt;br /&gt;&lt;br /&gt;I just wanted to thank the &lt;a href="http://windows.kde.org/"&gt;KDE on windows team&lt;/a&gt;: great job. Just fix the default colors on XP, the applations look kinda dark. That's all!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5297446039023451007-3360902202901986126?l=elcuco2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elcuco2.blogspot.com/feeds/3360902202901986126/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5297446039023451007&amp;postID=3360902202901986126' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/3360902202901986126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/3360902202901986126'/><link rel='alternate' type='text/html' href='http://elcuco2.blogspot.com/2009/10/kde-on-windows-making-life-easier.html' title='KDE on Windows - making life easier'/><author><name>elcuco</name><uri>http://www.blogger.com/profile/17916165274407004440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5297446039023451007.post-4483005007717959375</id><published>2009-10-05T13:30:00.000-07:00</published><updated>2009-10-05T13:40:29.563-07:00</updated><title type='text'>Dear lazy web: cannot clone from gitorious</title><content type='html'>I am trying to clone Qt (and qt-creator) in my hone, and I am getting this (please don't laugh, I know it's Windows...)&lt;br /&gt;&lt;pre&gt;diego@BRAIN /c/src&lt;br /&gt;$ rm -fr qt &amp;amp;&amp;amp; time git clone git://gitorious.org/qt/qt.git&lt;br /&gt;Initialized empty Git repository in c:/src/qt/.git/&lt;br /&gt;remote: Counting objects: 218976, done.&lt;br /&gt;remote: Compressing objects: 100% (56957/56957), done.&lt;br /&gt;fatal: The remote end hung up unexpectedly.68 MiB | 5 KiB/s&lt;br /&gt;fatal: early EOF&lt;br /&gt;&lt;br /&gt;real    41m40.578s&lt;br /&gt;user    0m0.015s&lt;br /&gt;sys     0m0.000s&lt;br /&gt;&lt;/pre&gt;Now, it only happens at home where my ISP is making nice tricks and probably killing everything that is not "http" (note how slow it works, 1kbs to 5kbs). Just to compare, in my workplace with a business contract I can pull at normally (at 100-180kbs).&lt;br /&gt;&lt;br /&gt;Any tricks? I was thinking of using a ppptp connection to work, and then pull from that (or even ssh), but I am sure that there are workarounds for this issue. Yes, I tried http, this is what I get:&lt;br /&gt;&lt;pre&gt;diego@BRAIN /c/src&lt;br /&gt;$ rm -fr qt &amp;amp;&amp;amp; time git clone http://gitorious.org/qt/qt.git&lt;br /&gt;Initialized empty Git repository in c:/src/qt/.git/&lt;br /&gt;fatal: http://gitorious.org/qt/qt.git/info/refs not found: did you run git updat&lt;br /&gt;e-server-info on the server?&lt;br /&gt;&lt;br /&gt;real    0m1.953s&lt;br /&gt;user    0m0.015s&lt;br /&gt;sys     0m0.000s&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Any good ideas/workarounds/solutions...?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5297446039023451007-4483005007717959375?l=elcuco2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elcuco2.blogspot.com/feeds/4483005007717959375/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5297446039023451007&amp;postID=4483005007717959375' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/4483005007717959375'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/4483005007717959375'/><link rel='alternate' type='text/html' href='http://elcuco2.blogspot.com/2009/10/dear-lazy-web-cannot-clone-from.html' title='Dear lazy web: cannot clone from gitorious'/><author><name>elcuco</name><uri>http://www.blogger.com/profile/17916165274407004440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5297446039023451007.post-6211101095517754466</id><published>2009-09-15T13:07:00.000-07:00</published><updated>2009-09-15T13:37:15.978-07:00</updated><title type='text'>Linus is always right</title><content type='html'>Linus is always right: &lt;a href="http://www.youtube.com/watch?v=4XpnKHJAok8"&gt;SVN users are stupids&lt;/a&gt;, GIT is superior. I am now starting to move my personal projects from SVN to GIT. When doing local development, GIT is by FAR much better then SVN: easier to setup ("git init" and you are done, and SVN?), it's the fast and it's branches are super cool. So, lets use it.&lt;br /&gt;&lt;br /&gt;In order to learn how to use GIT, the best way is to use it. So I decided to start helping again in &lt;a href="http://code.google.com/p/arora/"&gt;Arora&lt;/a&gt; (which is hosted in &lt;a href="http://github.com/Arora/arora/"&gt;github)&lt;/a&gt;. The result is that the next version will have a nice RTL user interface (I must admit, the bridge between JS and C++ in Qt is really cool), and you can also have i18n without installing the application. A nice side effect is that you can have local translations (different then the ones in /usr/local/arora/* in ~/.arora/i18n). This may help translators, to finish the translations of the applicaiton, even if they installed from source. If not in practice, at least in theory as the code is more or less there.&lt;br /&gt;&lt;br /&gt;Back when I was studying, I had this class which was called "data mining", in which we learned a few &lt;a href="http://en.wikipedia.org/wiki/Cluster_analysis"&gt;clusterization&lt;/a&gt; algorithms (&lt;a href="http://en.wikipedia.org/wiki/K-means_clustering"&gt;KMeans&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/K-medoids"&gt;PAM&lt;/a&gt; and a few others). We were given an exercise: to code a program that implements &lt;a href="http://www.stats.ox.ac.uk/%7Emercer/documents/Transfer.pdf"&gt;Clara&lt;/a&gt;. I decided to code this in Qt4, using &lt;a href="http://qwt.sourceforge.net/"&gt;QWT&lt;/a&gt;. As an exercise, I decided to clean it up, and save it in a git repository. I just finished &lt;a href="http://github.com/elcuco/data_mining_demo"&gt;uploading the project to github&lt;/a&gt;, and I am also planing a few other changes (move the code from the Qt containers to STL). The code is GPL3, so feel free to use and abuse. The dataset code is self containing and soon will have no dependency on Qt, so it may be-reused in other projects.&lt;br /&gt;&lt;br /&gt;Since this is the KDE planet, here is the mandatory screen shot:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Ce4CH15UN4g/Sq_6sV6SR5I/AAAAAAAAAeM/1xOWIJ-Rzc8/s1600-h/data-mining.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 218px;" src="http://1.bp.blogspot.com/_Ce4CH15UN4g/Sq_6sV6SR5I/AAAAAAAAAeM/1xOWIJ-Rzc8/s320/data-mining.png" alt="" id="BLOGGER_PHOTO_ID_5381795719433832338" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5297446039023451007-6211101095517754466?l=elcuco2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elcuco2.blogspot.com/feeds/6211101095517754466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5297446039023451007&amp;postID=6211101095517754466' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/6211101095517754466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/6211101095517754466'/><link rel='alternate' type='text/html' href='http://elcuco2.blogspot.com/2009/09/linus-is-always-right.html' title='Linus is always right'/><author><name>elcuco</name><uri>http://www.blogger.com/profile/17916165274407004440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Ce4CH15UN4g/Sq_6sV6SR5I/AAAAAAAAAeM/1xOWIJ-Rzc8/s72-c/data-mining.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5297446039023451007.post-3238346499881868860</id><published>2009-07-12T10:44:00.001-07:00</published><updated>2009-07-12T11:49:01.987-07:00</updated><title type='text'>Stackoverflow and Konqueror</title><content type='html'>As a huge fan of &lt;a href="http://stackoverflow.com/"&gt;stackoverflow.com&lt;/a&gt; and one that is trying to reduce his usage of Firefox (Konqueror is faster, consumes less memory and looks more native) I had problem browsing to this given site.&lt;br /&gt;&lt;br /&gt;When you try and associate the Google account with your stackoverflow account, I was redirected to the front page and I was not recognized. Today, I tried identifying Konqueror as Firefox2 (from Tools/Change Browser Identification) and I was able to login. When I was logged in I removed the false identification and the site is working perfectly. SWEET.&lt;br /&gt;&lt;br /&gt;GMail almost works when you identify as Firefox2. The new user interface does not work (you cannot change... directories? folders?) and the chat does not work even with FF2 enabled. &lt;br /&gt;This might work if I identify as a newer Safari... who knows...&lt;br /&gt;&lt;br /&gt;This means Google are spoofing for specific browsers and hacking around problems (which do not exactly exist). Anyway, the user agents strings might need a little update... it's like they are stacked in the remote past... when we actually needed to spoof the browser identification ....wait.... what?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5297446039023451007-3238346499881868860?l=elcuco2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elcuco2.blogspot.com/feeds/3238346499881868860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5297446039023451007&amp;postID=3238346499881868860' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/3238346499881868860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/3238346499881868860'/><link rel='alternate' type='text/html' href='http://elcuco2.blogspot.com/2009/07/stackoverflow-and-konqueror.html' title='Stackoverflow and Konqueror'/><author><name>elcuco</name><uri>http://www.blogger.com/profile/17916165274407004440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5297446039023451007.post-8624198267211939834</id><published>2009-04-24T10:56:00.000-07:00</published><updated>2009-04-24T11:04:57.521-07:00</updated><title type='text'>A reason to keep KHTML</title><content type='html'>I have read that &lt;a href="http://blog.fortytwo.ch/archives/40-Lets-kill-KHTML.html"&gt;people are not happy about KHTML&lt;/a&gt;. As one who spoke once against KHTML, and pro QtWebKit (or QWebKit?). This is why I want to keep KHTML:&lt;br /&gt;&lt;br /&gt;Native widgets. Not emulated like WebKit/Gecko, but real Qt widgets. This means that I can have a text widget which fully supports BiDi (not gecko, not webkit, only IE has one... and KHTML).&lt;br /&gt;&lt;br /&gt;Also, widgets get drawed funky if the direction of the page is opposite to the direction of your desktop on WebKit (you can see it in chrome, Arora and Safari). For example see the combo boxes in http://www.aljazeera.net/Portal.&lt;br /&gt;&lt;br /&gt;Still, I think that KHTML is not something we can handle today. Sorry, even tough KHTML is great, WebKit is what the market needs, it's what we as a community need.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5297446039023451007-8624198267211939834?l=elcuco2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elcuco2.blogspot.com/feeds/8624198267211939834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5297446039023451007&amp;postID=8624198267211939834' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/8624198267211939834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/8624198267211939834'/><link rel='alternate' type='text/html' href='http://elcuco2.blogspot.com/2009/04/reason-to-keep-khtml.html' title='A reason to keep KHTML'/><author><name>elcuco</name><uri>http://www.blogger.com/profile/17916165274407004440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5297446039023451007.post-3747975469251463495</id><published>2009-02-26T13:33:00.000-08:00</published><updated>2009-02-26T13:39:53.376-08:00</updated><title type='text'>QDevelop 0.27 is out</title><content type='html'>Get it while it's hot! &lt;a href="http://qdevelop.org/"&gt;QDevelop 0.27&lt;/a&gt; has been released!&lt;br /&gt;&lt;br /&gt;Sources and builds for Linux/Windows are avialable at the GoogleCode project, as always: &lt;a href="http://code.google.com/p/qdevelop/downloads/list"&gt;http://code.google.com/p/qdevelop/downloads/list&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_Ce4CH15UN4g/SacLsMM_P-I/AAAAAAAAAbs/17ydNKnpuPQ/s1600-h/qdevelop-0.27.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://1.bp.blogspot.com/_Ce4CH15UN4g/SacLsMM_P-I/AAAAAAAAAbs/17ydNKnpuPQ/s320/qdevelop-0.27.png" alt="" id="BLOGGER_PHOTO_ID_5307223539697270754" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5297446039023451007-3747975469251463495?l=elcuco2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elcuco2.blogspot.com/feeds/3747975469251463495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5297446039023451007&amp;postID=3747975469251463495' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/3747975469251463495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/3747975469251463495'/><link rel='alternate' type='text/html' href='http://elcuco2.blogspot.com/2009/02/qdevelop-027-is-out.html' title='QDevelop 0.27 is out'/><author><name>elcuco</name><uri>http://www.blogger.com/profile/17916165274407004440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Ce4CH15UN4g/SacLsMM_P-I/AAAAAAAAAbs/17ydNKnpuPQ/s72-c/qdevelop-0.27.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5297446039023451007.post-6721325291354520707</id><published>2009-02-10T07:45:00.000-08:00</published><updated>2009-02-10T07:56:03.247-08:00</updated><title type='text'>Removed Hebrew translations of Plasma 4.2.1</title><content type='html'>I just &lt;a href="http://websvn.kde.org/?view=rev&amp;amp;revision=924367"&gt;removed the Hebrew translation of plasma&lt;/a&gt; from the 4.2 branch, which means &lt;span style="font-weight: bold;"&gt;only&lt;/span&gt; plasma will not be translated to Hebrew. The reason, is that QGraphicsScene does not support RTL interfaces in Qt 4.4, and it's still not sure if KDE 4.2 does support Qt 4.5. Even if it does, it's still not tested.&lt;br /&gt;&lt;br /&gt;If KDE 4.2 will work with Qt 4.5, the translation will get pulled from trunk again.&lt;br /&gt;&lt;br /&gt;I hope that no more files need to be remove, otherwise I am afraid of going bellow 85% and in theory Hebrew will not be a supported language.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5297446039023451007-6721325291354520707?l=elcuco2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elcuco2.blogspot.com/feeds/6721325291354520707/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5297446039023451007&amp;postID=6721325291354520707' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/6721325291354520707'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/6721325291354520707'/><link rel='alternate' type='text/html' href='http://elcuco2.blogspot.com/2009/02/removed-hebrew-translations-of-plasma.html' title='Removed Hebrew translations of Plasma 4.2.1'/><author><name>elcuco</name><uri>http://www.blogger.com/profile/17916165274407004440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5297446039023451007.post-575502138560491442</id><published>2008-11-22T07:21:00.000-08:00</published><updated>2008-11-23T12:23:01.706-08:00</updated><title type='text'>Freeze in KDE4.2 - now lets check out the strings</title><content type='html'>KDE's trunk is now frozen and no new features can be added, nor visual strings can be modified or added, we are in release mode. Lets see some of those strings:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Inactive contrast effect type&lt;/span&gt;, taken from colorsettings.ui:830  in kdebase, the string is found somewhere in &lt;a href="http://websvn.kde.org/*checkout*/trunk/l10n-kde4/templates/messages/kdebase/kcmcolors.pot"&gt;kcmcolors.pot&lt;/a&gt;. I understand this as &lt;span style="font-weight: bold;"&gt;the non-active contrast of a type of an effect&lt;/span&gt; or &lt;span style="font-weight: bold;"&gt;the type of the effect for the contrast of non-active &lt;span class="Apple-style-span" style="font-style: italic;"&gt;(something)&lt;/span&gt;&lt;/span&gt;.  This is how it will sound when translating to my language, it might sound &lt;span style="font-style: italic;"&gt;ok&lt;/span&gt; in English but it does not always sound good enough in other languages. Looking at the &lt;a href="http://websvn.kde.org/*checkout*/trunk/l10n-kde4/es/messages/kdebase/kcmcolors.po"&gt;spanish translation&lt;/a&gt; it seems the second translation is what the original developer meant.... you see? I need to look into another translation to understand the original string. How can a user understand it?&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;You have a Logitech Mouse connected, and libusb was found at compile time, but it was not possible to access this mouse. This is probably caused by a permissions problem - you should consult the manual on how to fix this.&lt;/span&gt;  &lt;span style="font-weight: normal;"&gt;This one comes from&lt;a href="http://websvn.kde.org/*checkout*/trunk/l10n-kde4/templates/messages/kdebase/kcminput.pot"&gt;   kcminput.pot&lt;/a&gt;, and  my question is: which manual?  ... are you sure it will have information about  something like "&lt;span style="font-family:courier new;"&gt;chmod a+rw /dev/usb-mouse-blabla&lt;/span&gt;"?&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin: 0px; text-indent: 0px; font-weight: bold;"&gt;&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px; text-indent: 0px; font-weight: bold;"&gt;&lt;span style="font-weight: normal;"&gt;And then are the giziliion-gazillion technology names we use: plasma, akonadi, strigi, phonon, dbus and more. What am I speaking about this? since some languages leave those names in english even though the langauge is not latin based (for example the Hebrew team is doing this) and others do try to translate the latin letters to the alphabet (the Arabic team does this for example). This is fine, until we start talking about "plasmoids"... and then things get funky. I might need to re-think my policy and translating plasmoid to פלסמואיד and also plasma to פלסמה or פלסמא (the latter sounds more &lt;a href="http://en.wikipedia.org/wiki/Aramaic"&gt;Aramic&lt;/a&gt; then Hebrew so I might keep the first one). &lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;Again, why mumbeling about local decitinos? Because when choosing technology names developers do not think about i18n and l10n (1), what happens when the technology name cannot be transcribed into a specific language? I once heard that CocaCola cannot be transcribed exactly to Chinese and when localizing the trade mark CocaCola used the closes sounds they could find to write the name of the product (2).&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Don't get me wrong, KDE 4.2 will kick ass, and the next Mandriva distribution will come with it will get in my laptop (3). But still, as a contributor I am not happy about some decitions, and that's OK.  Since I am using Gnome at work (4) and I see the applications on the other side, and I like the ones KDE is shipping/developing.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;(1)  lazy... write the full words!&lt;br /&gt;(2)  any chinese reading this? can you confirm this?&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;kate and Konsole. Just because the kubuntu-desktop is not stable enough.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;(3)  yes, I am still using KDE 3.5.something. Stable and usable, I need to do work and not fight my own system.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:x-small;"&gt;(4)  Ubuntu 8.10 (64 bit) with kubuntu-desktop installed, running a GNome session with Dolphin. Dolphin kicked mc's ass.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5297446039023451007-575502138560491442?l=elcuco2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elcuco2.blogspot.com/feeds/575502138560491442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5297446039023451007&amp;postID=575502138560491442' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/575502138560491442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/575502138560491442'/><link rel='alternate' type='text/html' href='http://elcuco2.blogspot.com/2008/11/freeze-in-kde42-now-lets-check-out.html' title='Freeze in KDE4.2 - now lets check out the strings'/><author><name>elcuco</name><uri>http://www.blogger.com/profile/17916165274407004440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5297446039023451007.post-2741062667141275340</id><published>2008-10-03T02:51:00.000-07:00</published><updated>2008-10-03T03:15:29.796-07:00</updated><title type='text'>QTextEdit and QTextCursor fun</title><content type='html'>My problem is simple: when I open lokalize, it's using the RTL interface and I see the original English text in RTL mode. This just looks bad, as it always needs to be LTR. Should be simple, not?&lt;br /&gt;&lt;br /&gt;So I started writing some small tests (yes David, I do small scale tests!). In this test I am doing the exact opposite: I am forcing an RTL paragraph on an LTR interface.&lt;br /&gt;&lt;br /&gt;First test:&lt;br /&gt;&lt;blockquote&gt;&lt;span&gt;&lt;span style="font-family:courier new;"&gt;      QTextEdit *e1 = new QTextEdit;&lt;br /&gt;QTextOption o;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;      o = e1-&gt;document()-&gt;defaultTextOption();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;      o.setAlignment(Qt::AlignLeft);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;      o.setTextDirection(Qt::RightToLeft);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;      e1-&gt;document()-&gt;setDefaultTextOption(o);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;      e1-&gt;setText( QLatin1String("1) Currect direction on QTextEdit, wanted RTL!") );&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;This seems to work fine. However, lokalize creates a QTextCursor and inserts text to that cursor. Ok, second test:&lt;br /&gt;&lt;blockquote&gt;&lt;span&gt;&lt;span style="font-family:courier new;"&gt;      QTextEdit *e2 = new QTextEdit;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;      QTextCursor tc = e2-&gt;textCursor();&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;QTextCharFormat tcf = tc.blockCharFormat();&lt;br /&gt;&lt;br /&gt;  tcf.setLayoutDirection( Qt::RightToLeft );&lt;br /&gt;  tc.insertText( QLatin1String("2) Wrong direction on QTextEdit, wanted RTL!"), tcf );&lt;br /&gt;  e2-&gt;setTextCursor(tc);&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;This does not work. The text is still LTR, even tough I modified the text char format of this text cursor. I sent a bug to Nokia with this mini-application, and it's marked there as N229677.&lt;br /&gt;&lt;br /&gt;I talked with a fellow hacker here, and he sent me this piece of code (which does work), third test:&lt;br /&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-family:courier new;"&gt;    QTextEdit *e3 = new QTextEdit;&lt;br /&gt;   QTextCursor tc = e3-&gt;textCursor();&lt;br /&gt;   QTextBlockFormat tbf = tc.blockFormat();&lt;br /&gt;&lt;br /&gt;   tbf.setLayoutDirection( Qt::RightToLeft );&lt;br /&gt;   tc.setBlockFormat(tbf);&lt;br /&gt;   tc.insertText( QLatin1String("3) Correct direction on QTextEdit, wanted RTL!") );&lt;br /&gt;   e3-&gt;setTextCursor(tc);&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;Now, I don't really understand why the second test does not work. IMHO, the higher level API used in the second test &lt;span style="font-weight: bold;"&gt;should&lt;/span&gt; work, but I assume that using this low level (which is used in the third test) is fine as well... I will commit this to lokalize as soon as I test on a live lokalize, but it's just crashing on startup since 3 days ago (yes, I am using runk). Is this a known issue?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5297446039023451007-2741062667141275340?l=elcuco2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elcuco2.blogspot.com/feeds/2741062667141275340/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5297446039023451007&amp;postID=2741062667141275340' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/2741062667141275340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/2741062667141275340'/><link rel='alternate' type='text/html' href='http://elcuco2.blogspot.com/2008/10/qtextedit-and-qtextcursor-fun.html' title='QTextEdit and QTextCursor fun'/><author><name>elcuco</name><uri>http://www.blogger.com/profile/17916165274407004440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5297446039023451007.post-2255813443251223762</id><published>2008-09-12T07:12:00.000-07:00</published><updated>2008-09-18T14:16:17.982-07:00</updated><title type='text'>lokalize goodies!</title><content type='html'>I just upgraded my SVN, and I saw that lokalize got lot's of new bling-blings in trunk (KDE 4.2)! Now by default it loads the project in the main window, and when you need to edit a PO file it gets opened in a tab. SWEET, way to go to the usability guys! Way to go Nick!&lt;!--EndFragment--&gt;&lt;br /&gt;&lt;br /&gt;BTW:&lt;br /&gt;I decided to move my English writing to this blog, and keep the old &lt;a href="http://elcuco.blogli.co.il/"&gt;one for Hebrew posts&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5297446039023451007-2255813443251223762?l=elcuco2.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elcuco2.blogspot.com/feeds/2255813443251223762/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5297446039023451007&amp;postID=2255813443251223762' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/2255813443251223762'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5297446039023451007/posts/default/2255813443251223762'/><link rel='alternate' type='text/html' href='http://elcuco2.blogspot.com/2008/09/lokalize-goodies.html' title='lokalize goodies!'/><author><name>elcuco</name><uri>http://www.blogger.com/profile/17916165274407004440</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
