Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Howto: Make a trully multilib system
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks
View previous topic :: View next topic  
Author Message
fernan82
n00b
n00b


Joined: 24 Jul 2014
Posts: 66

PostPosted: Fri Jul 25, 2014 3:31 am    Post subject: Howto: Make a trully multilib system Reply with quote



I removed the instructions because it will cause problems installing wine.
My goal now is to use the emul-linux libraries as much as possible but still be able to install any packages from portage that are not in the emul-linux packages in a way that once ABI_X86=32 is more stable I can switch without problems.



Last edited by fernan82 on Fri Jul 25, 2014 9:13 pm; edited 1 time in total
Back to top
View user's profile Send private message
The Doctor
Veteran
Veteran


Joined: 27 Jul 2010
Posts: 1510

PostPosted: Fri Jul 25, 2014 3:49 am    Post subject: Reply with quote

I take it you didn't try and install using the multilib stage 3 and set a multilib profile.

No chroot is necessary. That is only if you are running a no multilib profile or have specific need of a 32 bit specific environment.
_________________
First things first, but not necessarily in that order.
Back to top
View user's profile Send private message
mmogilvi
n00b
n00b


Joined: 13 May 2011
Posts: 27

PostPosted: Fri Jul 25, 2014 7:17 am    Post subject: Reply with quote

@fernan82: The Doctor's strategy is definitely the simplest way to install and run 32-bit-only programs on a mostly-64-bit install, although it has some limitations, such as:

  • For the most part, portage won't install 32-bit versions of programs that have fully-functional 64-bit versions available. And most programs have 64-bit versions...
  • In a stable system (ACCEPT_KEYWORDS="amd64"), most 32-bit runtime libraries are installed from pre-built binary packages called emul-linux-x86-*, instead of building from source like native gentoo.

There is currently a major "multilib" effort underway to replace emul-linux-x86-* packages with "native" library ebuilds by enabling the appropriate USE flag. It isn't yet officially supported, but the basic idea is to unmask and widely enable the USE=abi_x86_32 (or equivalently, ABI_X86=32) flag. But there are a lot of complex dependency hell issues to wade through when switching, involving things still asking for emul-linux, emul-linux turning into more of a "meta" package when abi_x86_32 is enabled, some required packages still only have the abi_x86_32 flag in unstable (~amd64) versions, a few rare libraries still haven't been converted at all, etc. But see http://forums.gentoo.org/viewtopic-p-7509542.html?sid=c5b44664c998872c1c014477e22c3048#7509542 for more information about how to try it out on a mostly-stable system.

Although this new scheme is a whole lot better (more configurable, and automatically keeping libraries in sync with headers) than the emul-linux packages, there are still some limitations:

  • It doesn't automatically figure out and limit which libraries need to enable abi_x86_32 to meet your main (world) requirements. You either need to enable it very rather widely (globally with exceptions, or use package wildcards), or manually construct a rather large list of specific packages. And the error messages from portage can be confusing to interpret if you are missing a few...
  • Won't let you have different USE flags in 32-bit vs 64-bit builds of libraries (except some ebuilds may sometimes ignore unsupported USE flags for some ABIs).
  • Typically doesn't provide both 32-bit and 64-bit builds of an executable, nor make it easy to prefer the 32-bit version when the 64-bit is possible.
Back to top
View user's profile Send private message
fernan82
n00b
n00b


Joined: 24 Jul 2014
Posts: 66

PostPosted: Fri Jul 25, 2014 5:11 pm    Post subject: Reply with quote

I did used multilib tarball with the emul-linux packages at first but there's more than a few missing libraries and you can't just compile any library package from portage so I wouldn't call it trully multilib. I'm not trying to install 32-bit programs from portage, I need to run programs 32 bit programs for which I don't have the source code and to build 32-bit libraries from sources that are not in portage and have dependencies on libraries that are not on the emul-linux packages. That's where I spent most time trying to build the missing libraries from tarballs.

I dabbled with ABI_X86=32 but ran into problems and couldn't find much info about it so I moved on quickly. Once I tried chrooting I got everything working pretty quickly. I will look into it though for now this does just what I need without much hassle. Thanks
Back to top
View user's profile Send private message
Anon-E-moose
Advocate
Advocate


Joined: 23 May 2008
Posts: 2471
Location: Dallas area

PostPosted: Fri Jul 25, 2014 6:16 pm    Post subject: Reply with quote

Getting all emul-linux-* to compile (native 32 bit libs) from all packages is still a work in progress, AFAIK.
_________________
Asus m5a99fx, FX 8320 - amd64-multilib, 3.15.9-zen, glibc-2.17, gcc-4.7.3-r1, eudev
xorg-server-1.16, openbox w/lxpanel, nouveau, oss4(2010)
Back to top
View user's profile Send private message
fernan82
n00b
n00b


Joined: 24 Jul 2014
Posts: 66

PostPosted: Fri Jul 25, 2014 9:17 pm    Post subject: Reply with quote

Yea, I ran into a problem, it breaks the wine ebuild. I'm using the emul-linux packages now but with this method on the side so I can install ebuilds to fill in the gaps on the emul-linux packages.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Documentation, Tips & Tricks All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum