====== 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