[From nobody Sun Apr 12 00:03:05 2026
Received: (at submit) by bugs.debian.org; 13 May 2025 19:19:25 +0000
X-Spam-Checker-Version: SpamAssassin 3.4.6-bugs.debian.org_2005_01_02
 (2021-04-09) on buxtehude.debian.org
X-Spam-Level: 
X-Spam-Status: No, score=-105.2 required=4.0 tests=BAYES_00,DKIMWL_WL_HIGH,
 DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FOURLA,
 FROMDEVELOPER,MONEY,SPF_HELO_NONE,SPF_NONE,STOCKLIKE,UNPARSEABLE_RELAY,
 USER_IN_DKIM_WELCOMELIST,USER_IN_DKIM_WHITELIST autolearn=ham
 autolearn_force=no version=3.4.6-bugs.debian.org_2005_01_02
X-Spam-Bayes: score:0.0000 Tokens: new, 116; hammy, 150; neutral, 195; spammy,
 0. spammytokens:
 hammytokens:0.000-+--Hx-spam-relays-external:sk:stravin,
 0.000-+--H*RT:sk:stravin, 0.000-+--Hx-spam-relays-external:311,
 0.000-+--H*RT:311, 0.000-+--H*RT:108
Return-path: &lt;lucas@debian.org&gt;
Received: from stravinsky.debian.org ([2001:41b8:202:deb::311:108]:56056)
 from C=NA, ST=NA, L=Ankh Morpork, O=Debian SMTP, OU=Debian SMTP CA,
 CN=stravinsky.debian.org, EMAIL=hostmaster@stravinsky.debian.org (verified)
 by buxtehude.debian.org with esmtps
 (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.94.2) (envelope-from &lt;lucas@debian.org&gt;) id 1uEv9x-0074kq-F4
 for submit@bugs.debian.org; Tue, 13 May 2025 19:19:25 +0000
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debian.org; 
 s=smtpauto.stravinsky;
 h=X-Debian-User:Content-Type:MIME-Version:Message-ID:
 Subject:To:From:Date:Reply-To:Cc:Content-Transfer-Encoding:Content-ID:
 Content-Description:In-Reply-To:References;
 bh=Q3ErO4ioKY6B4TzHXkTAlM7n+elwHiKW/3ieuLdJMtQ=; b=AYSFhHtucmlwH4BHEf6phVO5PA
 EulrZAh1a+n2F/NEz2JmmEcxMBHuaHOm8WRMahLZAlPwpvr8+MwZMTwLcY432J/3Rd8U4WED7eCpb
 OS9T7y73woOZiRL5pwtuvDI1RiVUFBneySxjg8H44zJA/+8vdj7SqX4Wp7+O6BEadSZJ9gohPGEQF
 pNQBZEidrzQHAyzDxbIf3KGOat9oqSNdnlw4PE9kSxvO5JfrWu61m/U8a8pM7FNLkVzRz1LyBvXgd
 FudWtG5Lrteb0Gko3iFBxm57QSFXJu/McJYstoKbXjf9TX20hMgeyWnVqRdqHTfCkbh3SJVj2Tb66
 q/71F7qQ==;
Received: from authenticated user by stravinsky.debian.org with esmtpsa
 (TLS1.3:ECDHE_SECP256R1__RSA_PSS_RSAE_SHA256__AES_256_GCM:256)
 (Exim 4.94.2) (envelope-from &lt;lucas@debian.org&gt;) id 1uEv9v-00AqbD-Qm
 for submit@bugs.debian.org; Tue, 13 May 2025 19:19:24 +0000
Date: Tue, 13 May 2025 21:16:43 +0200
From: Lucas Nussbaum &lt;lucas@debian.org&gt;
To: submit@bugs.debian.org
Subject: tclx8.4: FTBFS with make --shuffle=reverse: dh_install: error:
 missing files, aborting
Message-ID: &lt;aCOam8VOszCM-osD@grub.nussbaum.fr&gt;
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
X-Debian-User: lucas
Delivered-To: submit@bugs.debian.org

Source: tclx8.4
Version: 8.4.1-4
Severity: minor
Tags: trixie sid ftbfs
User: lucas@debian.org
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):
&gt; make[1]: Entering directory '/build/reproducible-path/tclx8.4-8.4.1'
&gt; Makefile:459: update target 'install-help' due to: target does not exist
&gt; if test -d &quot;/build/reproducible-path/tclx8.4-8.4.1/help&quot; ; then \
&gt;      echo &quot;Installing TclX help files in `echo /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/help`&quot;; \
&gt;      mkdir -p `echo /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/help`; \
&gt;      TCL_LIBRARY=`echo /usr/include/tcl8.6/tcl-private/library` TCLX_LIBRARY=`echo ./library` TCLX_HELP_DIR=&quot;`echo /build/reproducible-path/tclx8.4-8.4.1/help`&quot; LD_LIBRARY_PATH=&quot;.:/usr/lib:&quot; PATH=&quot;.:/usr/lib:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games&quot; TCLLIBPATH=&quot;.&quot; /usr/bin/tclsh8.6 `echo ./unix/tools`/instcopy.tcl `echo /build/reproducible-path/tclx8.4-8.4.1/help` `echo /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/help`; \
&gt; fi
&gt; Makefile:223: update target 'install-doc' due to: target does not exist
&gt; mkdir -p /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/share/man/mann
&gt; echo &quot;Installing documentation in /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/share/man&quot;
&gt; Installing documentation in /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/share/man
&gt; list='./doc/*.n'; for i in $list; do \
&gt;     echo &quot;Installing $i&quot;; \
&gt;     rm -f /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/share/man/mann/`basename $i`; \
&gt;     /usr/bin/install -c -m 644 $i /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/share/man/mann ; \
&gt; done
&gt; Installing ./doc/TclX.n
&gt; Makefile:210: update target 'install-libraries' due to: target does not exist
&gt; mkdir -p /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/include
&gt; echo &quot;Installing header files in /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/include&quot;
&gt; Installing header files in /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/include
&gt; list='generic/tclExtend.h'; for i in $list; do \
&gt;     echo &quot;Installing ./$i&quot; ; \
&gt;     /usr/bin/install -c -m 644 ./$i /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/include ; \
&gt; done;
&gt; Installing ./generic/tclExtend.h
&gt; Makefile:411: update target 'install-bin-binaries' due to: target does not exist
&gt; mkdir -p /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/bin
&gt; list=''; for p in $list; do \
&gt;   if test -f $p; then \
&gt;     echo &quot; /usr/bin/install -c $p /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/bin/$p&quot;; \
&gt;     /usr/bin/install -c $p /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/bin/$p; \
&gt;   fi; \
&gt; done
&gt; Makefile:366: update target 'install-lib-binaries' due to: target does not exist
&gt; mkdir -p /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4
&gt; list='libtclx8.4.a'; for p in $list; do \
&gt;   if test -f $p; then \
&gt;     echo &quot; /usr/bin/install -c $p /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/$p&quot;; \
&gt;     /usr/bin/install -c $p /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/$p; \
&gt;     stub=`echo $p|sed -e &quot;s/.*\(stub\).*/\1/&quot;`; \
&gt;     if test &quot;x$stub&quot; = &quot;xstub&quot;; then \
&gt; 	echo &quot; x86_64-linux-gnu-ranlib /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/$p&quot;; \
&gt; 	x86_64-linux-gnu-ranlib /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/$p; \
&gt;     else \
&gt; 	echo &quot; x86_64-linux-gnu-ranlib /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/$p&quot;; \
&gt; 	x86_64-linux-gnu-ranlib /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/$p; \
&gt;     fi; \
&gt;     ext=`echo $p|sed -e &quot;s/.*\.//&quot;`; \
&gt;     if test &quot;x$ext&quot; = &quot;xdll&quot;; then \
&gt; 	lib=`basename $p|sed -e 's/.[^.]*$//'`.lib; \
&gt; 	if test -f $lib; then \
&gt; 	    echo &quot; /usr/bin/install -c -m 644 $lib /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/$lib&quot;; \
&gt;             /usr/bin/install -c -m 644 $lib /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/$lib; \
&gt; 	fi; \
&gt;     fi; \
&gt;   fi; \
&gt; done
&gt;  /usr/bin/install -c libtclx8.4.a /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/libtclx8.4.a
&gt;  x86_64-linux-gnu-ranlib /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/libtclx8.4.a
&gt; list='library/tclx.tcl library/autoload.tcl library/arrayprocs.tcl library/compat.tcl library/convlib.tcl library/edprocs.tcl library/events.tcl library/forfile.tcl library/globrecur.tcl library/help.tcl library/profrep.tcl library/pushd.tcl library/setfuncs.tcl library/showproc.tcl library/stringfile.tcl library/tcllib.tcl library/fmath.tcl library/buildhelp.tcl'; for p in $list; do \
&gt;   if test -f ./$p; then \
&gt;     destp=`basename $p`; \
&gt;     echo &quot; Install $destp /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/$destp&quot;; \
&gt;     /usr/bin/install -c -m 644 ./$p /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/$destp; \
&gt;   fi; \
&gt; done
&gt;  Install tclx.tcl /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/tclx.tcl
&gt;  Install autoload.tcl /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/autoload.tcl
&gt;  Install arrayprocs.tcl /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/arrayprocs.tcl
&gt;  Install compat.tcl /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/compat.tcl
&gt;  Install convlib.tcl /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/convlib.tcl
&gt;  Install edprocs.tcl /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/edprocs.tcl
&gt;  Install events.tcl /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/events.tcl
&gt;  Install forfile.tcl /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/forfile.tcl
&gt;  Install globrecur.tcl /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/globrecur.tcl
&gt;  Install help.tcl /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/help.tcl
&gt;  Install profrep.tcl /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/profrep.tcl
&gt;  Install pushd.tcl /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/pushd.tcl
&gt;  Install setfuncs.tcl /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/setfuncs.tcl
&gt;  Install showproc.tcl /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/showproc.tcl
&gt;  Install stringfile.tcl /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/stringfile.tcl
&gt;  Install tcllib.tcl /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/tcllib.tcl
&gt;  Install fmath.tcl /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/fmath.tcl
&gt;  Install buildhelp.tcl /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/buildhelp.tcl
&gt; if test &quot;x0&quot; = &quot;x1&quot;; then \
&gt;     echo &quot; Install pkgIndex.tcl /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4&quot;; \
&gt;     /usr/bin/install -c -m 644 pkgIndex.tcl /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4; \
&gt; fi
&gt; make[1]: Leaving directory '/build/reproducible-path/tclx8.4-8.4.1'
&gt; cp -fp libtclx*.a /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/
&gt; # Fix the installation
&gt; mv /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/lib* /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/
&gt; ln -nfs libtclx8.4.so.0 \
&gt;     /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/libtclx8.4.so
&gt; mkdir -p /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/include/tclx8.4
&gt; mv /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/include/*.h \
&gt;     /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/include/tclx8.4/
&gt; sh ./debian/install_manpages /build/reproducible-path/tclx8.4-8.4.1/debian/tmp
&gt; ln -nfs TclX.3tclx.gz /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/share/man/man3/tclx.3tclx.gz
&gt; # Load only on tcl8.4
&gt; echo 'if {[package vcompare [info tclversion] 8.4] &lt; 0} return' \
&gt;     &gt; /build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/pkgIndex.tcl
&gt; sed 's|\$dir|/usr/lib|' &lt; pkgIndex.tcl \
&gt;     &gt;&gt;/build/reproducible-path/tclx8.4-8.4.1/debian/tmp/usr/lib/tclx8.4/pkgIndex.tcl
&gt; # Copy files in packages directories
&gt; dh_install -v --sourcedir=debian/tmp
&gt; dh_install: warning: Cannot find (any matches for) &quot;usr/lib/libtclx*.so.*&quot; (tried in debian/tmp, debian/tmp)
&gt; 
&gt; dh_install: warning: tclx8.4 missing files: usr/lib/libtclx*.so.*
&gt; dh_install: error: missing files, aborting
&gt; make: *** [debian/rules:126: install] Error 255 shuffle=reverse


The full build log is available from:
http://qa-logs.debian.net/2025/05/05/shuffle/reverse/tclx8.4_8.4.1-4_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
]