https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/4835/steps/12/logs/stdio https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20240523-gce7682v/packages/diff-html/
Likely a cache invalidation problem according to RP. Not clear what to do about it. Only seen in Alex's personal branches which don't have any libz changes. Zlib is not autoconf-based. This may be to changes from gcc13 to gcc14.
libz has it's own (non-autotools) configure script. You can see here where it changes the line in zconf.h: https://github.com/madler/zlib/blob/0f51fb4933fc9ce18199cb2554dacea8033e7fd3/configure#L580 I'm not sure why this simple compile test passes sometimes and doesn't other times
FWIW, with my current master my zconf.h has: #ifdef HAVE_UNISTD_H /* may be set to #if 1 by ./configure */ # define Z_HAVE_UNISTD_H #endif #ifdef HAVE_STDARG_H /* may be set to #if 1 by ./configure */ # define Z_HAVE_STDARG_H #endif
Showing up in scarthgap too: https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/4874/steps/12/logs/stdio https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/4878/steps/13/logs/stdio
We may have changed something to fix this but no one on the YP bug review call could recall what the change may have been! ;-)
Not seen for two months and people suspect that the issue may have been fixed. Re-open if seen again.
Several failures on the reproducible autobuilder. Seems to happen quite often, but not on each build. Probably related to the switch to valkyrie. AssertionError: The following rpm packages are different and not in exclusion list: /srv/pokybuild/yocto-worker/reproducible/build/build-st/reproducibleB-extended/tmp/deploy/rpm/./core2_64/libz-src-1.3.1-r0.core2_64.rpm https://valkyrie.yoctoproject.org/#/builders/37/builds/265 https://valkyrie.yocto.io/pub/repro-fail/oe-reproducible-20241014-68a7dqot/packages/ https://valkyrie.yoctoproject.org/#/builders/37/builds/266 https://valkyrie.yocto.io/pub/repro-fail/oe-reproducible-20241015-rnbypced/packages/ https://valkyrie.yoctoproject.org/#/builders/37/builds/274/steps/12/logs/stdio https://valkyrie.yocto.io/pub/repro-fail/oe-reproducible-20241016-gbk4py46/
reproducible opensuse156-vk-1 https://valkyrie.yoctoproject.org/#/builders/37/builds/265/steps/13/logs/stdio reproducible ubuntu2204-vk-2 https://valkyrie.yoctoproject.org/#/builders/37/builds/266/steps/12/logs/stdio reproducible debian12-vk-6 https://valkyrie.yoctoproject.org/#/builders/37/builds/269/steps/12/logs/stdio
reproducible fedora39-vk-1 https://valkyrie.yoctoproject.org/#/builders/37/builds/281/steps/12/logs/stdio
So this is fun. The change is zlib-src/usr/src/debug/zlib/zconf.h, which changes between the file in ${S} and the file in ${B}. The problem is that do_package's sstate creation does a blanket utime() on the contents, but the source files are hardlinked from $S and $B. This is bad, because we're stamping on timestamps in the source and build trees, which can cause problems with rebuilds. The solution is to not utime() the files but ask tar to do the same when the archive is generated.
reproducible fedora40-vk-1 https://valkyrie.yoctoproject.org/#/builders/37/builds/280/steps/12/logs/stdio reproducible rocky8-vk-1 https://valkyrie.yoctoproject.org/#/builders/37/builds/284/steps/13/logs/stdio
reproducible alma8-vk-1 https://valkyrie.yoctoproject.org/#/builders/37/builds/272/steps/13/logs/stdio reproducible fedora40-vk-2 https://valkyrie.yoctoproject.org/#/builders/37/builds/276/steps/12/logs/stdio reproducible debian12-vk-9 https://valkyrie.yoctoproject.org/#/builders/37/builds/279/steps/12/logs/stdio reproducible debian12-vk-3 https://valkyrie.yoctoproject.org/#/builders/37/builds/283/steps/12/logs/stdio reproducible fedora41-vk-1 https://valkyrie.yoctoproject.org/#/builders/37/builds/290/steps/12/logs/stdio reproducible debian11-vk-3 https://valkyrie.yoctoproject.org/#/builders/37/builds/291/steps/12/logs/stdio reproducible ubuntu2404-vk-1 https://valkyrie.yoctoproject.org/#/builders/37/builds/292/steps/12/logs/stdio reproducible rocky9-vk-1 https://valkyrie.yoctoproject.org/#/builders/37/builds/293/steps/12/logs/stdio
reproducible rocky8-vk-1 https://valkyrie.yoctoproject.org/#/builders/37/builds/304/steps/13/logs/stdio
Ross posted a good explanation of this here: https://lists.openembedded.org/g/openembedded-core/message/206301 We ended up fixing this with: https://git.yoctoproject.org/poky/commit/?id=a147293ed6d9c1387610f6cf9542ffa3aff50b61