Package: john Version: 1.8.0-2 Usertags: goto-cc During a rebuild of all packages in a clean sid chroot (and cowbuilder+pbuilder) the build failed with the following error. Please note that we use our research compiler tool-chain (using tools from the cbmc package), which permits extended reporting on type inconsistencies at link time.
[...] gcc DES_fmt.o DES_std.o DES_bs.o DES_bs_b.o BSDI_fmt.o MD5_fmt.o MD5_std.o BF_fmt.o BF_std.o AFS_fmt.o LM_fmt.o trip_fmt.o dummy.o batch.o bench.o charset.o common.o compiler.o config.o cracker.o crc32.o external.o formats.o getopt.o idle.o inc.o john.o list.o loader.o logger.o math.o memory.o misc.o options.o params.o path.o recovery.o rpp.o rules.o signals.o single.o status.o tty.o wordlist.o unshadow.o unafs.o unique.o c3_fmt.o x86-64.o -Wl,-z,relro -s -lcrypt -o ../run/john error: conflicting function declarations "__fxstat" old definition in module john file /usr/include/x86_64-linux-gnu/sys/stat.h line 399 signed int (signed int, signed int, struct stat *) new definition in module logger file /usr/include/x86_64-linux-gnu/sys/stat.h line 399 signed int (signed int, signed int, struct stat *) reason for conflict in types listed below (struct/struct): composite type component counts differ (15/18) struct stat { unsigned long int st_dev; unsigned long int st_ino; unsigned long int st_nlink; unsigned int st_mode; unsigned int st_uid; unsigned int st_gid; signed int __pad0; unsigned long int st_rdev; signed long int st_size; signed long int st_blksize; signed long int st_blocks; struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; signed long int [3l] __unused; } struct stat { unsigned long int st_dev; unsigned long int st_ino; unsigned long int st_nlink; unsigned int st_mode; unsigned int st_uid; unsigned int st_gid; signed int __pad0; unsigned long int st_rdev; signed long int st_size; signed long int st_blksize; signed long int st_blocks; signed long int st_atime; unsigned long int st_atimensec; signed long int st_mtime; unsigned long int st_mtimensec; signed long int st_ctime; unsigned long int st_ctimensec; signed long int [3l] __unused; } Makefile:834: recipe for target '../run/john' failed make[3]: *** [../run/john] Error 64 make[3]: Leaving directory '/srv/jenkins-slave/workspace/sid-goto-cc-john/john-1.8.0/src' Makefile:182: recipe for target 'linux-x86-64' failed make[2]: *** [linux-x86-64] Error 2 This type conflict is caused by #define _XOPEN_SOURCE being present in logger.c, while it is missing from john.c. Indeed this should be set across the project, either in a project-wide header file or on the compiler command line. Best, Michael
pgpeeU0wuvyg_.pgp
Description: PGP signature