From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1765 invoked by alias); 24 Apr 2010 10:10:47 -0000 Received: (qmail 1738 invoked by uid 48); 24 Apr 2010 10:10:34 -0000 Date: Sat, 24 Apr 2010 10:10:00 -0000 Subject: [Bug bootstrap/43878] New: Building a cross gcc fails due to a bug in the build process X-Bugzilla-Reason: CC Message-ID: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "fgn123 at freenet dot de" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-04/txt/msg02567.txt.bz2 I am building gcc 4.4.3 with the following ./configure command line: ../gcc-4.4.3/configure --prefix=/some_path/build_tools --program-prefix=build-tool- --build=i686-pc-linux-gnu --host=i686-buildtools-linux-gnu --with-gmp-include=/some_path/build_tools/include --with-gmp-lib=/some_path/build_tools/lib --with-mpfr-include=/some_path/build_tools/include --with-mpfr-lib=/some_path/build_tools/lib --with-ld=/some_path/build_tools/bin/build-tool-ld --with-as=/some_path/build_tools/bin/build-tool-as --disable-nls --disable-shared --disable-multilib --disable-decimal-float --disable-threads --disable-libmudflap --disable-libssp --disable-libgomp --disable-bootstrap --enable-languages=c During the build process, libdecnumber is compiled - which works fine, as the libdecnumber/configure script sets "enable_decimal_float" to "bid", regardless of the "disable-decimal-float" option that was given on the toplevel configure command line. The following code was extracted from libdecnumber/configure.ac: # x86's use BID format instead of DPD # In theory --enable-decimal-float=no should not compile anything # For the sake of simplicity, just use the default format in this directory if test x$enable_decimal_float = xyes -o x$enable_decimal_float = xno; then case $target in i?86*-*-linux* | x86_64*-*-linux*) enable_decimal_float=bid ;; *) enable_decimal_float=dpd ;; esac fi Later in the build process, gcc configures libgcc: >> Checking multilib configuration for libgcc... >> mkdir -p -- i686-buildtools-linux-gnu/libgcc >> Configuring in i686-buildtools-linux-gnu/libgcc libgcc/configure, in contrary to libdecnumber/configure, leaves "enable_decimal_float" set to "no". The following code is extracted from libgcc/configure.ac: # x86's use BID format instead of DPD if test x$enable_decimal_float = xyes; then case $host in i?86*-*-linux* | x86_64*-*-linux*) enable_decimal_float=bid ;; *) enable_decimal_float=dpd ;; esac fi The resulting libgcc/Makefile then tries to build libdecnumber and fails, as the relevant libdecnumber/bid/* files are not included. This is an extract from libgcc/Makefile in: ifeq ($(decimal_float),yes) ifeq ($(enable_decimal_float),bid) DECNUMINC = -I$(srcdir)/config/libbid -DENABLE_DECIMAL_BID_FORMAT else DECNUMINC = -I$(srcdir)/../libdecnumber/$(enable_decimal_float) \ -I$(srcdir)/../libdecnumber endif else DECNUMINC = endif "decimal_float" is "yes" on my system, "enable_decimal_float" is "no". So with "DECNUMINC" being >> -I$(srcdir)/../libdecnumber/$(enable_decimal_float) \ >> -I$(srcdir)/../libdecnumber the build: cc -g -O2 -O2 -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wcast-qual -Wold-style-definition -isystem ./include -fPIC -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I../.././gcc -I../../../gcc-4.4.3/libgcc -I../../../gcc-4.4.3/libgcc/. -I../../../gcc-4.4.3/libgcc/../gcc -I../../../gcc-4.4.3/libgcc/../include -I../../../gcc-4.4.3/libgcc/../libdecnumber/no -I../../../gcc-4.4.3/libgcc/../libdecnumber -DHAVE_CC_TLS -DUSE_TLS -o decLibrary.o -MT decLibrary.o -MD -MP -MF decLibrary.dep -c ../../../gcc-4.4.3/libgcc/../libdecnumber/decLibrary.c of course fails with errors of this kind: ../../../gcc-4.4.3/libgcc/../libdecnumber/decLibrary.c:27:24: error: decimal128.h: No such file or directory Yes, I can circumvent this by simply setting --decimal-float=bid or not setting --decimal-float at all, but I guess some fine tuning regarding the building of libdecnumber is required as well. Thanks a lot, Frank -- Summary: Building a cross gcc fails due to a bug in the build process Product: gcc Version: 4.4.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: fgn123 at freenet dot de GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-buildtools-linux-gnu GCC target triplet: i686-buildtools-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43878