[CentOS] 32-bit compat-gcc on 64-bit CentOS?

Wed Mar 30 19:25:04 UTC 2011
Alan M. Evans <ame1 at extratech.com>

On Wed, 2011-03-30 at 14:34 -0400, m.roth at 5-cent.us wrote:
> Alan M. Evans wrote:
> > On Wed, 2011-03-30 at 13:27 -0400, m.roth at 5-cent.us wrote:
> >> Alan M. Evans wrote:
> >> > On Tue, 2011-03-29 at 17:43 -0500, Jeff wrote:
> >> >> On Tue, Mar 29, 2011 at 5:35 PM, Alan M. Evans <ame1 at extratech.com>
> >> >> wrote:
> >> >> >
> >> >> > The old server was Pentium-4 based and running CentOS-5. When I
> >> >> > installed CentOS on the new machine, I used the 64-bit version,
> >> >> > partly because that habit is almost automatic nowadays, and partly
> because
> >> >> > the new machine has 6GB of RAM, so 32-bit seemed not very
> appropriate.
> >> >> >
> >> >> > Anyway, I've managed to configure every one of the old server's
> >> >> > many functions to match on the new server but one: I need the 32-bit
> >> >> > version of compat-gcc-34. (Or at least I need to be able to compile
> >> >> > 32-bit binaries with the already available version.) I can't seem
> >> to
> >> >> > do this; am I just missing something?
> >> <snip>
> >> > I've tried the -m32 flag, along with "CC=gcc34" to actually cause it
> >> > to use the compat compiler instead of the new one. The build process
> >> > produces a lot of warnings that may or may not have been there before,
> >> > then bails out with:
> >> >
> >> > make: *** No rule to make target
> >> > `/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stdarg.h', needed by
> >> > `hostcom.o'.  Stop.
> >> >
> >> > On the old server, which I have limited access to, that file is owned
> >> > by the compat-gcc-34 package. And the 64-bit version of this package is
> >> > installed on the new server, so the directory is x86_64-redhat-linux
> >> > instead of i386-redhat-linux.
> >>
> >> Got it: you need to install the 386 *sources*; you can do that without
> >> hurting anything, and then the things you need will be where you expect
> >> them to be.
> >
> > Excuse my ignorance: What *sources* are you talking about?
> 
> gcc headers, and maybe kernel headers and sources (depending on what
> you're compiling). You've apparently only got the x86_64 sources.

What set of packages would that be? Like I said, the header in question
is owned by compat-gcc-34, and there is only a 64-bit version available
in the repos.

I've installed all the i386 libc and devel stuff that I can find and
think appropriate.

-Alan