On 9/25/2014 8:56 AM, Steven Bosscher wrote: > Hello, > > I'd like to bootstrap GCC5 on cygwin64, but my builds fail. > > The tail of my buildlog looks like this: > > ----- 8< ----- > make[3]: Leaving directory '/home/steven/devel/build-orig/gcc' > mkdir -p -- x86_64-unknown-cygwin/libgcc > Checking multilib configuration for libgcc... > Configuring stage 1 in x86_64-unknown-cygwin/libgcc > configure: creating cache ./config.cache > checking build system type... x86_64-unknown-cygwin > checking host system type... x86_64-unknown-cygwin > checking for --enable-version-specific-runtime-libs... no > checking for a BSD-compatible install... /usr/bin/install -c > checking for gawk... gawk > checking for x86_64-unknown-cygwin-ar... ar > checking for x86_64-unknown-cygwin-lipo... lipo > checking for x86_64-unknown-cygwin-nm... /home/steven/devel/build-orig/./gcc/nm > checking for x86_64-unknown-cygwin-ranlib... ranlib > checking for x86_64-unknown-cygwin-strip... strip > checking whether ln -s works... yes > checking for x86_64-unknown-cygwin-gcc... > /home/steven/devel/build-orig/./gcc/xgcc > -B/home/steven/devel/build-orig/./gcc/ > -B/usr/local/x86_64-unknown-cygwin/bin/ > -B/usr/local/x86_64-unknown-cygwin/lib/ -isystem > /usr/local/x86_64-unknown-cygwin/include -isystem > /usr/local/x86_64-unknown-cygwin/sys-include > checking for C compiler default output file name... > configure: error: in > `/home/steven/devel/build-orig/x86_64-unknown-cygwin/libgcc': > configure: error: C compiler cannot create executables > See `config.log' for more details. > Makefile:13857: recipe for target 'configure-stage1-target-libgcc' failed > make[2]: *** [configure-stage1-target-libgcc] Error 77 > make[2]: Leaving directory '/home/steven/devel/build-orig' > Makefile:18001: recipe for target 'stage1-bubble' failed > make[1]: *** [stage1-bubble] Error 2 > make[1]: Leaving directory '/home/steven/devel/build-orig' > Makefile:894: recipe for target 'all' failed > make: *** [all] Error 2 > ----- 8< ----- > > > The problem is in configure for libgcc. config.log shows this: > > ----- 8< ----- > configure:3379: $? = 1 > configure:3395: /home/steven/devel/build-orig/./gcc/xgcc > -B/home/steven/devel/build-orig/./gcc/ > -B/usr/local/x86_64-unknown-cygwin/bin/ > -B/usr/local/x86_64-unknown-cygwin/lib/ -isystem > /usr/local/x86_64-unknown-cygwin/include -isystem > /usr/local/x86_64-unknown-cygwin/sys-include -o conftest -g -O2 > conftest.c >&5 > /usr/lib/gcc/x86_64-pc-cygwin/4.8.3/../../../../x86_64-pc-cygwin/bin/ld: > cannot find crtbegin.o: No such file or directory > /usr/lib/gcc/x86_64-pc-cygwin/4.8.3/../../../../x86_64-pc-cygwin/bin/ld: > cannot find -lgcc_s > /usr/lib/gcc/x86_64-pc-cygwin/4.8.3/../../../../x86_64-pc-cygwin/bin/ld: > cannot find -lgcc > /usr/lib/gcc/x86_64-pc-cygwin/4.8.3/../../../../x86_64-pc-cygwin/bin/ld: > cannot find -lgcc_s > /usr/lib/gcc/x86_64-pc-cygwin/4.8.3/../../../../x86_64-pc-cygwin/bin/ld: > cannot find -lgcc > /usr/lib/gcc/x86_64-pc-cygwin/4.8.3/../../../../x86_64-pc-cygwin/bin/ld: > cannot find crtend.o: No such file or directory > configure:3398: $? = 0 > configure:3427: checking for C compiler default output file name > configure:3449: /home/steven/devel/build-orig/./gcc/xgcc > -B/home/steven/devel/build-orig/./gcc/ > -B/usr/local/x86_64-unknown-cygwin/bin/ > -B/usr/local/x86_64-unknown-cygwin/lib/ -isystem > /usr/local/x86_64-unknown-cygwin/include -isystem > /usr/local/x86_64-unknown-cygwin/sys-include -g -O2 conftest.c >> &5 > /usr/lib/gcc/x86_64-pc-cygwin/4.8.3/../../../../x86_64-pc-cygwin/bin/ld: > cannot find crtbegin.o: No such file or directory > /usr/lib/gcc/x86_64-pc-cygwin/4.8.3/../../../../x86_64-pc-cygwin/bin/ld: > cannot find -lgcc_s > /usr/lib/gcc/x86_64-pc-cygwin/4.8.3/../../../../x86_64-pc-cygwin/bin/ld: > cannot find -lgcc > /usr/lib/gcc/x86_64-pc-cygwin/4.8.3/../../../../x86_64-pc-cygwin/bin/ld: > cannot find -lgcc_s > /usr/lib/gcc/x86_64-pc-cygwin/4.8.3/../../../../x86_64-pc-cygwin/bin/ld: > cannot find -lgcc > /usr/lib/gcc/x86_64-pc-cygwin/4.8.3/../../../../x86_64-pc-cygwin/bin/ld: > cannot find crtend.o: No such file or directory > configure:3453: $? = 0 > configure:3490: result: > 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:3496: error: in > `/home/steven/devel/build-orig/x86_64-unknown-cygwin/libgcc': > configure:3500: error: C compiler cannot create executables > See `config.log' for more details. > ----- 8< ----- > > > I've seen builds fail this way before and just gave up, but this time > I'd like to know: What am I doing wrong?! > > Configuration same as Tim Prince (in CC) who reports test results for > this on gcc-testresults: > ----- 8< ----- > $ cat gcc/configargs.h > /* Generated automatically. */ > static const char configuration_arguments[] = "../trunk/configure > --target=x86_64-unknown-cygwin --enable-languages=c,c++,fortran > --disable-libsanitizer --enable-libgomp --enable-threads=posix > --disable-__cxa_atexit --with-dwarf2 --without-libiconv-prefix > --without-libintl-prefix --with-system-zlib --disable-werror > --without-cloog --without-isl --disable-nls"; > static const char thread_model[] = "posix"; > > static const struct { > const char *name, *value; > } configure_default_options[] = { { "cpu", "generic" }, { "arch", "x86-64" } }; > ----- 8< ----- > > configure:3395 normally fails this way. Then it proceeds to configure:3586: checking for suffix of object.... My configure line: ../configure --prefix=/usr/local/gcc5.0 --enable-languages='c c++ fortran' --enable-libgomp --enable-threads=posix --disable-__cxa_atexit --with-dwarf2 --without-libiconv-prefix --without-libintl-prefix --with-system-zlib --disable-werror --without-cloog --without-isl When I bootstrap from a distributed gcc, I normally use 4.9.0, whose libraries work also with 5.0. 4.9 is more reliable than 4.8.3, at least when using -march=native on an AVX2. I have frequently to clean out the build directory and reconfigure after updating by svn (that usually overcomes those stage1-bubble failures). svn update is slow enough that it may be incomplete due to updates being posted while I am updating.