====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 : COMMON_FLAGS="${COMMON_FLAGS} -O1" CFLAGS="${COMMON_FLAGS} -O1" CXXFLAGS="${COMMON_FLAGS} -O1" FCFLAGS="${COMMON_FLAGS} -O1" FFLAGS="${COMMON_FLAGS} -O1" LDFLAGS="${LDFLAGS} -Wl,-O1" et MAKEOPTS="-j2" EMERGE_DEFAULT_OPTS="-j2 --load-average=2" Puis dans le fichier ''package.env'', indiquer pour chaque paquet quel fichier utiliser : sys-devel/llvm j2.conf sys-devel/clang j2.conf dev-libs/ocl-icd O1.conf Ici, on utilise : * ''j2.conf'' quand 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.conf'' quand on a les erreurs classiques de type ''undefined symbol'' pour les fonctions mal déclarées ''inline'' et qui ne compile que sans ''-O0''. ===debugcompress vs -Wl,--compress-debug-sections,zlib=== C'est la même chose : * ''debugcompress'' et ''-Wl,%%--%%compress-debug-sections,zlib'' : 534056 o * ''debugcompress'' : 534080 o * ''-Wl,%%--%%compress-debug-sections,zlib'' : 534056 o * sans rien : 1097752 o ===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'''. [[https://forums.gentoo.org/viewtopic-t-1092354-start-0.html|clang 7, undefined reference '_Unwind_Resume@@GCC_']] {{ :linux:gentoo:gentoo_forums_voir_le_sujet_-_clang_7_undefined_reference_unwind_resume_gcc_solved_2020-01-15_07_22_51_.html |Archive du 27/01/2019 le 15/01/2020}} ====Compression multithread==== [[https://www.linuxtricks.fr/wiki/compresser-en-multithreading-sous-linux|Compresser en multithreading sous Linux]] {{ :linux:gentoo:compresser_en_multithreading_sous_linux_-_documentation_-_wiki_-_linuxtricks_2019-12-13_3_10_32_pm_.html |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}'' ou ''eix --installed-from-overlay''