Bug#1111524: texlive-bin: Fix ftbfs on hurd-any
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 to: