[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: