Supposing that you're using $SOMEDIR/gdc to store everything, a rough description of the procedure would be:

    * Clone GDC master into gdc/dev

* Unzip the GCC source into gdc, which will give you a subdirectory
      called gcc-$VERSION (currently gcc-4.8.2)

    * cd into gdc/dev and run ./setup-gcc.sh ../gcc-4.8.2

    * cd back into gdc, create gdc/objdir, cd gdc/objdir

    * Run configure and make.

Here's how I like to run configure for a release build:

../gcc-4.8.2/configure --enable-languages=d --disable-multilib --enable-multiarch --enable-checking=release --prefix=/opt/gdc

You can miss off the --enable-multiarch -- which will also probably speed up your build time.

With this you shouldn't need to custom-set CPATH or LPATH. Does it work for you?

I'm using gcc 4.8.2 - procedure as you describe and as per gdcproject wiki

This is on 32bit Ubuntu 12.04

Console output prior to the error is:

...
make[2]: Entering directory `/home/steve/gdc/objdir/gcc'
make[2]: Leaving directory `/home/steve/gdc/objdir/gcc'
Checking multilib configuration for libgcc...
Configuring in i686-pc-linux-gnu/libgcc
configure: loading cache ./config.cache
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for --enable-version-specific-runtime-libs... no
checking for a BSD-compatible install... /usr/bin/install -c
checking for gawk... mawk
checking for i686-pc-linux-gnu-ar... ar
checking for i686-pc-linux-gnu-lipo... lipo
checking for i686-pc-linux-gnu-nm... /home/steve/gdc/objdir/./gcc/nm
checking for i686-pc-linux-gnu-ranlib... ranlib
checking for i686-pc-linux-gnu-strip... strip
checking whether ln -s works... yes
checking for i686-pc-linux-gnu-gcc... /home/steve/gdc/objdir/./gcc/xgcc -B/home/steve/gdc/objdir/./gcc/ -B/opt/gdc/i686-pc-linux-gnu/bin/ -B/opt/gdc/i686-pc-linux-gnu/lib/ -isystem /opt/gdc/i686-pc-linux-gnu/include -isystem /opt/gdc/i686-pc-linux-gnu/sys-include checking for suffix of object files... configure: error: in `/home/steve/gdc/objdir/i686-pc-linux-gnu/libgcc': configure: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.
make[1]: *** [configure-target-libgcc] Error 1
make[1]: Leaving directory `/home/steve/gdc/objdir'
make: *** [all] Error 2

The config.log file from .../gdc/objdir/gcc has the following errors I marked with ****:

xgcc: error: unrecognized command line option '-V'
**** xgcc: fatal error: no input files
compilation terminated.
configure:3358: $? = 1
configure:3347: /home/steve/gdc/objdir/./gcc/xgcc -B/home/steve/gdc/objdir/./gcc/ -B/opt/gdc/i686-pc-linux-gnu/bin/ -B/opt/gdc/i686-pc-linux-gnu/lib/ -isystem /opt/gdc/i686-pc-linux-gnu/include -isystem /opt/gdc/i686-pc-linux-gnu/sys-include -qversion >&5
**** xgcc: error: unrecognized command line option '-qversion'
**** xgcc: fatal error: no input files
compilation terminated.
configure:3358: $? = 1
configure:3374: /home/steve/gdc/objdir/./gcc/xgcc -B/home/steve/gdc/objdir/./gcc/ -B/opt/gdc/i686-pc-linux-gnu/bin/ -B/opt/gdc/i686-pc-linux-gnu/lib/ -isystem /opt/gdc/i686-pc-linux-gnu/include -isystem /opt/gdc/i686-pc-linux-gnu/sys-include -o conftest -g -O2 conftest.c >&5 **** /home/steve/gdc/objdir/./gcc/cc1: error while loading shared libraries: libmpfr.so.1: cannot open shared object file: No such file or directory
configure:3377: $? = 1
configure:3565: checking for suffix of object files
configure:3587: /home/steve/gdc/objdir/./gcc/xgcc -B/home/steve/gdc/objdir/./gcc/ -B/opt/gdc/i686-pc-linux-gnu/bin/ -B/opt/gdc/i686-pc-linux-gnu/lib/ -isystem /opt/gdc/i686-pc-linux-gnu/include -isystem /opt/gdc/i686-pc-linux-gnu/sys-include -c -g -O2 conftest.c >&5 **** /home/steve/gdc/objdir/./gcc/cc1: error while loading shared libraries: libmpfr.so.1: cannot open shared object file: No such file or directory
configure:3591: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "GNU C Runtime Library"
| #define PACKAGE_TARNAME "libgcc"
| #define PACKAGE_VERSION "1.0"
| #define PACKAGE_STRING "GNU C Runtime Library 1.0"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL "http://www.gnu.org/software/libgcc/";
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }
configure:3605: error: in `/home/steve/gdc/objdir/i686-pc-linux-gnu/libgcc': configure:3608: error: cannot compute suffix of object files: cannot compile
See `config.log' for more details.

There are xgcc errors, and a shared library for MPFR that can't be found.

The offending file libmpfr.so.1 is in /usr/local/lib, and the corresponding header file in /usr/local/include

Setting $LIBRARY_PATH and $CPATH to these values does not effect the outcome - they were initially blank - fails both ways. Where does the build process look for this.

Stumbling blindly
Steve

Reply via email to