[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: add etc/PROBLEMS entry for building 32-bit exe on 64-bit system

From: Glenn Morris
Subject: Re: add etc/PROBLEMS entry for building 32-bit exe on 64-bit system
Date: Mon, 15 Jan 2007 20:22:09 -0500
User-agent: Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/)

Stefan Monnier wrote:

> PS: IMHO we shouldn't need to specify --build=i386-linux-gnu.  Instead,
> passing CC="gcc -m32" should be sufficient.

This may be a superfluous comment (depending on the meaning of
"should"), but in practice it is not sufficient (RHEL4 x86_64 with all
available relevant 32-bit libs installed):

Using CC="gcc -m32":

1) Configure wrongly picks /usr/X11R6/lib64 for the X windows
   libraries. Manually fix this by passing --x-libraries=/usr/X11R6/lib.

2) Configure wrongly decides sound is available, when it is not
  (there is no standard package for this OS that provides 32-bit
  "libasound.so"). Bootstrap fails trying to create temacs due to the
  lack of compatible libasound.so. Fix this by manually passing

3) Configure sets HAVE_X86_64_LIB64_DIR to 1, so linking temacs fails
   because it tries to use /usr/lib64/crt1.o etc rather than
   /usr/lib/crt1.o etc. After correcting this...

4) temacs segfaults after loading subr during dumping.

There are also hundreds of "warning: left shift count >= width of
type" on compilation.

Just using --build=i386-linux-gnu is also not sufficient. The build
just calls "gcc" as usual, which compiles 64-bit objects.

Only the combination of the two methods works for me (still subject to
1 and 2, not 3 or 4). No compilation warnings either.

Quite possibly the fix is trivial for someone who knows what they are
doing. I have nothing else to say as to what the "right" approach is
or how to do it; I can only offer to test any solutions.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]