public inbox for gentoo-amd64@lists.gentoo.org
 help / color / mirror / Atom feed
From: Marco Matthies <marco-ml@gmx.net>
To: gentoo-amd64@lists.gentoo.org
Subject: Re: [gentoo-amd64] 64-bit or 32-bit?
Date: Wed, 29 Mar 2006 00:49:05 +0200	[thread overview]
Message-ID: <4429BD61.3030504@gmx.net> (raw)
In-Reply-To: <43872d370603280717w2b6ccbd9l9dae6e21a9a927d2@mail.gmail.com>

Bertrand Jacquin wrote:
> How could you compile mplayer or firefox in your 64 bits environnement
> to generate 32 bits binary ? I have multilib activated and I can't
> build mplayer with CFLAGS="-m32".
> 
> It is needing something else ?
> 
> I don't want too to have and maintain a 32 bit chroot.

I'm assuming you're talking about compiling something by hand here. As 
other people have mentioned here, support for portage to compile 
arbitrary apps/libs 32-bit or 64-bit isn't there yet (at least in stable 
portage which is what i'm using), every ebuild for amd64 at the moment 
chooses either 32-bit or 64-bit (by setting ABI=x86 or ABI=amd64).

You need the 32-bit libs (which should go into /lib32 and /usr/lib32) 
that your application depends on. At a bare minimum, this is going to be 
libc for C programs, but usually some other libs as well. To make 
precompiled dynamically linked 32-bit binaries such as mplayer-bin 
possible, gentoo also supplies the libs needed for these binary ebuilds 
in /emul/linux/x86 which are installed by the emul-linux-x86-* ebuilds.

So, if the app you want to compile by hand uses only these, you can get 
away with something along the lines of:

./configure \
CFLAGS="-m32 -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib" \
LDFLAGS="-m32 -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib"

or

./configure \
CFLAGS="-m32 -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib" \
LDFLAGS="-m elf_i386 -L/emul/linux/x86/lib -L/emul/linux/x86/usr/lib"

Which one of these two lines you need to use depends on if LDFLAGS gets 
passed to gcc or ld by the makefile.
(see /usr/portage/profiles/default-linux/amd64/2006.0/make.defaults)

If the app you want to compile needs additional libs, you'll have to 
compile them yourself, install them under /usr/local and then compile 
the app you're interested in -- this probably quickly becomes annoying 
enough to make a 32-bit chroot so you can let portage+ebuilds do all the 
work for you.

Marco
-- 
gentoo-amd64@gentoo.org mailing list



  parent reply	other threads:[~2006-03-28 22:50 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-03-26 15:33 [gentoo-amd64] 64-bit or 32-bit? JimD
2006-03-26 15:45 ` Mike Arthur
2006-03-26 17:09 ` Simon Stelling
2006-03-26 17:50 ` Hemmann, Volker Armin
2006-03-26 18:27   ` Jim
2006-03-26 19:03     ` Hemmann, Volker Armin
2006-03-26 21:20     ` Barry.SCHWARTZ
2006-03-26 23:08       ` Jim
2006-03-27  0:10         ` Barry.SCHWARTZ
2006-03-28 15:17           ` Bertrand Jacquin
2006-03-28 19:53             ` [gentoo-amd64] " Duncan
2006-03-28 22:06             ` [gentoo-amd64] " Barry.SCHWARTZ
2006-03-28 22:20               ` Simon Stelling
2006-03-28 22:27                 ` Barry.SCHWARTZ
2006-03-29 10:21                   ` Bertrand Jacquin
2006-03-29 15:35                     ` Simon Stelling
2006-03-29 17:25                       ` Mike Arthur
2006-03-29 17:36                         ` Simon Stelling
2006-03-29 17:58                           ` Mike Arthur
2006-03-29 18:00                           ` [gentoo-amd64] 32-bit Netscape Plugins in Konqueror Mike Arthur
2006-03-29 20:43                           ` [gentoo-amd64] 64-bit or 32-bit? Barry.SCHWARTZ
2006-03-28 22:49             ` Marco Matthies [this message]
2006-03-29 10:19               ` Bertrand Jacquin
2006-03-29 11:14                 ` Marco Matthies
2006-03-29 15:53                   ` [gentoo-amd64] " Duncan
2006-03-29 12:58                 ` [gentoo-amd64] " Vladimir G. Ivanovic
2006-03-29 15:30                   ` Simon Stelling
  -- strict thread matches above, loose matches on Subject: below --
2005-07-12 11:27 Anand Buddhdev
2005-07-12 13:01 ` Mike Melanson
2005-07-12 14:24 ` Bob Sanders
2005-07-12 14:57 ` Zac Medico
2005-07-12 14:58 ` Barry.SCHWARTZ
2005-07-12 16:51 ` Richard Freeman
2005-07-12 17:27 ` gh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4429BD61.3030504@gmx.net \
    --to=marco-ml@gmx.net \
    --cc=gentoo-amd64@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox