Source: krb5
Version: 1.21.3-5
Severity: minor
Tags: trixie sid ftbfs
User: [email protected]
Usertags: ftbfs-shuffle

Hi,

GNU Make now has a --shuffle option that simulates non-deterministic ordering
of target prerequisites. See
https://trofi.github.io/posts/238-new-make-shuffle-mode.html and also previous
work in Debian by Santiago Vila:
https://people.debian.org/~sanvila/make-shuffle/

This package fails to build with make --shuffle=reverse.
This is likely to be caused by a missing dependency in
debian/rules or an upstream Makefile.

More information about this mass bug filing is available at
https://wiki.debian.org/qa.debian.org/FTBFS/Shuffle

Relevant part (hopefully):
> make[6]: Entering directory 
> '/build/reproducible-path/krb5-1.21.3/build/lib/krb5/krb'
> Makefile:468: update target 'parse_host_string.o' due to: target does not 
> exist
> gcc -DHAVE_CONFIG_H -DLIBDIR=\"/usr/lib/x86_64-linux-gnu\" 
> -DDYNOBJEXT=\".so\" -I../../../include -I../../../../src/include 
> -I../../../../src/lib/krb5/krb/../os -I../../../../src -DKRB5_DEPRECATED=1 
> -DKRB5_PRIVATE -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 
> -Werror=implicit-function-declaration 
> -ffile-prefix-map=/build/reproducible-path/krb5-1.21.3=. 
> -fstack-protector-strong -fstack-clash-protection -Wformat 
> -Werror=format-security -fcf-protection -Wall -Wcast-align -Wshadow 
> -Wmissing-prototypes -Wno-format-zero-length -Woverflow -Wstrict-overflow 
> -Wmissing-format-attribute -Wmissing-prototypes -Wreturn-type 
> -Wmissing-braces -Wparentheses -Wswitch -Wunused-function -Wunused-label 
> -Wunused-variable -Wunused-value -Wunknown-pragmas -Wsign-compare 
> -Werror=uninitialized -Wno-maybe-uninitialized -Werror=pointer-arith 
> -Werror=int-conversion -Werror=incompatible-pointer-types 
> -Werror=discarded-qualifiers -Werror=implicit-int 
> -Werror=declaration-after-statement -Werror-implicit-function-declaration 
> -pthread  -c ../../../../src/lib/krb5/krb/parse_host_string.c
> Makefile:468: update target 't_parse_host_string.o' due to: target does not 
> exist
> gcc -DHAVE_CONFIG_H -DLIBDIR=\"/usr/lib/x86_64-linux-gnu\" 
> -DDYNOBJEXT=\".so\" -I../../../include -I../../../../src/include 
> -I../../../../src/lib/krb5/krb/../os -I../../../../src -DKRB5_DEPRECATED=1 
> -DKRB5_PRIVATE -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 
> -Werror=implicit-function-declaration 
> -ffile-prefix-map=/build/reproducible-path/krb5-1.21.3=. 
> -fstack-protector-strong -fstack-clash-protection -Wformat 
> -Werror=format-security -fcf-protection -Wall -Wcast-align -Wshadow 
> -Wmissing-prototypes -Wno-format-zero-length -Woverflow -Wstrict-overflow 
> -Wmissing-format-attribute -Wmissing-prototypes -Wreturn-type 
> -Wmissing-braces -Wparentheses -Wswitch -Wunused-function -Wunused-label 
> -Wunused-variable -Wunused-value -Wunknown-pragmas -Wsign-compare 
> -Werror=uninitialized -Wno-maybe-uninitialized -Werror=pointer-arith 
> -Werror=int-conversion -Werror=incompatible-pointer-types 
> -Werror=discarded-qualifiers -Werror=implicit-int 
> -Werror=declaration-after-statement -Werror-implicit-function-declaration 
> -pthread  -c ../../../../src/lib/krb5/krb/t_parse_host_string.c
> Makefile:1050: update target 't_parse_host_string' due to: target does not 
> exist
> gcc -L../../../lib  -g -O2 -Werror=implicit-function-declaration 
> -ffile-prefix-map=/build/reproducible-path/krb5-1.21.3=. 
> -fstack-protector-strong -fstack-clash-protection -Wformat 
> -Werror=format-security -fcf-protection -Wl,-z,relro  -o t_parse_host_string 
> t_parse_host_string.o parse_host_string.o -lcmocka \
>       -lkrb5 -lk5crypto -lcom_err  -lkrb5support  -lkeyutils -lresolv  
> Makefile:1132: update target 'check-cmocka' due to: target does not exist
> LD_LIBRARY_PATH=`echo -L../../../lib | sed -e "s/-L//g" -e "s/ /:/g"` 
> KRB5_CONFIG=../../../../src/config-files/krb5.conf LC_ALL=C  
> ./t_parse_host_string > /dev/null
> [  PASSED  ] 15 test(s).
> [  PASSED  ] 7 test(s).
> Makefile:468: update target 't_vfy_increds.o' due to: target does not exist
> gcc -DHAVE_CONFIG_H -DLIBDIR=\"/usr/lib/x86_64-linux-gnu\" 
> -DDYNOBJEXT=\".so\" -I../../../include -I../../../../src/include 
> -I../../../../src/lib/krb5/krb/../os -I../../../../src -DKRB5_DEPRECATED=1 
> -DKRB5_PRIVATE -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 
> -Werror=implicit-function-declaration 
> -ffile-prefix-map=/build/reproducible-path/krb5-1.21.3=. 
> -fstack-protector-strong -fstack-clash-protection -Wformat 
> -Werror=format-security -fcf-protection -Wall -Wcast-align -Wshadow 
> -Wmissing-prototypes -Wno-format-zero-length -Woverflow -Wstrict-overflow 
> -Wmissing-format-attribute -Wmissing-prototypes -Wreturn-type 
> -Wmissing-braces -Wparentheses -Wswitch -Wunused-function -Wunused-label 
> -Wunused-variable -Wunused-value -Wunknown-pragmas -Wsign-compare 
> -Werror=uninitialized -Wno-maybe-uninitialized -Werror=pointer-arith 
> -Werror=int-conversion -Werror=incompatible-pointer-types 
> -Werror=discarded-qualifiers -Werror=implicit-int 
> -Werror=declaration-after-statement -Werror-implicit-function-declaration 
> -pthread  -c ../../../../src/lib/krb5/krb/t_vfy_increds.c
> Makefile:1057: update target 't_vfy_increds' due to: target does not exist
> gcc -L../../../lib  -g -O2 -Werror=implicit-function-declaration 
> -ffile-prefix-map=/build/reproducible-path/krb5-1.21.3=. 
> -fstack-protector-strong -fstack-clash-protection -Wformat 
> -Werror=format-security -fcf-protection -Wl,-z,relro  -o t_vfy_increds 
> t_vfy_increds.o -lkrb5 -lk5crypto -lcom_err  -lkrb5support  -lkeyutils 
> -lresolv  
> Makefile:468: update target 't_get_etype_info.o' due to: target does not exist
> gcc -DHAVE_CONFIG_H -DLIBDIR=\"/usr/lib/x86_64-linux-gnu\" 
> -DDYNOBJEXT=\".so\" -I../../../include -I../../../../src/include 
> -I../../../../src/lib/krb5/krb/../os -I../../../../src -DKRB5_DEPRECATED=1 
> -DKRB5_PRIVATE -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 
> -Werror=implicit-function-declaration 
> -ffile-prefix-map=/build/reproducible-path/krb5-1.21.3=. 
> -fstack-protector-strong -fstack-clash-protection -Wformat 
> -Werror=format-security -fcf-protection -Wall -Wcast-align -Wshadow 
> -Wmissing-prototypes -Wno-format-zero-length -Woverflow -Wstrict-overflow 
> -Wmissing-format-attribute -Wmissing-prototypes -Wreturn-type 
> -Wmissing-braces -Wparentheses -Wswitch -Wunused-function -Wunused-label 
> -Wunused-variable -Wunused-value -Wunknown-pragmas -Wsign-compare 
> -Werror=uninitialized -Wno-maybe-uninitialized -Werror=pointer-arith 
> -Werror=int-conversion -Werror=incompatible-pointer-types 
> -Werror=discarded-qualifiers -Werror=implicit-int 
> -Werror=declaration-after-statement -Werror-implicit-function-declaration 
> -pthread  -c ../../../../src/lib/krb5/krb/t_get_etype_info.c
> Makefile:1078: update target 't_get_etype_info' due to: target does not exist
> gcc -L../../../lib  -g -O2 -Werror=implicit-function-declaration 
> -ffile-prefix-map=/build/reproducible-path/krb5-1.21.3=. 
> -fstack-protector-strong -fstack-clash-protection -Wformat 
> -Werror=format-security -fcf-protection -Wl,-z,relro  -o t_get_etype_info 
> t_get_etype_info.o -lkrb5 -lk5crypto -lcom_err  -lkrb5support  -lkeyutils 
> -lresolv  
> Makefile:468: update target 't_expire_warn.o' due to: target does not exist
> gcc -DHAVE_CONFIG_H -DLIBDIR=\"/usr/lib/x86_64-linux-gnu\" 
> -DDYNOBJEXT=\".so\" -I../../../include -I../../../../src/include 
> -I../../../../src/lib/krb5/krb/../os -I../../../../src -DKRB5_DEPRECATED=1 
> -DKRB5_PRIVATE -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 
> -Werror=implicit-function-declaration 
> -ffile-prefix-map=/build/reproducible-path/krb5-1.21.3=. 
> -fstack-protector-strong -fstack-clash-protection -Wformat 
> -Werror=format-security -fcf-protection -Wall -Wcast-align -Wshadow 
> -Wmissing-prototypes -Wno-format-zero-length -Woverflow -Wstrict-overflow 
> -Wmissing-format-attribute -Wmissing-prototypes -Wreturn-type 
> -Wmissing-braces -Wparentheses -Wswitch -Wunused-function -Wunused-label 
> -Wunused-variable -Wunused-value -Wunknown-pragmas -Wsign-compare 
> -Werror=uninitialized -Wno-maybe-uninitialized -Werror=pointer-arith 
> -Werror=int-conversion -Werror=incompatible-pointer-types 
> -Werror=discarded-qualifiers -Werror=implicit-int 
> -Werror=declaration-after-statement -Werror-implicit-function-declaration 
> -pthread  -c ../../../../src/lib/krb5/krb/t_expire_warn.c
> Makefile:1054: update target 't_expire_warn' due to: target does not exist
> gcc -L../../../lib  -g -O2 -Werror=implicit-function-declaration 
> -ffile-prefix-map=/build/reproducible-path/krb5-1.21.3=. 
> -fstack-protector-strong -fstack-clash-protection -Wformat 
> -Werror=format-security -fcf-protection -Wl,-z,relro  -o t_expire_warn 
> t_expire_warn.o -lkrb5 -lk5crypto -lcom_err  -lkrb5support  -lkeyutils 
> -lresolv  
> Makefile:1126: update target 'check-pytests' due to: target does not exist
> PYTHONPATH=../../../../src/util VALGRIND="" python3 
> ../../../../src/lib/krb5/krb/t_expire_warn.py 
> PYTHONPATH=../../../../src/util VALGRIND="" python3 
> ../../../../src/lib/krb5/krb/t_vfy_increds.py 
> PYTHONPATH=../../../../src/util VALGRIND="" python3 
> ../../../../src/lib/krb5/krb/t_in_ccache_patypes.py 
> Traceback (most recent call last):
>   File 
> "/build/reproducible-path/krb5-1.21.3/build/lib/krb5/krb/../../../../src/lib/krb5/krb/t_in_ccache_patypes.py",
>  line 34, in <module>
>     realm.run(['./t_in_ccache', 'nopreauth', 'pass'])
>     ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/build/reproducible-path/krb5-1.21.3/src/util/k5test.py", line 1045, 
> in run
>     return _run_cmd(args, env, **keywords)
>   File "/build/reproducible-path/krb5-1.21.3/src/util/k5test.py", line 739, 
> in _run_cmd
>     proc = subprocess.Popen(args, stdin=infile, stdout=subprocess.PIPE,
>                             stderr=subprocess.STDOUT, env=env,
>                             universal_newlines=True)
>   File "/usr/lib/python3.13/subprocess.py", line 1039, in __init__
>     self._execute_child(args, executable, preexec_fn, close_fds,
>     ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>                         pass_fds, cwd, env,
>                         ^^^^^^^^^^^^^^^^^^^
>     ...<5 lines>...
>                         gid, gids, uid, umask,
>                         ^^^^^^^^^^^^^^^^^^^^^^
>                         start_new_session, process_group)
>                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3.13/subprocess.py", line 1854, in _execute_child
>     self._posix_spawn(args, executable, env, restore_signals, close_fds,
>     ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>                       p2cread, p2cwrite,
>                       ^^^^^^^^^^^^^^^^^^
>                       c2pread, c2pwrite,
>                       ^^^^^^^^^^^^^^^^^^
>                       errread, errwrite)
>                       ^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3.13/subprocess.py", line 1798, in _posix_spawn
>     self.pid = os.posix_spawn(executable, args, env, **kwargs)
>                ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> FileNotFoundError: [Errno 2] No such file or directory: './t_in_ccache'
> For details, see: 
> /build/reproducible-path/krb5-1.21.3/build/lib/krb5/krb/testlog
> Or re-run this test script with the -v flag:
>     cd /build/reproducible-path/krb5-1.21.3/build/lib/krb5/krb
>     PYTHONPATH=/build/reproducible-path/krb5-1.21.3/src/util /usr/bin/python3 
> ../../../../src/lib/krb5/krb/t_in_ccache_patypes.py -v
> 
> Use --debug=NUM to run a command under a debugger.  Use
> --stop-after=NUM to stop after a daemon is started in order to
> attach to it with a debugger.  Use --help to see other
> options.
> make[6]: *** [Makefile:1128: check-pytests] Error 1 shuffle=reverse
> make[6]: Leaving directory 
> '/build/reproducible-path/krb5-1.21.3/build/lib/krb5/krb'
> make[5]: *** [Makefile:1112: check-recurse] Error 1 shuffle=reverse
> make[5]: Leaving directory 
> '/build/reproducible-path/krb5-1.21.3/build/lib/krb5'
> make[4]: *** [Makefile:973: check-recurse] Error 1 shuffle=reverse
> make[4]: Leaving directory '/build/reproducible-path/krb5-1.21.3/build/lib'
> make[3]: *** [Makefile:1521: check-recurse] Error 1 shuffle=reverse
> make[3]: Leaving directory '/build/reproducible-path/krb5-1.21.3/build'
> dh_auto_test: error: cd build && make -j1 check "TESTSUITEFLAGS=-j1 
> --verbose" VERBOSE=1 returned exit code 2


The full build log is available from:
http://qa-logs.debian.net/2025/05/05/shuffle/reverse/krb5_1.21.3-5_unstable_reverse.log

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

Reply via email to