[Coin-discuss] Building shared libraries with gcc 3 
    Ted Ralphs 
    tkralphs at lehigh.edu
       
    Thu Feb 16 20:02:53 EST 2006
    
    
  
We are currently in the process of building a set of precompiled COIN 
libraries that will be made available for download. I am working on 
compiling the Linux binaries on a system on which gcc 4.0 and gcc 3.4 
are both installed. Unfortunately, I can't seem to compile shared 
libraries with gcc 3.4 anymore, even though I'm sure it used to work 
before I upgraded to gcc 4.0. Actually, to be precise, the compilation 
isn't the problem, it's the linking. At link time, I get lots of errors like
`.L355' referenced in section `.rodata' of Linux-g/CoinPresolveSubst.o:
defined in discarded section `.gnu.linkonce.t._Z9CoinZeroNIcEvPT_i' of
Linux-g/CoinPresolveSubst.o
These errors go away if I remove the -fPIC argument, but this makes the 
resulting libraries fairly useless. Googling
"referenced in section `.rodata' defined in discarded section"
gives lots of hits with lots of theories about the source of the error. 
The most likely suspect seems to be that if you want to use an old 
version of gcc, you also have to have a matching version of binutils. 
Before I go to the trouble of trying to install an older version of 
binutils, can someone who is using gcc 3 on Linux verify that the main 
COIN libraries can be built from the code currently in CVS? Any ideas 
about what this problem would also be welcome. Thanks for your help!
Cheers,
Ted
-- 
Dr. Ted Ralphs
Assistant Professor
Industrial and Systems Engineering
Lehigh University
(610)758-4784
tkralphs at lehigh.edu
www.lehigh.edu/~tkr2
    
    
More information about the Coin-discuss
mailing list