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

François Galea francois.galea at prism.uvsq.fr
Tue Aug 2 04:17:35 EDT 2005


Hi,

The problem is gcc version 2.96. Try to upgrade your version of gcc, or 
your linux distribution.

please have a look at http://gcc.gnu.org/gcc-2.96.html

François


Kish Shen a écrit :
> Hi,
> 
> (I am sending this again as my original message was held, probably because
> the email was sent with my username, rather than the email address I
> registered with the list, which uses my name rather than username...)
> 
> I downloaded various COIN-OR components last week, from the 28 July 2005
> tarballs. I was able to compile the components with g++ 3.2.2 (on Linux),
> but unfortunately I am unable to run this on most of our Linux machines on
> our network, which have older versions of Linux (missing libraries, etc.).
> 
> I then tried to compile COIN-OR on this older Linux:
> 
> worm: g++ -v
> Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs
> gcc version 2.96 20000731 (Red Hat Linux 7.3 2.96-113)
> worm: uname -a
> Linux worm.icparc.ic.ac.uk 2.4.18-18.7.X-perfctr #2 Tue Dec 10 12:15:10 GMT 2002 i686 unknown
> 
> which should have a sufficiently recent g++, according to the INSTALL.
> However, I ran into several problems, some of which I was able to work
> around, but on trying to compile Clp, I got a segmentation error, with the
> following message:
> 
> Compiling ClpSimplexNonlinear.cpp
> ClpSimplexNonlinear.cpp: In method `int 
> ClpSimplexNonlinear::pivotColumn (CoinIndexedVector *, 
> CoinIndexedVector *, CoinIndexedVector *, CoinIndexedVector *, int &, 
> double &, double *)':
> ClpSimplexNonlinear.cpp:2366: Internal error: Segmentation fault.
> Please submit a full bug report.
> See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions.
> make[2]: *** [Linux-O/ClpSimplexNonlinear.o] Error 2
> 
> Thinking this is a g++ problem, I then tried to simplify the code in
> ClpSimplexNonlinear.cpp, and the following seem to be the minimal code that
> will generate a seg fault:
> 
> int 
> ClpSimplexNonlinear::pivotColumn(CoinIndexedVector * longArray,
> 				 CoinIndexedVector * rowArray,
> 				 CoinIndexedVector * columnArray,
> 				 CoinIndexedVector * spare,
> 				 int & pivotMode,
> 				 double & solutionError,
> 				 double * dArray)
> {
>   // say not optimal
>   
>     int numberTotal = numberRows_+numberColumns_; 
>   // big big loop
>     double * work=0;
>     
> 	memcpy(dArray,work,numberTotal*sizeof(double));
>       
> 
> 	int nFlagged=0;
> 	for (;;) {
> 	    switch(getStatus(0)) {
> 	      
> 	    case basic:
> 	    case ClpSimplex::isFixed:
> 	      break;
> 	    case atUpperBound:
> 	    case atLowerBound:
> 	      if (dj_[0]) 
> 		nFlagged++;
> 	      break;
> 	    }
> 	    
> 	}
> 	
> }
> 
> I get a different error message in this case:
> 
> Compiling ClpSimplexNonlinear.cpp
> include/ClpModel.hpp: In method `int ClpSimplexNonlinear::pivotColumn 
> (CoinIndexedVector *, CoinIndexedVector *, CoinIndexedVector *, 
> CoinIndexedVector *, int &, double &, double *)':
> include/ClpModel.hpp:864: Internal error: Segmentation fault.
> 
> and line 864 of ClpModel.hpp is:
> 
>   std::vector<std::string> rowNames_;
> 
> Any ideas how I can work around this?
> 
> On a slightly different topic: is there some way I can find out the Clp
> version from the source files? I was trying to find it so that I can report
> the version of Clp I am using.
> 
> Thanks in advance for any information/help!
> 
> 
> Yours sincerely,
> 
> Kish Shen
> _______________________________________________
> Coin-lpsolver mailing list
> Coin-lpsolver at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-lpsolver
> 
> 




More information about the Clp mailing list