View previous topic :: View next topic |
Author |
Message |
musv Advocate
Joined: 01 Dec 2002 Posts: 3337 Location: de
|
Posted: Wed Feb 18, 2015 5:13 pm Post subject: get rid of 32 bit on amd64 |
|
|
My HTPC is a 64 bit system with Kodi installed. There exists a folder /lib32. Inside that folder every lib belongs to glibc.
There's no package on that system with 32 bit dependencies. In the USE-Flags I've set -multilib. Nevertheless eix shows me:
Code: | [U] sys-libs/glibc
Available versions: (2.2) (~)2.9_p20081201-r3^s 2.10.1-r1^s 2.11.3^s (~)2.12.1-r3^s 2.12.2^s (~)2.13-r2^s 2.13-r4^s (~)2.14^s (~)2.14.1-r2^s 2.14.1-r3^s (~)2.15-r1^s 2.15-r2^s 2.15-r3^s 2.16.0^s 2.17^s (~)2.18-r1^s (~)2.19^s 2.19-r1^s (~)2.20^s (~)2.20-r1^s (~)2.20-r2^s **2.21^s **9999^s
{debug gd hardened multilib nscd profile selinux suid systemtap vanilla CROSSCOMPILE_OPTS="headers-only"}
Installed versions: 2.20-r1(2.2)^s(21:34:33 07.02.2015)(gd multilib suid -debug -hardened -nscd -profile -selinux -systemtap -vanilla CROSSCOMPILE_OPTS="-headers-only")
Homepage: http://www.gnu.org/software/libc/libc.html
Description: GNU libc6 (also called glibc2) C library |
It seems, glibc is forced to be installed as multilib. Is there way to change that? |
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8708 Location: ~Brussels - Belgique
|
Posted: Wed Feb 18, 2015 7:15 pm Post subject: |
|
|
Hello,
Did you switched to a no-multilib profile ? and do a "emerge -DuNav @world && emerge -av @preserved-rebuild" ?
Then you can safely remove {,/usr}/lib32 folders. _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
mv Watchman
Joined: 20 Apr 2005 Posts: 6747
|
Posted: Wed Feb 18, 2015 7:30 pm Post subject: |
|
|
However, you should be aware that this is a one-way change: You will never be able to switch back again (without reinstallation or even more cumbersome ways).
And which advantage do you get? Your glibc and gcc takes a little bit less disk space. That's about it... |
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8708 Location: ~Brussels - Belgique
|
Posted: Wed Feb 18, 2015 7:35 pm Post subject: |
|
|
Yeah, but I did the ping-pong no-multilib <-> multilib quite many times and it's not soo complicated : multilib chroot, update the toolchain to the same version as the no-multilib, binary package glibc, install it on the no-multilib env, then rebuild the "going multilib" toolchain.
In fact, we could go to multilib if we got a "glibc-headers-quick" package, as done for crossdev. _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
steveL Watchman
Joined: 13 Sep 2006 Posts: 5153 Location: The Peanut Gallery
|
Posted: Wed Feb 18, 2015 10:26 pm Post subject: |
|
|
xaviermiller wrote: | Yeah, but I did the ping-pong no-multilib <-> multilib quite many times and it's not soo complicated : multilib chroot, update the toolchain to the same version as the no-multilib, binary package glibc, install it on the no-multilib env, then rebuild the "going multilib" toolchain. |
Nice description; never knew it was that easy to switch from no-multilib to multilib. Is this documented anywhere?
Quote: | In fact, we could go to multilib if we got a "glibc-headers-quick" package, as done for crossdev. |
Can you explain that a bit more, please? |
|
Back to top |
|
|
xaviermiller Bodhisattva
Joined: 23 Jul 2004 Posts: 8708 Location: ~Brussels - Belgique
|
Posted: Thu Feb 19, 2015 7:57 am Post subject: |
|
|
Hello SteveL,
The fact that it's difficult to switch from a no-multilib to a multilib profile is because GCC needs glibc headers, especially those for 32 bits.
So, once you have a binpkg of a multilib glibc, you're safe.
For a similar reason, I see that crossdev builds first binutils, then get the glibc headers, then build a first-phase GCC (a plain C compiler), then builds glibc, then the full GCC (C/C++ and other compilers).
So, that intermediary "glibc-headers" package is just a trick in order to build GCC. A sort of "chicken and egg" problem workaround. _________________ Kind regards,
Xavier Miller |
|
Back to top |
|
|
|