This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/42663] New: GCC 4.5-20100107 doesn't bootstrap on MinGW/MSYS
- From: "lxndrmxwll at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 8 Jan 2010 18:41:29 -0000
- Subject: [Bug bootstrap/42663] New: GCC 4.5-20100107 doesn't bootstrap on MinGW/MSYS
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
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