Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.bugs.dist > #1223104 > unrolled thread

Bug#1089253: fai: FTBFS with make 4.4.1

Started bySantiago Vila <sanvila@debian.org>
First post2024-12-07 19:10 +0100
Last post2024-12-08 22:40 +0100
Articles 9 — 1 participant

Back to article view | Back to linux.debian.bugs.dist


Contents

  Bug#1089253: fai: FTBFS with make 4.4.1 Santiago Vila <sanvila@debian.org> - 2024-12-07 19:10 +0100
    Bug#1089253: fai: FTBFS with make 4.4.1 Santiago Vila <sanvila@debian.org> - 2024-12-08 00:30 +0100
    Bug#1089253: fai: FTBFS with make 4.4.1 Santiago Vila <sanvila@debian.org> - 2024-12-08 01:00 +0100
    Bug#1089253: Fwd: Bug#1089253: fai: FTBFS with make 4.4.1 Santiago Vila <sanvila@debian.org> - 2024-12-08 13:40 +0100
    Bug#1089253: fai: FTBFS with make 4.4.1 Santiago Vila <sanvila@debian.org> - 2024-12-08 21:40 +0100
    Bug#1089253: fai: FTBFS with make 4.4.1 Santiago Vila <sanvila@debian.org> - 2024-12-08 21:50 +0100
      Bug#1089253: fai: FTBFS with make 4.4.1 Santiago Vila <sanvila@debian.org> - 2024-12-08 22:50 +0100
    Bug#1089253: fai: FTBFS with make 4.4.1 Santiago Vila <sanvila@debian.org> - 2024-12-08 22:10 +0100
    Bug#1089253: fai: FTBFS with make 4.4.1 Santiago Vila <sanvila@debian.org> - 2024-12-08 22:40 +0100

#1223104 — Bug#1089253: fai: FTBFS with make 4.4.1

FromSantiago Vila <sanvila@debian.org>
Date2024-12-07 19:10 +0100
SubjectBug#1089253: fai: FTBFS with make 4.4.1
Message-ID<JR7pD-etqw-17@gated-at.bofh.it>
Package: src:fai
Version: 6.2.3
User: debian-qa@lists.debian.org
Usertags: make-4.4
Severity: important
Tags: ftbfs

Dear Maintainer,

This package fails to build from source with Make 4.4.1, most likely because of
changes in $(shell) environment handling: environment variables exported from
Makefiles are now made available to commands invoked using $(shell), which
can cause issues with recursive definitions in particular. See
https://salsa.debian.org/debian/make/-/blob/master/debian/NEWS for a complete
list of backward-incompatible changes since Make 4.3.

Below you will find how the builds end, hopefully the most relevant
part from the build log. A full build log is available here:

https://people.debian.org/~sanvila/make-4.4/build-logs/

Make 4.4.1 is currently available in experimental and will hopefully
soon be uploaded to unstable, at which time this bug will become
release-critical.

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.

Please reach out to the Make maintainer, Stephen Kitt <skitt@debian.org> if
you need help fixing this.

--------------------------------------------------------------------------------
  debian/rules build
dh build
    dh_update_autotools_config
    dh_autoreconf
    dh_auto_configure
    debian/rules override_dh_auto_build
make[1]: Entering directory '/<<PKGBUILDDIR>>'
# Force UTF-8 locale to ensure UTF-8 file encoding for generated files
LC_ALL=C.UTF-8 dh_auto_build
	make -j2 "INSTALL=install --strip-program=true"
