[Coin-lpsolver] g++ seg. fault compiling Clp

Matthew Saltzman mjs at ces.clemson.edu
Tue Aug 2 12:28:14 EDT 2005


On Tue, 2 Aug 2005, Kish Shen wrote:

>
> Hi Francois,
>
> Thanks for your reply.
>
>> The problem is gcc version 2.96. Try to upgrade your version of gcc, or
>> your linux distribution.
>
> I don't really have control over this, and most of the machines on our
> network have a common setup to avoid version problems, and our system
> manager is reluctant to upgrade this to a newer version.
>
> In fact, we distribute our own software in binary form, and we specifically
> compile and build the system with gcc 2.95.2 on even older Linuxes, so that
> the binaries can run on a wide range of Linux versions.
>
>> please have a look at http://gcc.gnu.org/gcc-2.96.html
>
> Thanks, this was helpful, as I didn't know that gcc-2.96 is unstable. I
> reverted to using gcc-2.95.2 to build OSI, and I was able to compile
> everything except OsiXpr, which I was able to compile with gcc-2.96.

People often cite that Web page and infer that the Red Hat compilers that 
were distributed through Red Hat Linux 7.x were buggy crap with no 
redeeming value.  The actual history is somewhat more complicated.  The 
Red Hat compiler was forked off of the 2.96 development branch, but it had 
a lot of work done by Red Hat to improve it and make sure it satisfied 
their QA standards.  Most of that work was eventually folded back into the 
official compilers in version 3.x.

Red Hat's decision to branch off the development tree for the compilers in 
7.x was a sound technical decision at the time.  Trond Eivind Glomsrod was 
the Red Hat compiler guru at the time and wrote in response to a similar 
critique:

     ...2.96RH has fewer bugs, better C++ conformance, better code
     generation overall and is compatible with Red Hat Linux 7.1. Gcc 2.95
     isn't.

By and large, my experience was that he was right.  That doesn't mean it 
was bug free, of course (particularly in the early releases).  No compiler 
is.  But the real issue for developers was that other vendors weren't 
using that branch.  And the binary interfaces were going through a rapid 
series of changes, so binary compatibility (esp. in C++) was an issue if 
you built using that compiler and distributed to non-Red Hat users.
*Most* of the "bugs" that caused developers to rant about the 2.96RH 
compiler were failures of the developers' code to conform to C and C++ 
standards.

By the way, a similar argument took place when Fedora Core 4 came out a 
couple of months back with the gcc-4.0 compiler as its standard.

Now, compilers should not segfault.  So it is likely that you've 
enocuntered a real compiler bug in this case (although whether the code 
should compile or not is a matter of applying the standards).  As a 
community service, you might want to report it to bugzilla.redhat.com 
under the Fedora Legacy product and version 7.3.  That's probably the only 
way that this compiler would get fixed.

-- 
 		Matthew Saltzman

Clemson University Math Sciences
mjs AT clemson DOT edu
http://www.math.clemson.edu/~mjs



More information about the Clp mailing list