Dans le fichier /etc/portage/env/CATEGORIE/PAQUET :
CFLAGS="$CFLAGS -Og" CXXFLAGS="$CXXFLAGS -Og"
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.C'est la même chose :
debugcompress et -Wl,--compress-debug-sections,zlib : 534056 odebugcompress : 534080 o-Wl,--compress-debug-sections,zlib : 534056 o
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
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.
equery has repository ${repo_name} ou eix –installed-from-overlay