====== icecc ====== Icecc is outdated: * Latest release is 1.4.0 (2022) which doesn't include lots of nice fixes and features. * Thread [[https://github.com/icecc/icecream/issues/586|Overall status of the project #586]] points to use [[https://github.com/mozilla/sccache/|sccache]] instead of icecream * ''icecc.bbclass'' is not maintained and lack support of new Yocto features, generating a lot of problems (i.e. clang) * '-fno-diagnostics-show-caret' in clang: [[https://github.com/kraj/meta-clang/issues/806|dunfell: compiler-rt: invalid argument causes sanity check to fail #806]] * many forks with patches exists: [[https://github.com/icecc/icecream/compare/master...felix642:icecream:master|]] * [[https://mbition.yocto.co.kr/entry/Intermediate-results-of-icecc-icecream-testing-on-Yocto|Intermediate results of icecc (icecream) testing on Yocto]] * **YOCTO drops icecc.bbclass:** [[https://git.yoctoproject.org/poky/commit/?id=ba4fd5229893a24ef1f305c0b04facf2329b16df|classes/recipes-devtools: Drop icecc from OE-Core]] * Issues: * [[https://lists.yoctoproject.org/g/yocto/topic/sdk_standard_sdk_build_with/76393119]] ===== Headline ===== * [[https://timblechmann.gitlab.io/posts/2019-06-10-icecream.html]] **NOTE:** icecc daemon has to be run on localhost. Instead of this all jobs will be spawned locally with i.e. ''-j 100'' sudo apt-get install patchelf icecc icecc-monitor Example performance gain (''make -j14'' vs ''make -j 100''): bitbake nativesdk-qemu # # ICECC_PARALLEL_MAKE = "-j 100" # bitbake nativesdk-qemu -c cleansstate time bitbake nativesdk-qemu real 3m58.270s user 0m0.942s sys 0m0.153s # # ICECC_DISABLED = "1" # bitbake nativesdk-qemu -c cleansstate time bitbake nativesdk-qemu real 7m21.235s user 0m1.019s sys 0m0.209s ====== Issues ====== ===== Cannot use icecc: patchelf not found ===== NOTE: recipe shadow-native-4.8.1-r0: task do_configure: Started WARNING: shadow-native-4.8.1-r0 do_configure: Cannot use icecc: patchelf not found sudo apt-get install patchelf