Other tools, newer toolkits
Sune tries a new linker and finds that you have to tweak stuff to get KDE to compile and link properly. Welcome to the world outside of standard gcc + GNU binutils. There’s lots of opportunity for discussion on whether the stricter checking is actually right . For instance does constness of parameters have to match between declaration and definition? gcc says no; Sun’s linker says yes; I don’t know what gold says. As for twiddling linker flags, I’m not sure that it’s really the right approach to “get rid of –no-undefined.” For me, that flag doesn’t exist anyway and I’m glad that CMAKE_COMPILER_IS_GNUCXX exists in order to conditionally add things to compiler flags; maybe we need a CMAKE_LINKER_IS_ { GNULD, GOLD, SUNLD } (and Windows variants as well, but I’m not privy to what names might make sese there) in order to deal with things properly. It would clear up some of the patches I maintain in CVSDude to un-twiddle flags that are thrown in by some CMakeLists.txt files.
And then Thiago points out Qt 4.4 is available, which sends me into paraoxysms of recompiling (aka. thrashing). The number of patches needed to compile Qt 4.4 from my previous work on qt-copy has dropped quite a bit. There’s nine left. Here is a paraphrase of one of them:
- it(makeSingletonIterator
+ it(QPatternist::makeSingletonIterator
Simple and straightforward (right Frans?); I’ll file issues for them to push the patches in towards Trolltech (although I don’t think all of them are applicable – there’s one that rips out freetype2 autodetection because that autodetection is plain broken in our setup).
So there’s a good combination of things moving forward and waiting for compiles to finish. One of these days I really need to work out a good way of working with ZFS snapshots (and/or zones, which are like FreeBSD jails on steroids, which in turn are chroots on steroids) so that I can keep both KDE proper and KDE dependencies moving forward. I did a recent count: of the 160-odd dependencies we have identified, 122 are now done (that means building successfully and regularly on x86 in 32- and 64- bit mode – I’m afraid SPARC stuff sometimes slips us by).
Which reminds me there’s still a ton of documentation to work on. Argh.
The Wayback Machine ⏲ does not archive everything. Broken image links are marked with a 💔.