Source: texlive-bin
Version: 2025.20250727.75242+ds-4
Severity: important
Tags: ftbfs patch

Hello,

texlive-bin currently FTBFS on hurd-any because it patches
texk/detex/detex-src/detex.l but apparently the automake rules don't
manage to recreate the Work/tekx/detex/detex-src directory properly:

https://buildd.debian.org/status/fetch.php?pkg=texlive-bin&arch=hurd-amd64&ver=2025.20250727.75242%2Bds-4&stamp=1755303272&raw=0

test -f detex-src/detex.c || /bin/bash 
../../../texk/detex/../../build-aux/ylwrap 
../../../texk/detex/detex-src/detex.l lex.yy.c detex-src/detex.c -- flex  
../../../texk/detex/../../build-aux/ylwrap: line 204: ../detex-src/detex.c: No 
such file or directory

One can see in the Makefile:

detex-src/$(am__dirstamp):
        @$(MKDIR_P) detex-src
        @: >>detex-src/$(am__dirstamp)

detex-src/detex.$(OBJEXT): detex-src/$(am__dirstamp) \
        detex-src/$(DEPDIR)/$(am__dirstamp)

That only puts a dependency on detex-src/$(am__dirstamp) for the object,
not for the source, so when the detex-src/detex.c source is getting
built, the detex-src directory is not there yet.

Actually, I wonder how it works by luck on linux-any, possibly due to
some timestamps behavior difference. When I try to reproduce the issue:

$ /tmp/texlive-bin-2025.20250727.75242+ds/texk/detex/configure 
--disable-dependency-tracking
$ make detex-src/detex.c
test -f detex-src/detex.c || /bin/bash 
/tmp/texlive-bin-2025.20250727.75242+ds/texk/detex/../../build-aux/ylwrap 
/tmp/texlive-bin-2025.20250727.75242+ds/texk/detex/detex-src/detex.l lex.yy.c 
detex-src/detex.c -- flex
/tmp/texlive-bin-2025.20250727.75242+ds/texk/detex/../../build-aux/ylwrap: line 
204: ../detex-src/detex.c: No such file or directory

I am getting the issue as well.

When not using --disable-dependency-tracking (which is added by
debhelper by default), the issue goes away because the makefile notices
that it doesn't have the detex-src/$(DEPDIR)/detex.Po and thus creates
it first, and thus creates the detex-src/$(DEPDIR) directory.

This is apparently a known bug in automake:

https://lists.gnu.org/archive/html/bug-automake/2017-06/msg00005.html

and still not fixed, so I wouldn't expect a fix any time soon, so a
solution would be to force enabling the dependency tracking as the
attached patch does.

Samuel
--- debian/rules.original       2025-08-19 01:24:09.000000000 +0200
+++ debian/rules        2025-08-19 01:24:28.000000000 +0200
@@ -135,6 +135,7 @@
        --disable-linked-scripts                \
        --with-banner-add=/Debian               \
        --enable-shared                         \
+       --enable-dependency-tracking            \
        --with-system-zlib                      \
        --with-system-zzlib                     \
        --with-system-potrace                   \

Reply via email to