This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug bootstrap/42663] New: GCC 4.5-20100107 doesn't bootstrap on MinGW/MSYS


According to the GCC 4.5 Release Criteria at
http://gcc.gnu.org/gcc-4.5/criteria.html , MinGW is a secondary platform and
should be able to bootstrap successfully. GCC 4.5-20100107 contains the fix for
42584 and builds on MinGW/MSYS with --disable-bootstrap, but it still doesn't
bootstrap.

Here is my build process in precise detail.

Step 1. Extract to C:\Temp\gcc\msys (or any other location separate from the
working directories used here):

http://sourceforge.net/projects/mingw/files/ > MSYS Base System > msys-1.0.11 >
msysCORE-1.0.11-bin.tar.gz
http://sourceforge.net/projects/mingw/files/ > MSYS Bison > bison-2.4.1-1 >
bison-2.4.1-1-msys-1.0.11-bin.tar.lzma
http://sourceforge.net/projects/mingw/files/ > MSYS Flex > flex-2.5.35-1 >
flex-2.5.35-1-msys-1.0.11-bin.tar.lzma
http://sourceforge.net/projects/mingw/files/ > MSYS regex > regex-1.20090805-1
> libregex-1.20090805-1-msys-1.0.11-dll-1.tar.lzma

Step 2. Save decompressed .tar files to C:\Temp\gcc\sources (this is a staging
area separate from the working directories used here):

http://sourceforge.net/projects/mingw/files/ > MinGW Runtime > mingwrt-3.17 >
mingwrt-3.17-mingw32-dev.tar.gz
http://sourceforge.net/projects/mingw/files/ > MinGW API for MS-Windows >
w32api-3.14 > w32api-3.14-mingw32-dev.tar.gz
ftp://gcc.gnu.org/pub/gcc/snapshots/4.5-20100107/gcc-core-4.5-20100107.tar.bz2
ftp://gcc.gnu.org/pub/gcc/snapshots/4.5-20100107/gcc-g++-4.5-20100107.tar.bz2
ftp://ftp.gmplib.org/pub/gmp-4.3.1/gmp-4.3.1.tar.bz2
http://www.mpfr.org/mpfr-current/mpfr-2.4.2.tar.bz2
http://www.mpfr.org/mpfr-current/patches (renamed to mpfr-2.4.2.patch)
http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz

Step 3. In MSYS, run the following commands. This uses C:\Temp\gcc\src ,
C:\Temp\gcc\build , and C:\Temp\gcc\dest as working directories.

cd /c/temp/gcc/sources
tar -C /c/temp/gcc -xf gcc-core-4.5-20100107.tar
tar -C /c/temp/gcc -xf gcc-g++-4.5-20100107.tar
tar -C /c/temp/gcc -xf gmp-4.3.1.tar
tar -C /c/temp/gcc -xf mpfr-2.4.2.tar
patch -Z -d /c/temp/gcc/mpfr-2.4.2 -p1 < mpfr-2.4.2.patch
tar -C /c/temp/gcc -xf mpc-0.8.1.tar
mkdir -p /include
rm -rf /mingw
mkdir /mingw
tar -C /mingw -xf mingwrt-3.17-mingw32-dev.tar
tar -C /mingw -xf w32api-3.14-mingw32-dev.tar
cd /c/temp/gcc
mv gcc-4.5-20100107 src
mv gmp-4.3.1 src/gmp
mv mpfr-2.4.2 src/mpfr
mv mpc-0.8.1 src/mpc
mkdir build dest
cd build

../src/configure --prefix=c:/temp/gcc/dest --enable-languages=c,c++
--enable-threads --disable-nls --disable-win32-registry
--disable-sjlj-exceptions --with-arch=i486 --with-tune=generic
--enable-cxx-flags='-fno-function-sections -fno-data-sections'
--disable-libstdcxx-pch --disable-shared --enable-checking=release
--disable-symvers --enable-fully-dynamic-string

make

This fails with:

echo timestamp > s-fixinc_list
rm -rf include-fixed; mkdir include-fixed
chmod a+rx include-fixed
if [ -d ../prev-gcc ]; then \
          cd ../prev-gcc && \
          make real-install-headers-tar DESTDIR=`pwd`/../gcc/ \
            libsubdir=. ; \
        else \
          set -e; for ml in `cat fixinc_list`; do \
            sysroot_headers_suffix=`echo ${ml} | sed -e 's/;.*$//'`; \
            multi_dir=`echo ${ml} | sed -e 's/^[^;]*;//'`; \
            fix_dir=include-fixed${multi_dir}; \
            if ! false && test ! -d `echo /mingw/include | sed -e :a -e
's,[^/]*/\.\.\/,,' -e ta`; then \
              echo The directory that should contain system headers does not
exist: >&2 ; \
              echo "  `echo /mingw/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e
ta`" >&2 ; \
              tooldir_sysinc=`echo
"c:/temp/gcc/dest/lib/gcc/i686-pc-mingw32/4.5.0/../../../../i686-pc-mingw32/sys-include"
| sed -e :a -e "s,[^/]*/\.\.\/,," -e ta`; \
              if test "x`echo /mingw/include | sed -e :a -e 's,[^/]*/\.\.\/,,'
-e ta`" = "x${tooldir_sysinc}"; \
              then sleep 1; else exit 1; fi; \
            fi; \
            /bin/sh ../../src/gcc/../mkinstalldirs ${fix_dir}; \
            chmod a+rx ${fix_dir} || true; \
            (TARGET_MACHINE='i686-pc-mingw32'; srcdir=`cd ../../src/gcc;
${PWDCMD-pwd}`; \
              SHELL='/bin/sh'; MACRO_LIST=`${PWDCMD-pwd}`/macro_list ; \
              gcc_dir=`${PWDCMD-pwd}` ; \
              export TARGET_MACHINE srcdir SHELL MACRO_LIST && \
              cd ../build-i686-pc-mingw32/fixincludes && \
              /bin/sh ./fixinc.sh "${gcc_dir}/${fix_dir}" \
                `echo /mingw/include | sed -e :a -e 's,[^/]*/\.\.\/,,' -e ta` 
); \
            rm -f ${fix_dir}/syslimits.h; \
            if [ -f ${fix_dir}/limits.h ]; then \
              mv ${fix_dir}/limits.h ${fix_dir}/syslimits.h; \
            else \
              cp ../../src/gcc/gsyslimits.h ${fix_dir}/syslimits.h; \
            fi; \
            chmod a+r ${fix_dir}/syslimits.h; \
          done; \
        fi
make[4]: Entering directory `/c/temp/gcc/build/prev-gcc'
../../src/gcc/cp/Make-lang.in:187: *** target pattern contains no `%'.  Stop.
make[4]: Leaving directory `/c/temp/gcc/build/prev-gcc'
make[3]: *** [stmp-fixinc] Error 2
make[3]: Leaving directory `/c/temp/gcc/build/gcc'
make[2]: *** [all-stage2-gcc] Error 2
make[2]: Leaving directory `/c/temp/gcc/build'
make[1]: *** [stage2-bubble] Error 2
make[1]: Leaving directory `/c/temp/gcc/build'
make: *** [all] Error 2


-- 
           Summary: GCC 4.5-20100107 doesn't bootstrap on MinGW/MSYS
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: critical
          Priority: P3
         Component: bootstrap
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: lxndrmxwll at gmail dot com
 GCC build triplet: i686-pc-mingw32
  GCC host triplet: i686-pc-mingw32
GCC target triplet: i686-pc-mingw32


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42663


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]