Mailinglist Archive: opensuse (3337 mails)

< Previous Next >
Re: [SLE] Can a native 64-bit CPU run 32-bit code ?
  • From: Jerry Feldman <gaf@xxxxxxx>
  • Date: Sun, 16 Apr 2006 10:05:28 -0400
  • Message-id: <20060416100528.539fa67d@xxxxxxxxxxx>
On Sun, 16 Apr 2006 02:01:56 -0500 (CDT)
Maura Edeweiss Monville <memonvil@xxxxxxxxxxxxxxxx> wrote:

> I have recently succeeded at installing the CERN library. The 1st step of
> the provided installation procedure un-gzips and un-tars all the source
> files, then creates the lib structure, generates all the necessary
> Makefiles, and finally execs the Makefiles at each structure level,
> therefore creating the library functions.
> The problem I'm facing is that if I run such procedure "as is" on my
> 64-bit laptop, then by default the invoked compilers (gcc, g++, f77), no
> matter their version, will generate code for my system, that is for a
> 64-bit processor. But I need to generate 32-bit code.
> I wonder if I run the CERLIB installation procedure AFTER launching the
> linux32 bash then all the invoked compiler will see the processor being
> emulated, that is i686 rather than the true processor x86_64, therefore
> they automatically will, hopefully, geneate 32-bit code WITHOUT setting
> any flag and/or option ... ???? .... I might be insane .....
> If this is not the case then I will have to split the native CERNLIB
> installation procedure e manually force the proper options/flags in order
> to generate code for a 32-bit machine .
I don't know specifically how CERN has set up the configure script.
The best way is to tell the configure script to force 32-bits. if that
is possible.
gcc has a number of options you can use to control compilation for
32-bit, such as -m32. Look at "i386 and x86-64 Options" on the gcc
man page. You might also want to set this in the CFLAGS and CXXFLAGS
environment variables.

That said, you may not be able to easily configure CERN to structure it
the way you want, but there are a couple of possible solutions.

Assuming that the CERN libraries use a sequence such as ./configure,
make, make install...
Build CERN on another computer, but do not issue "make install"
Then copy the directory tree to your laptop. Make sure you preserve the
Then, you should be able to run "make install" to install the 32-bit

A really ugly way is to install SuSE on your laptop as a 32-bit OS.

Jerry Feldman <gaf@xxxxxxx>
Boston Linux and Unix user group PGP key id:C5061EA9
PGP Key fingerprint:053C 73EC 3AC1 5C44 3E14 9245 FB00 3ED5 C506 1EA9
< Previous Next >