make[2]: Entering directory '/<<PKGBUILDDIR>>'
make syntaxcheck
make[3]: Entering directory '/<<PKGBUILDDIR>>'
Checking for shell syntax errorsChecking for bashisms......................................................................................................... done.
Checking for perl syntax errors:
Name "FAI::do_init_tasks" used only once: possible typo at lib/setup-storage/Commands.pm line 523.
lib/setup-storage/Commands.pm syntax OK
Name "FAI::DATADIR" used only once: possible typo at lib/setup-storage/Exec.pm line 172.
lib/setup-storage/Exec.pm syntax OK
Name "FAI::udev_settle" used only once: possible typo at lib/setup-storage/Fstab.pm line 105.
Name "FAI::configs" used only once: possible typo at lib/setup-storage/Fstab.pm line 243.
Name "FAI::no_dry_run" used only once: possible typo at lib/setup-storage/Fstab.pm line 115.
lib/setup-storage/Fstab.pm syntax OK
Name "FAI::udev_settle" used only once: possible typo at lib/setup-storage/Init.pm line 74.
Name "FAI::current_config" used only once: possible typo at lib/setup-storage/Init.pm line 120.
Name "FAI::current_dev_children" used only once: possible typo at lib/setup-storage/Init.pm line 159.
Name "FAI::do_init_tasks" used only once: possible typo at lib/setup-storage/Init.pm line 39.
Name "FAI::uses_raid" used only once: possible typo at lib/setup-storage/Init.pm line 136.
Name "FAI::uses_lvm" used only once: possible typo at lib/setup-storage/Init.pm line 128.
Name "FAI::no_dry_run" used only once: possible typo at lib/setup-storage/Init.pm line 59.
Name "FAI::dev_children" used only once: possible typo at lib/setup-storage/Init.pm line 158.
Name "FAI::crypttab" used only once: possible typo at lib/setup-storage/Init.pm line 97.
Name "FAI::current_raid_config" used only once: possible typo at lib/setup-storage/Init.pm line 135.
Name "FAI::DATADIR" used only once: possible typo at lib/setup-storage/Init.pm line 53.
Name "FAI::current_lvm_config" used only once: possible typo at lib/setup-storage/Init.pm line 127.
Name "FAI::check_only" used only once: possible typo at lib/setup-storage/Init.pm line 66.
Name "FAI::disks" used only once: possible typo at lib/setup-storage/Init.pm line 81.
Name "FAI::debug" used only once: possible typo at lib/setup-storage/Init.pm line 46.
lib/setup-storage/Init.pm syntax OK
.Name "FAI::reinstall" used only once: possible typo at lib/setup-storage/Parser.pm line 409.
Name "FAI::debug" used only once: possible typo at lib/setup-storage/Parser.pm line 1215.
lib/setup-storage/Parser.pm syntax OK
Name "FAI::device" used only once: possible typo at lib/setup-storage/Sizes.pm line 651.
Name "FAI::partition_pointer_dev_name" used only once: possible typo at lib/setup-storage/Sizes.pm line 654.
lib/setup-storage/Sizes.pm syntax OK
Name "FAI::DATADIR" used only once: possible typo at lib/setup-storage/Volumes.pm line 328.
Name "FAI::disks" used only once: possible typo at lib/setup-storage/Volumes.pm line 99.
lib/setup-storage/Volumes.pm syntax OK
bin/ainsl syntax OK
bin/device2grub syntax OK
.bin/dhcp-edit syntax OK
bin/fai-chboot syntax OK
.bin/fai-deps syntax OK
bin/fai-monitor syntax OK
bin/fai-monitor-gui syntax OK
bin/fai-new-mac syntax OK
bin/fcopy syntax OK
bin/install_packages syntax OK
. done.
bin/setup-storage syntax OK
dev-utils/setup-storage_deps-graph.pl syntax OK
examples/simple/tests/Faitest.pm syntax OK
lib/dhclient-perl syntax OK
lib/fai-savelog-ftp syntax OK
-> perl check done.
make[3]: Leaving directory '/<<PKGBUILDDIR>>'
make -C doc all
make[3]: Entering directory '/<<PKGBUILDDIR>>/doc'
a2x --dblatex-opts "-P latex.output.revhistory=0" -L -a toc -a toclevels=3 -f text fai-guide.txt
ln -fs /usr/share/asciidoc/images images
asciidoc -a toc2 -a toclevels=3 --theme=flask fai-guide.txt
a2x --dblatex-opts "-P latex.output.revhistory=0" -L --icons -a toc -a toclevels=3 -f pdf fai-guide.txt
a2x: ERROR: "dblatex" -t pdf -p "/etc/asciidoc/dblatex/asciidoc-dblatex.xsl" -s "/etc/asciidoc/dblatex/asciidoc-dblatex.sty" -P latex.output.revhistory=0  "/<<PKGBUILDDIR>>/doc/fai-guide.xml" returned non-zero exit status 1

