http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61104
Bug ID: 61104 Summary: Solaris configured without --with-system-zlib fails due to extra folder depth of multi-lib Product: gcc Version: 4.9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap Assignee: unassigned at gcc dot gnu.org Reporter: gnugcc at marino dot st The situation is that gcc is configured on x86-64 solaris for a full multilib bootstrap with no "--with-system-zlib" input passed. For completeness, the full configuration is here: $ /mech/pkgsrc-work/lang/gcc-aux/work/gcc-4.9.0/configure --enable-languages=c ada c++ --build=x86_64-aux-solaris2.11 --prefix=/usr/pkg/gcc-aux --enable-threads=posix --disable-libmudflap --disable-libgomp --disable-libssp --disable-libquadmath --disable-nls --disable-shared --disable-lto --disable-libstdcxx-pch --enable-multilib --with-gnu-as --with-as=/usr/pkg/bin/gas --without-gnu-ld --with-ld=/usr/bin/ld The build breaks in stage 2 here: Configuring stage 2 in ./libbacktrace Adding multilib support to Makefile in /mech/pkgsrc-work/lang/gcc-aux/work/gcc- multidirs=32 with_multisubdir= Running configure in multilib subdirs 32 pwd: /mech/pkgsrc-work/lang/gcc-aux/work/build/zlib Running configure in multilib subdir 32 pwd: /mech/pkgsrc-work/lang/gcc-aux/work/build mkdir 32 configure: creating cache ./config.cache checking build system type... x86_64-aux-solaris2.11 checking host system type... x86_64-aux-solaris2.11 checking target system type... x86_64-aux-solaris2.11 checking for x86_64-aux-solaris2.11-gcc... /mech/pkgsrc-work/lang/gcc-aux/work checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether /mech/pkgsrc-work/lang/gcc-aux/work/build/./prev-gcc/xgcc -B/ checking for /mech/pkgsrc-work/lang/gcc-aux/work/build/./prev-gcc/xgcc -B/mech checking how to run the C preprocessor... configure: creating cache ./config.ca checking build system type... /mech/pkgsrc-work/lang/gcc-aux/work/build/./prev x86_64-aux-solaris2.11 checking host system type... checking for grep that handles long lines and -e.. checking target system type... /bin/ggrep checking for egrep... /bin/ggrep -E checking for ANSI C header files... x86_64-aux-solaris2.11 checking for a BSD-compatible install... /bin/install -c checking whether build environment is sane... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking minix/config.h usability... no checking minix/config.h presence... no checking for minix/config.h... no checking whether it is safe to define __EXTENSIONS__... yes checking for x86_64-aux-solaris2.11-strip... no checking for strip... strip checking for a thread-safe mkdir -p... /mech/pkgsrc-work/lang/gcc-aux/work/gcc- checking for gawk... gawk checking whether /usr/pkg/bin/gmake sets $(MAKE)... yes checking whether to enable maintainer-specific portions of Makefiles... no checking for x86_64-aux-solaris2.11-gcc... /mech/pkgsrc-work/lang/gcc-aux/work/ yes checking for a BSD-compatible install... /bin/install -c checking whether build environment is sane... checking for suffix of object fil configure: error: cannot compute suffix of object files: cannot compile See `config.log' for more details. Makefile:12599: recipe for target 'configure-stage2-zlib' failed gmake[2]: *** [configure-stage2-zlib] Error 1 gmake[2]: *** Waiting for unfinished jobs.... The build/32/zlib/config.log contains this bit: configure:3444: checking for suffix of object files configure:3466: /mech/pkgsrc-work/lang/gcc-aux/work/build/32/./prev-gcc/xgcc -B/ mech/pkgsrc-work/lang/gcc-aux/work/build/32/./prev-gcc/ -B/usr/pkg/gcc-aux/x86_6 4-aux-solaris2.11/bin/ -B/usr/pkg/gcc-aux/x86_64-aux-solaris2.11/bin/ -B/usr/pkg /gcc-aux/x86_64-aux-solaris2.11/lib/ -isystem /usr/pkg/gcc-aux/x86_64-aux-solari s2.11/include -isystem /usr/pkg/gcc-aux/x86_64-aux-solaris2.11/sys-include -m32 -c -g -O2 conftest.c >&5 /mech/pkgsrc-work/lang/gcc-aux/work/gcc-4.9.0/zlib/configure[3468]: eval[1]: /me ch/pkgsrc-work/lang/gcc-aux/work/build/32/./prev-gcc/xgcc: not found [No such fi le or directory] configure:3470: $? = 127 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "" | #define PACKAGE_TARNAME "" | #define PACKAGE_VERSION "" | #define PACKAGE_STRING "" | #define PACKAGE_BUGREPORT "" | #define PACKAGE_URL "" | #define PACKAGE "zlib" | #define VERSION "1.1.4" | /* end confdefs.h. */ | | int | main () | { | | ; | return 0; | } configure:3484: error: in `/mech/pkgsrc-work/lang/gcc-aux/work/build/32/zlib': configure:3486: error: cannot compute suffix of object files: cannot compile There's a depth problem. From build/32, the path of gcc is "../prev-gcc/xgcc" not "./prev-gcc/xgcc" It looks like there's some kind of bug when the embedded zlib and multilib options are used together.