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