make[3]: *** [Makefile:21: pdf] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/doc'
make[2]: *** [Makefile:23: all] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j2 "INSTALL=install --strip-program=true" returned exit code 2
make[1]: *** [debian/rules:13: override_dh_auto_build] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:9: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
--------------------------------------------------------------------------------

[toc] | [next] | [standalone]


#1223160

FromSantiago Vila <sanvila@debian.org>
Date2024-12-08 00:30 +0100
Message-ID<JRcpj-ewFf-5@gated-at.bofh.it>
In reply to#1223104
El 7/12/24 a las 23:56, Thomas Lange escribió:
> I wonder if the make change causes this error or something else in
> experimental causes it.

It's only make.

The build was made in unstable, using a chroot on which I had
previously installed the make.deb package by hand.

This is why there are no traces of experimental in the build log.
The sources.list file only had sid.

Thanks.

[toc] | [prev] | [next] | [standalone]


#1223163

FromSantiago Vila <sanvila@debian.org>
Date2024-12-08 01:00 +0100
Message-ID<JRcSm-ewP6-13@gated-at.bofh.it>
In reply to#1223104
Hi. I suggest for doc/Makefile:

- Try dropping -s from the first line.
- Try using "a2x -v" instead of "a2x".

My feeling is that several commands using a2x use the same intermediate xml files,
which will not work if you try to run them in parallel.

Try telling them to use different temporary files for the different
outputs (pdf, html, etc).

Thanks.

[toc] | [prev] | [next] | [standalone]


#1223206 — Bug#1089253: Fwd: Bug#1089253: fai: FTBFS with make 4.4.1

FromSantiago Vila <sanvila@debian.org>
Date2024-12-08 13:40 +0100
SubjectBug#1089253: Fwd: Bug#1089253: fai: FTBFS with make 4.4.1
Message-ID<JRoJP-eIYs-1@gated-at.bofh.it>
In reply to#1223104
[ Sorry for the duplicate, I made a typo in the bug number when sending this the first time ]

El 8/12/24 a las 13:00, Thomas Lange escribió:
> Oh, I see I already have this in debian/control:
> 
> Build-Depends-Indep: asciidoc-dblatex, w3m, dblatex, docbook-xsl, libparse-recdescent-perl
> 
> Why does is not work in your environment?

I see this:

a2x: deleting /tmp/20241208/fai-6.2.3/doc/fai-guide.text.html
a2x: deleting /tmp/20241208/fai-6.2.3/doc/fai-guide.xml
asciidoc: include: /tmp/20241208/fai-6.2.3/doc/includes/bootexample.txt
asciidoc: fai-guide.txt: line 1383: reading: /tmp/20241208/fai-6.2.3/doc/includes/bootexample.txt
asciidoc: include: /tmp/20241208/fai-6.2.3/doc/includes/fai-1st-part.txt
asciidoc: fai-guide.txt: line 1392: reading: /tmp/20241208/fai-6.2.3/doc/includes/fai-1st-part.txt
a2x: executing: "dblatex" -t pdf -p "/etc/asciidoc/dblatex/asciidoc-dblatex.xsl" -s "/etc/asciidoc/dblatex/asciidoc-dblatex.sty" -P latex.output.revhistory=0 -V  "/tmp/20241208/fai-6.2.3/doc/fai-guide.xml"

Build the book set list...
xsltproc -o doclist.txt --xinclude --xincludestyle doclist.xsl /tmp/20241208/fai-6.2.3/doc/fai-guide.xml
warning: failed to load external entity "/tmp/20241208/fai-6.2.3/doc/fai-guide.xml"
unable to parse /tmp/20241208/fai-6.2.3/doc/fai-guide.xml


What it seems is that several processes use the same "fai-guide.xml" as an intermediate file,
one of them removing it before doing something with it, the other trying to read it.

If there is a way to tell them to use different temporary *.xml files, that
could probably work.

If not, I would simply force sequential processing.

Thanks.

[toc] | [prev] | [next] | [standalone]


