Cannot compile CVS version

Gregor Richards Richards at codu.org
Sun Dec 30 02:51:09 PST 2007


Dejan Lekic wrote:
> I get the following problem when trying to build latest (CVS) version of 
> GDC with enabled D2 support. Attached is my config.log.
> ================8<--------------------
> .
> .
> .
> checking If /root/src/build/./gcc/gdc -B/root/src/build/./gcc/ 
> -B/opt/gcc/i686-pc-linux-gnu/bin/ -B/opt/gcc/i686-pc-linux-gnu/lib/ 
> -isystem /opt/gcc/i686-pc-linux-gnu/include -isystem 
> /opt/gcc/i686-pc-linux-gnu/sys-include can compile D sources... 
> /root/src/build/./gcc/cc1d: /root/src/build/./gcc/libgcc_s.so.1: version 
> `GCC_4.2.0' not found (required by /usr/lib/libstdc++.so.6)
> no
> configure: error: can't compile D sources!
> make[1]: *** [configure-target-libphobos] Error 1
> make[1]: Leaving directory `/root/src/build'
> .
> .
> .
> ------------------->8=================
> 
> I'll try to fix this problem myself, but I am kinda confused with that 
> "GCC_4.2.0" - I have GCC 4.1 on my Linux box! :)
> 
> Kind regards
> 

Common problem. Do a `make distclean` (or even better, remove your build 
directory entirely), then configure with the options --enable-static 
--disable-shared. The problem is that it's getting system libraries 
confused with local libraries. Forcing it to make them all static 
eliminates this possibility.

Although you may have GCC 4.1 installed, the version of the GCC 
libraries (and libstdc++) is usually 4.2 on a modern system, because 
it's backwards compatible but 4.1 isn't forwards compatible. It only 
causes problems in particularly strange situations like this one.

  - Gregor Richards


More information about the D.gnu mailing list