Multilib

From Q
Revision as of 22:38, 19 December 2012 by Tgurr (talk | contribs)
Jump to navigation Jump to search

Exherbo supports multilib natively, but it's not enabled by default yet.

First we enable the multilib profile by changing the profiles variable in arbor.conf.

File: /etc/paludis/repositories/arbor.conf
...
profiles = ${location}/profiles/amd64/multilib
...


Remove the CHOST entry from bashrc and either set C{,XX}FLAGS which apply to all C targets, or define individual ones.

File: /etc/paludis/bashrc
CFLAGS="-march=native -pipe -O2"
CXXFLAGS="${CFLAGS}"

#MULTIBUILD_C_32_USER_CFLAGS="-march=native -pipe -O2"
#MULTIBUILD_C_32_USER_CXXFLAGS="${MULTIBUILD_C_32_USER_CFLAGS}"
#MULTIBUILD_C_64_USER_CFLAGS="-march=native -pipe -O2"
#MULTIBUILD_C_64_USER_CXXFLAGS="${MULTIBUILD_C_64_USER_CFLAGS}"
# cave resolve skeleton-filesystem-layout -x1


Temporarily enable bootstrap and reinstall glibc, it will also pull in bootstrap-gcc.

File: /etc/paludis/options.conf
sys-libs/glibc bootstrap


# cave resolve glibc -x1


Temporarily disable openmp and reinstall gcc. If you intent to rebuild gcc afterwards you can also temporarily disable java, fortran, etc. to speed things up.

File: /etc/paludis/options.conf
sys-devel/gcc -fortran -java -openmp
# cave resolve gcc -x1

Switch to the new gcc, if not already active.

# eclectic gcc list
# eclectic gcc set -1

Remove the bootstrap OPTION from glibc in /etc/paludis/options.conf and reinstall it, also purging the now uneeded bootstrap-gcc.

# cave resolve glibc --purge '*/*' -x1

If you disabled some gcc options before in /etc/paludis/options.conf, you can now re-enable them and reinstall gcc.

# cave resolve gcc -x1


If you want to install for example Wine you may bave to temporarily disable some OPTIONS to manually resolve blockers.

File: /etc/paludis/options.conf
sys-apps/util-linux -systemd -udev
sys-apps/dbus -systemd

Be sure to re-enable and reinstall the affected packages afterwards.