#1223264

FromSantiago Vila <sanvila@debian.org>
Date2024-12-08 21:40 +0100
Message-ID<JRwel-eY2s-5@gated-at.bofh.it>
In reply to#1223104
El 8/12/24 a las 20:59, Thomas Lange escribió:
> As far as I understand the policy, parallel builds are
> not mandatory. I also did not defined parallel=n in the rules file or
> in DEB_BUILD_OPTIONS.

It's funny that some people who want to avoid fixing Makefile
bugs which happens 100% of the time when there is only one CPU
say exactly the opposite, that sequential builds are not mandatory...

Obviously one of the claims may not be true.

Do you have an opinion about what Matthias Klose said in the last
message of this bug? I'm curious about what you think:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1081448

What Policy really says is that when build-dependencies are installed
the build must succeed, and it does not say anything about the number
of CPUs, so yes, this is a FTBFS bug, because the build must always
work.

Of course, if there is a bug in the Makefiles and you choose to
disable parallelism to avoid the build to fail, that's a completely
acceptable way to fix the FTBFS bug.

So, in some sense, you are right, but only when we use the right
wording to express it: Nobody will tell you that your package
should build in parallel when there is more than one CPU.
We just want the build to work in all systems.

> I've added
> .NOTPARALLEL:   pdf text
> to doc/Makefile so the two a2x command will not be run in parallel any
> more.

Fine. I wonder if you managed to reproduce the problem. Did that really
fix the problem or you just think it would?

Thanks.

[toc] | [prev] | [next] | [standalone]


#1223265

FromSantiago Vila <sanvila@debian.org>
Date2024-12-08 21:50 +0100
Message-ID<JRwo1-eYec-1@gated-at.bofh.it>
In reply to#1223104
El 8/12/24 a las 20:59, Thomas Lange escribió:
  
> As far as I understand the policy, parallel builds are
> not mandatory. I also did not defined parallel=n in the rules file or
> in DEB_BUILD_OPTIONS.

dpkg-buildpackage does it for you.

If you do not define DEB_BUILD_OPTIONS, it's assumed parallel=n
where n is the number of CPUs.

So naturally we have to be ready for our packages to be
built on systems with more than one CPU.

But as I said before: Disabling parallelism is completely ok,
and in fact, it's also the policy followed by the GNU project,
according to a recent conversation I had with Bruno Haible
(gettext upstream). GNU maintainers are encouraged to
support parallel builds, but they are allowed to disable it
if the program is not ready for that.

Thanks.

[toc] | [prev] | [next] | [standalone]


#1223271

FromSantiago Vila <sanvila@debian.org>
Date2024-12-08 22:50 +0100
Message-ID<JRxk5-eZBW-3@gated-at.bofh.it>
In reply to#1223265
El 8/12/24 a las 21:43, Santiago Vila escribió:
> dpkg-buildpackage does it for you.

Sorry, I meant debhelper. It depends on the compat level.

Thanks.

[toc] | [prev] | [next] | [standalone]


#1223266

FromSantiago Vila <sanvila@debian.org>
Date2024-12-08 22:10 +0100
Message-ID<JRwHn-eYRd-5@gated-at.bofh.it>
In reply to#1223104
El 8/12/24 a las 20:59, Thomas Lange escribió:

> I've added
> .NOTPARALLEL:   pdf text
> to doc/Makefile so the two a2x command will not be run in parallel any
> more.

Please note that such change will not fix the build problem.
(I've just tested and it still fails).

Thanks.

[toc] | [prev] | [next] | [standalone]


#1223268

FromSantiago Vila <sanvila@debian.org>
Date2024-12-08 22:40 +0100
Message-ID<JRxap-eZq0-1@gated-at.bofh.it>
In reply to#1223104

[Multipart message — attachments visible in raw view] — view raw

El 8/12/24 a las 22:19, Thomas Lange escribió:
> That fixed the problem for me in an Debian testing environment using
> make-j4 in the doc directory.

Good for you, but such fix still fails for me when using dpkg-buildpackage -j2.

I suggest using --no-parallel, as in the attached patch.

Thanks.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.bugs.dist


csiph-web