linux:gentoo
Ceci est une ancienne révision du document !
Table des matières
Compilation
Options différentes pour certains paquets
- Un fichier par paquet :
Dans le fichier /etc/portage/env/CATEGORIE/PAQUET :
CFLAGS="$CFLAGS -Og" CXXFLAGS="$CXXFLAGS -Og"
- Un fichier de config :
Dans le dossier /etc/portage/env, créer les fichiers :
- O1.conf
COMMON_FLAGS="${COMMON_FLAGS} -O1" CFLAGS="${COMMON_FLAGS} -O1" CXXFLAGS="${COMMON_FLAGS} -O1" FCFLAGS="${COMMON_FLAGS} -O1" FFLAGS="${COMMON_FLAGS} -O1"
et
- j2.conf
MAKEOPTS="-j2" EMERGE_DEFAULT_OPTS="-j2 --load-average=2"
Puis dans le fichier package.env, indiquer pour chaque paquet quel fichier utiliser :
- package.env
sys-devel/llvm j2.conf sys-devel/clang j2.conf dev-libs/ocl-icd O1.conf
Ici, on utilise :
j2.confquand le paquet ne peut pas compiler avec tous les cœurs. Notamment car on ne peut pas différencier le nombre d'instances en parallèle pour le compilateur et le lieur.O1.confquand on a les erreurs classiques de typeundefined symbolpour les fonctions mal déclaréesinlineet qui ne compile que sans-O0.
clang
Ne pas compiler avec default-compiler-rt. Sinon, il sera nécessaire de lier chaque compilation clang avec -lgcc_s pour éviter les erreurs de type undefined reference to symbol '_Unwind_Resume@@GCC_3.0'.
clang 7, undefined reference '_Unwind_Resume@@GCC_' Archive du 27/01/2019 le 15/01/2020
Compression multithread
Compresser en multithreading sous Linux Archive du 30/01/2015 le 13/12/2019
echo "app-arch/pigz symlink" >> /etc/portage/package.use/custom echo "app-arch/lbzip2 symlink" >> /etc/portage/package.use/custom emerge pigz lbzip2
Cela marche pour les tar -czvf (tar.gz) et tar -cjvf (tar.bz2). Il n'y a pas équivalent pour tar.xz.
Gestion des paquets
- Liste des paquets installés depuis un dépôt :
equery has repository ${repo_name}oueix –installed-from-overlay
linux/gentoo.1602506960.txt.gz · Dernière modification : de root
