[KDE Dot News]
 faq
 flatforty
 contribute
 subscribe
 configure
 search
 rdf

 main
 parent


Re: Focus on Infusion
by Evandro on Friday 15/Jun/2001, @17:42
"No doubt the problematic compiler from Red Hat 7.x included with Mandrake 8.0 also had a hand in the matter."

the problem is in infusion itself, not in the compiler.

"Most of gcc 2.96's perceived "bugs" are actually broken code that older gccs accepted because they were not standards compliant - or, using an alternative term to express the same thing, buggy."
  Related Links
 ·   Articles on KDE PIM
 ·   Also by Evandro
 ·   Contact author

Thread Threshold:

The Fine Print: The following comments are owned by whomever posted them.
( Reply )

Compiler Bashing
by Navindra Umanee on Friday 15/Jun/2001, @17:49
Well, my personal grudge against Mandrake 8.0's compiler is that it pretty much breaks SableVM. One of the compiler bugs can be worked around by turning off GCC optimization, but the other one related to native interfaces doesn't seem trivial to work around.

This basically means that Mandrake is useless as a development platform to me, and for real work, I have to use some other platform or install a good compiler. So I'm quite happy to bash this compiler decision whenever I get the chance, and it's also quite possible I might have jumped the gun here. :)

-N.
[ Reply To This | View ]
  • Re: Compiler Bashing
    by me on Friday 15/Jun/2001, @22:01
    while you're at it, when will we be able to post html again? seems like you can *grin*
    [ Reply To This | View ]
  • Re: Compiler Bashing
    by Carlos Rodrigues on Sunday 17/Jun/2001, @13:56
    I guess gcc 3.0 will also be useless as a development platform for you since it behaves just like gcc 2.96 relating source level compatibility. If your code breaks gcc 2.96 it will break gcc 3.0.
    [ Reply To This | View ]
    • Re: Compiler Bashing
      by Navindra Umanee on Sunday 17/Jun/2001, @15:49
      Oh yeah? And if I turn off optimization flags it will compile certain things as opposed to when I turn them on (stuff that works on the stable version)? How comforting.

      Sigh. Why aren't they fixing this? And how do you know they aren't going to fix this?
      [ Reply To This | View ]
      • Re: Compiler Bashing
        by Carlos Rodrigues on Sunday 17/Jun/2001, @16:24
        2.96 probably does more optimizations to the code than the stable version.
        If those problems are compiler bugs, I'm sure they will fix them (they should). But nonoptimized/optimized code problems do not always mean compiler bugs, optimizations could just show bugs in the code that otherwise go unnoticed. Don't just go ahead and say it's the compiler's fault.
        I'm not saying that 2.96 that comes with RedHat is the best thing since sliced bread but it's not as bad as people say it is, I think it is rather good (for a stabilized cvs snapshot anyway, but I would also say it's better than the 2.95.x series), after all, they compiled a whole distribution with it including the kernel (and the kernel is well known to break some compilers, mostly due to kernel bugs but sometimes due to compiler bugs).
        [ Reply To This | View ]
        • Re: Compiler Bashing
          by Navindra Umanee on Sunday 17/Jun/2001, @16:34
          Instead of the hand-waving, I respectfully suggest you check out SableVM yourself and the compilation errors first hand -- try to fix them even. I gave you the link in the original comment. :-)

          I don't know about Red Hat though. I'm using Mandrake 8.0 which I presume took the broken compiler from Red Hat. Because that's what they do.
          [ Reply To This | View ]
  • Re: Compiler Bashing
    by A Sad Person on Sunday 17/Jun/2001, @15:59
    Well, in my experience LM8.0 gcc is better than LM7.2 one, which would crash fequently when compiling KDE. This used to be quite frustrating - since building it takes quite long already, but of course the rewards are quite big - the KDE developers code very fast ;-)

    No such problem with LM8.0 gcc - BTW, have you tried the latest builds from Cooker? Those have some additional bugfixes which may just end up relevant.

    [ Reply To This | View ]
    • Re: Compiler Bashing
      by Navindra Umanee on Sunday 17/Jun/2001, @16:09
      Hmmm, I didn't use 7.2 very long (2-3 weeks) before I upgraded to 8.0 but I didn't have any problems with the compiler, and at least it compiled SableVM so I could do my work.

      Haven't checked Cooker, thanks for the tip. It's probably easier for me to go backwards to a stable platform though. :(

      Cheers,
      Navin.
      [ Reply To This | View ]
Re: Focus on Infusion
by Carbon on Friday 15/Jun/2001, @20:06
>"Most of gcc 2.96's perceived "bugs" are actually broken code that older gccs accepted because they were not standards compliant"

When something worked before, and now it's broken, I call that adding bugs, not removing them :-)

Seriously though, although being standards compliant is good, especially for porting to other compilers or architectures, it's the compilers job to compile as well as possible, even if that means accepting code that is written uncleanly.
[ Reply To This | View ]
Re: Focus on Infusion
by Chad Kitching on Saturday 16/Jun/2001, @02:45
GCC 2.96 in RedHat 7.x and Mandrake 8.0 in general is a Bad Thing. Both of these platforms are commonly used as a development platform for commercial applications. Because of the fact the C++ ABI in GCC 2.96 is different from GCC 2.95 and will be different from even GCC 3.0, this should make RH7.x unsuitable as a commercial development platform, because you end up locking yourself to that platform and that platform alone. If you were developing GTK apps, this is unlikely to cause a problem, but for QT and other C++ apps, this can be the difference from your program working everywhere and it working nowhere but RH7.x...
Those who focus on the inability of GCC 2.96 to compile their favorite app as a sign of it's bugginess are wrong to blame the compiler. The C++ ABI changes are the reason why 2.96 should not be used (even a 2.95.4 pre-release version would've been a better idea).
[ Reply To This | View ]
  • Re: Focus on Infusion
    by Guillaume Laurent on Saturday 16/Jun/2001, @06:27
    > The C++ ABI changes are the reason why 2.96 should not be used

    ABI compatibility problems are just a fact of life in C++ development. If you release binary packages, you just release one for each kind of compiler your customer uses, there is no "locking in". All software vendors do that.
    [ Reply To This | View ]
    • Re: Focus on Infusion
      by thierry on Saturday 16/Jun/2001, @10:07
      >If you release binary packages, you just release one for each kind of compiler your customer uses
      >All software vendors do that.

      Yes, and each new incompatible platform have a price !!

      Ok Redhat 7.x (gcc 2.96) have binary incompatibility with GCC 2.95
      But if there is another binary incompatibility between 2.96 and 3.0
      You end with 3 incompatible version of redhat in 10 month => No professional

      Today I prefer the way Suse manage this problem.
      [ Reply To This | View ]
      • Re: Focus on Infusion
        by Guillaume Laurent on Saturday 16/Jun/2001, @10:12
        > You end with 3 incompatible version of redhat in 10 month

        Assuming that gcc 3.0 is immediately used by RH as soon as it's out, which is quite unlikely to say the least.

        Plus at the time they took the decision to use gcc 2.96, there was no telling when 3.0 would come out.
        [ Reply To This | View ]

 
The Fine Print: The previous comments are owned by whomever posted them.
( Reply )

  "If there is smoke, there could be a fire." -- Konqi
KDE®, "K Desktop Environment", "KDE Dot News", "got the dot?" and the KDE Logo® are trademarks or registered trademarks of KDE e.V. in the European Union, the United States and other countries. All other trademarks and copyrights on this page are owned by their respective owners. Comments are owned by the poster. The rest: Copyright © 2000-2008 KDE e.V. for The KDE Project. For further information or comments on this site, please contact the Webmaster.
[ home | post article | flat forty | subscribe | search | rdf ]