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.

Reply via email to