Failing to build gcc-4.6.3 on Ubuntu 12.04 LTS - problem with _muldi3.o

Bill Harris
Thu Sep 5 07:19:00 GMT 2013

I am trying to build the gcc compiler (gcc-4.6.3) on my Ubuntu 12.04
LTS system (which also happens to have 4.6.3 installed as the
compiler).   I've tried two different approaches to downloading and
building the gcc compiler.   Both approaches fail, in different ways,
that involve _muldi3.o. =A0I will discuss my most recent failing
attempt below.

Following instructions I found at:, I issued the

sudo apt-get build-dep gcc-4.6<
wget ${MIRROR}/pub/gcc/releases/gcc-4.6.3/gcc-4.6.3.tar.bz2
tar -xjvf gcc-4.6.3.tar.bz2
mkdir gcc-4.6.3-build
cd gcc-4.6.3-build
../gcc-4.6.3/configure --prefix=/opt/gcc-4.6.3
       (this appeared to execute successfully)

The tail of the output from running; is as follows:

make[3]: Leaving directory `/home/bill/gcc-4.6.3-build/gcc'
mkdir -p -- i686-pc-linux-gnu/libgcc
Checking multilib configuration for libgcc...
Configuring stage 1 in i686-pc-linux-gnu/libgcc
configure: creating cache ./config.cache
checking for --enable-version-specific-runtime-libs... no
checking for a BSD-compatible install... /usr/bin/install -c
checking for gawk... gawk
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for i686-pc-linux-gnu-ar... ar
checking for i686-pc-linux-gnu-lipo... lipo
checking for i686-pc-linux-gnu-nm... /home/bill/gcc-4.6.3-build/./gcc/nm
checking for i686-pc-linux-gnu-ranlib... ranlib
checking for i686-pc-linux-gnu-strip... strip
checking whether ln -s works... yes
checking for i686-pc-linux-gnu-gcc...
-B/opt/gcc-4.6.3/i686-pc-linux-gnu/lib/ -isystem
/opt/gcc-4.6.3/i686-pc-linux-gnu/include -isystem
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /home/bill/gcc-4.6.3-build/./gcc/xgcc
-B/opt/gcc-4.6.3/i686-pc-linux-gnu/lib/ -isystem
/opt/gcc-4.6.3/i686-pc-linux-gnu/include -isystem
/opt/gcc-4.6.3/i686-pc-linux-gnu/sys-include    accepts -g... yes
checking for /home/bill/gcc-4.6.3-build/./gcc/xgcc
-B/opt/gcc-4.6.3/i686-pc-linux-gnu/lib/ -isystem
/opt/gcc-4.6.3/i686-pc-linux-gnu/include -isystem
/opt/gcc-4.6.3/i686-pc-linux-gnu/sys-include    option to accept ISO
C89... unsupported
checking how to run the C preprocessor... /lib/cpp
checking whether decimal floating point is supported... yes
checking whether fixed-point is supported... no
checking whether assembler supports CFI directives... yes
checking for __attribute__((visibility("hidden")))... yes
checking whether the target assembler supports thread-local storage... yes
checking whether the thread-local storage support is from emutls... no
configure: updating cache ./config.cache
configure: creating ./config.status
config.status: creating Makefile
config.status: executing default commands
Adding multilib support to Makefile in ../../../gcc-4.6.3/libgcc
make[3]: Entering directory
# If this is the top-level multilib, build all the other
# multilibs.
make[4]: Entering directory
if [ -z "" ]; then \
 true; \
else \
 rootpre=`${PWDCMD-pwd}`/; export rootpre; \
 srcrootpre=`cd ../../../gcc-4.6.3/libgcc; ${PWDCMD-pwd}`/; export srcrootpre; \
 lib=`echo "${rootpre}" | sed -e 's,^.*/\([^/][^/]*\)/$,\1,'`; \
-B/opt/gcc-4.6.3/i686-pc-linux-gnu/lib/ -isystem
/opt/gcc-4.6.3/i686-pc-linux-gnu/include -isystem
/opt/gcc-4.6.3/i686-pc-linux-gnu/sys-include   "; \
 for i in `${compiler} --print-multi-lib 2>/dev/null`; do \
   dir=`echo $i | sed -e 's/;.*$//'`; \
   if [ "${dir}" = "." ]; then \
     true; \
   else \
     if [ -d ../${dir}/${lib} ]; then \
flags=`echo $i | sed -e 's/^[^;]*;//' -e 's/@/ -/g'`; \
if (cd ../${dir}/${lib}; make "AR=ar" "AR_FLAGS=rc"
-B/opt/gcc-4.6.3/i686-pc-linux-gnu/lib/ -isystem
/opt/gcc-4.6.3/i686-pc-linux-gnu/include -isystem
/opt/gcc-4.6.3/i686-pc-linux-gnu/sys-include   " "CFLAGS=-g -O2"
"DESTDIR=" "EXTRA_OFILES=" "HDEFINES=" "INSTALL=/usr/bin/install -c"
"INSTALL_DATA=/usr/bin/install -c -m 644"
"INSTALL_PROGRAM=/usr/bin/install -c" "LDFLAGS=" "LOADLIBES="
"RANLIB=ranlib" "SHELL=/bin/bash" "prefix=/opt/gcc-4.6.3"
"exec_prefix=/opt/gcc-4.6.3" "libdir=/opt/gcc-4.6.3/lib"
"tooldir=/opt/gcc-4.6.3/i686-pc-linux-gnu" \
CFLAGS="-g -O2 ${flags}" \
CCASFLAGS=" ${flags}" \
FCFLAGS=" ${flags}" \
FFLAGS=" ${flags}" \
ADAFLAGS=" ${flags}" \
prefix="/opt/gcc-4.6.3" \
exec_prefix="/opt/gcc-4.6.3" \
GCJFLAGS=" ${flags}" \
GOCFLAGS="-O2 -g ${flags}" \
CXXFLAGS="-g -O2 -D_GNU_SOURCE ${flags}" \
LIBCFLAGS="-g -O2 ${flags}" \
LIBCXXFLAGS="-g -O2 -D_GNU_SOURCE -fno-implicit-templates ${flags}" \
LDFLAGS=" ${flags}" \
MULTIFLAGS="${flags}" \
INSTALL="/usr/bin/install -c" \
INSTALL_DATA="/usr/bin/install -c -m 644" \
INSTALL_PROGRAM="/usr/bin/install -c" \
INSTALL_SCRIPT="/usr/bin/install -c" \
all); then \
 true; \
else \
 exit 1; \
fi; \
     else true; \
     fi; \
   fi; \
 done; \
make[4]: Leaving directory `/home/bill/gcc-4.6.3-build/i686-pc-linux-gnu/libgcc'
-B/opt/gcc-4.6.3/i686-pc-linux-gnu/lib/ -isystem
/opt/gcc-4.6.3/i686-pc-linux-gnu/include -isystem
/opt/gcc-4.6.3/i686-pc-linux-gnu/sys-include    -g -O2 -O2  -g -O2
-DIN_GCC   -W -Wall -Wwrite-strings -Wcast-qual -Wstrict-prototypes
-Wmissing-prototypes -Wold-style-definition  -isystem ./include  -fPIC
-fno-stack-protector   -I. -I. -I../.././gcc
-I../../../gcc-4.6.3/libgcc -I../../../gcc-4.6.3/libgcc/.
-I../../../gcc-4.6.3/libgcc/config/libbid -DENABLE_DECIMAL_BID_FORMAT
-DHAVE_CC_TLS  -DUSE_TLS -o _muldi3.o -MT _muldi3.o -MD -MP -MF
_muldi3.dep -DL_muldi3 -c ../../../gcc-4.6.3/libgcc/../gcc/libgcc2.c \
 -fvisibility=hidden -DHIDE_EXPORTS
In file included from /usr/include/features.h:389:0,
                 from /usr/include/stdio.h:28,
                 from ../../../gcc-4.6.3/libgcc/../gcc/tsystem.h:87,
                 from ../../../gcc-4.6.3/libgcc/../gcc/libgcc2.c:29:
/usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such
file or directory
compilation terminated.
make[3]: *** [_muldi3.o] Error 1
make[3]: Leaving directory `/home/bill/gcc-4.6.3-build/i686-pc-linux-gnu/libgcc'
make[2]: *** [all-stage1-target-libgcc] Error 2
make[2]: Leaving directory `/home/bill/gcc-4.6.3-build'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory `/home/bill/gcc-4.6.3-build'
make: *** [all] Error 2

Can anyone help me?

Bill Harris

More information about the Gcc-help mailing list