www.digitalmars.com         C & C++   DMDScript  

D.gnu - Cannot compile CVS version

reply Dejan Lekic <dejan.lekic gmail.com> writes:
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
Dec 30 2007
parent reply Gregor Richards <Richards codu.org> writes:
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
Dec 30 2007
parent Dejan Lekic <dejan.lekic gmail.com> writes:
Thank you Gregor, it works now.
Jan 03 2008