public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug bootstrap/43878]  New: Building a cross gcc fails due to a bug in the build process
@ 2010-04-24 10:10 fgn123 at freenet dot de
  0 siblings, 0 replies; only message in thread
From: fgn123 at freenet dot de @ 2010-04-24 10:10 UTC (permalink / raw)
  To: gcc-bugs

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


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2010-04-24 10:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-04-24 10:10 [Bug bootstrap/43878] New: Building a cross gcc fails due to a bug in the build process fgn123 at freenet dot de

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).