Re: [kde-discuss] Gentle Question
Mats Rojestal <[email protected]> Mon, 12 May 2008 22:39:34 +0200
| Newsgroups | gmane.comp.kde.solaris |
|---|---|
| Message-ID | <[email protected]> |
Hi Kunal, I Agree, that building KDE with gcc instead of is quite simple insted of using Sun compilers. I built the whole kde 3.5.9 release also with gcc-4.3.0: Using built-in specs. Target: i386-pc-solaris2.10 Configured with: ../configure --prefix=/usr/gnu --with-as=/usr/sfw/bin/gas --with-gnu-as --with-ld=/usr/local/bin/gld --enable-shared --with-gnu-ld --enable-languages=c,c++ --disable-nls Thread model: posix gcc version 4.3.0 (GCC) I use gnu linker because of a bug in /usr/ccs/bin/ld, however it works nicely. I can't figure out what the advantage of using sun compilers is, maybe a death wish. My simple observations from gcc 4.x.x performance is that it's not inferior to other compilers. Solaris is not a major player in the OS market and making it harder to port software to Solaris isn't really a good idea. Regards Mats Röjestål Kunal Deo skrev: > Hi Michael > Thanks for the suggestion, I'll do that. > > My reason for choosing GCC over Sun Studio: > 1. I am coming from Linux background and feel more comfortable when > using gcc. However, I'm still linking to Sun ld (to maintain > compatibility with existing Solaris binary) > > Using built-in specs. > Target: sparc-sun-solaris2.10 > Configured with: ./configure --with-gmp=//source/kde4/ > --prefix=/source/kde4/ --with-ld=/usr/ccs/bin/ld --enable-languages=c,c++ > Thread model: posix > gcc version 4.3.0 (GCC) > > 2. I feel like cmake works as a charm when used with gcc. Than any other > compiler. > > 3. If I ran into problems. I can always search on gcc mailing list which > covers virtually everything and also other projects using gcc like > mysql and so on. (There are many) > > 4. I prefer Kdevelop as my IDE and it is easy to generate KDevelop > project files when using cmake. > > 5. gmake can run parallel compilation, upto 16 on multi-core processor. > Mine is 16x2 cores. So it is fast with gamke -jx option. where x is the > number of cores. > > 6. Fancy stuffs (i like it) like color gcc output are plus. > > Sometime in future I planning to come up with performance metrics for > KDE4 with gcc. > > Michael Schuster wrote: >> Kunal Deo wrote: >> >>> Hi Stefan >>> >>> Thanks for your quick response. I understand the reason to support Sun >>> Studio. But KDE offcially supports GCC 4.x series. Thats why I've >>> decided to use gcc. Moreover toolchain has been ported as well. I've >>> ported almost everything and its running fine. KDE4 is in progress. >>> >>> I did run into few problems but I've fixed that (including compilation >>> of strigi) >>> >>> 1. GCC 4.3 error where it doesnt compile functions like strcpy() >>> memset(), but works when you add "include <cstring>" >>> 2. Linking problems when you use POSIX calls which are not system calls >>> in solaris but are general library, classic example is >>> >>> sched_setscheduler() which can be fixed by using -lrt and so on. >>> >>> So far the performance has been very good. And runs quite comfortability. >>> >>> Let me know your thoughts. >>> >> good to know it worked. It might be interesting for others if you could >> publish in detail (maybe on a blog ... ) what you had to do to get this >> going. >> >> If your whole intention in this project was to get KDE4 running on >> Solaris, congratulations. >> >> I do wonder though what you're trying to achieve in the long run (if you >> do at all) ... or are you satisfied with a one-off success? >> - Will you (or a team following your lead) be prepared to maintain >> whatever set of tools/sources/receipes is necessary so you can keep up >> with KDE4 on Solaris changes with gcc? >> - Will you go to the (probably not insignificant) effort to modify the >> build infrastructure to build with both Sun Studio and gcc? >> - Might it not be more worthwhile in the long run to invest your time >> and apparent skill into helping out with the ongoing effort of building >> KDE4 on Solaris with Sun Studio? >> >> regards >> Michael >> >> >>> Stefan Teleman wrote: >>> >>>> On Mon, May 5, 2008 at 1:55 AM, Kunal Deo <[email protected]> wrote: >>>> >>>> >>>>> Hi Stefan >>>>> >>>>> Thanks for the reply. I wanted to know why GCC is not supported for KDE4. >>>>> So far I have compiled everything except strigi and hope I will do that >>>>> also. >>>>> >>>>> >>>> There are several reasons: >>>> >>>> 1. For KDE4 on Linux (and even for KDE3), there are restrictions as to >>>> which versions of GCC are supported -- some versions of GCC are known >>>> to miscompile KDE. >>>> >>>> If we start introducing additional complexities with supporting GCC on >>>> Solaris, then we have to reconcile the GCC version restrictions on >>>> Linux and FreeBSD with the GCC version restrictions on Solaris. Noone >>>> has the time to determine which versions of GCC are OK across all 3 >>>> platforms. >>>> >>>> 2. GCC does not have a stable C++ ABI. GCC's C++ ABI has changed >>>> several times between GCC releases, and simply stating "GCC is >>>> supported" is misleading: only C++ ABI compatible versions of GCC >>>> would be supported. >>>> >>>> 3. Sun PSARC rules require that any C++ software available in >>>> Solaris/OpenSolaris, which exposes public API's, must be built with >>>> Sun Studio, and with the Sun C++ ABI Version 5. PSARC/2002/348 (ICU) >>>> is publicly available at opensolaris.org (the PSARC case which >>>> enforces this requirement). >>>> >>>> [1] and [2] simply introduce too much complexity. [3] is a hard >>>> requirement: we must support Sun Studio. >>>> >>>> You can still try to build KDE4 with GCC. However, you will run into >>>> problems. There will be "unsupported GCC Version" problems, and there >>>> is already C++ software in Solaris/OpenSolaris which has been built >>>> with Sun Studio, and which is used by KDE4 (examples: PCRE, OpenEXR, >>>> and more). Sun Studio C++ ABI and GCC C++ ABI are not compatible with >>>> each other. You will not be able to link the already present C++ >>>> Solaris software with GCC. >>>> >> > > ___________________________________________________ This message is from the kde-solaris mailing list. Account management: https://mail.kde.org/mailman/listinfo/kde-solaris. Archives: http://lists.kde.org/. More info: http://www.kde.org/faq.html.