Building GCC Failed: stubs-32.h missing
ronf
ron@dock.net
Mon Feb 10 21:04:00 GMT 2014
I want to build gcc from source on my CentOS 6 x86-64 Linux system, but I am
having a serious problem with the "configure" scripts and make files. The
build process insists on accessing "stubs-32.h" even though my Linux system
lacks this header file. My system has stubs.h and stubs-64.h header files in
the /usr/include/gnu directory. The content of stubs.h is shown here:
/* This file selects the right generated file of `__stub_FUNCTION' macros
based on the architecture being compiled for. */
#include <bits/wordsize.h>
#if __WORDSIZE == 32
# include <gnu/stubs-32.h>
#elif __WORDSIZE == 64
# include <gnu/stubs-64.h>
#else
# error "unexpected value for __WORDSIZE macro"
#endif
The gcc source was obtained from ftp.gnu.org in the file gcc-4.8.2.tar.gz
along with source for the GMP 4.3.2, ISL 4.11.1, MPFR 2.4.2, MPC 0.8.1 and
CLooG 0.18.0 libraries. The GMP, ISL, MPFR, MPC and CLooG libraries build
easily using their "configure" scripts and make files. For the gcc build, I
let the configure script and make files for gcc also build the GMP, MPFR
and MPC libraries since the gcc build can do this.
In order to avoid the problem with the missing stubs-32.h file, I set the
environment variables with
export CFLAGS=-D__WORDSIZE=64
export CPPFLAGS=-D__WORDSIZE=64
export CXXFLAGS=-D__WORDSIZE=64
and used the
--with-cpu-64=x86-64 --with-arch-64=x86-64 --with-tune-64=x86-64 and
--disable-isl-version-check
options with the configure script. Despite all this, the build insisted on
having the stubs-32.h file. I tried copying the stubs-64.h to stubs-32.h
but this failed because the libraries coresponding to stubs-32.h were not
made.
I decided to build a new version of my glibc libraries that would have the
stubs-32.h file. I downloaded glibc-2.12.2.tar.gz to compile it. However,
the build of this glibc noted that I had a x86-64 GNU/Linux system and,
thus, made the stubs-64.h file but omitted building the stubs-32.h file.
CentOS has a GUI that helps manage software packages. I try to use this GUI,
rather than using yum or rpm directly, because I believe I may run into
trouble by mixing package managers. Thus, I tried to have the GUI install a
glibc-devel package with stubs-32, but the GUI refused because I have a
64-bit CentOS system.
The versions of gcc packaged with CentOS 6 have internal errors when trying
to compile some software packages such as the Healpy software. Since the
CentOS GUI refuses to upgrade gcc to versions that don't fail, I wanted to
have an auxilliary installation of gcc that would compile software without
the internal errors. Compiling from source seems to be the safest way since
the control provided by source prevents interference with my system
installation. Since I want to avoid fouling my system, I frequently install
software in private directories rather than system directories.
Surely gcc is supposed to build itself. How can I get gcc to build?
--
View this message in context: http://gcc.1065356.n5.nabble.com/Building-GCC-Failed-stubs-32-h-missing-tp1010178.html
Sent from the gcc - Help mailing list archive at Nabble.com.
More information about the Gcc-help
mailing list