#1132204 gprofng-gui: FTBFS: ln: failed to create symbolic link '/<<PKGBUILDDIR>>/debian/gprofng-gui/usr/share/man/man1/gp-display-gui.1': No such file or directory

#1132204#5
Date:
2026-03-29 11:22:22 UTC
From:
To:
Dear maintainer:

During a rebuild of all packages in unstable, this package failed to build.

Below you will find the most relevant part.
If required, the full build log is available here:

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

This bug was introduced when install-man-symlink.diff was added and it
happens because the Makefile is trying to create gprofng-display-gui.1
symlink without first ensuring that debian/gprofng-gui/usr/share/man/man1 exists,
so if this ever worked for anybody, it was by pure chance.

The attached patch (which modifies install-man-symlink.diff) should fix
the issue for everybody.

Thanks.
--------------------------------------------------------------------------------
[...]
    dh_auto_install --destdir=debian/gprofng-gui/
	make -j1 install DESTDIR=/<<PKGBUILDDIR>>/debian/gprofng-gui AM_UPDATE_INFO_DIR=no
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
  /usr/bin/mkdir -p '/<<PKGBUILDDIR>>/debian/gprofng-gui/usr/bin'
  /usr/bin/install -c gprofng-display-gui '/<<PKGBUILDDIR>>/debian/gprofng-gui/usr/bin'
for d in 32x32 48x48 64x64 128x128 256x256 ; do \
   /bin/bash /<<PKGBUILDDIR>>/install-sh -d /<<PKGBUILDDIR>>/debian/gprofng-gui/usr/share/icons/hicolor/$d/apps ; \
   cp ./images/gprofng-$d.png /<<PKGBUILDDIR>>/debian/gprofng-gui/usr/share/icons/hicolor/$d/apps/gprofng.png ; \
   chmod 644 /<<PKGBUILDDIR>>/debian/gprofng-gui/usr/share/icons/hicolor/$d/apps/gprofng.png ; \
done
/bin/bash /<<PKGBUILDDIR>>/install-sh -d /<<PKGBUILDDIR>>/debian/gprofng-gui/usr/share/applications
cp gprofng-gui.desktop /<<PKGBUILDDIR>>/debian/gprofng-gui/usr/share/applications/
chmod 644 /<<PKGBUILDDIR>>/debian/gprofng-gui/usr/share/applications/gprofng-gui.desktop
/bin/bash /<<PKGBUILDDIR>>/install-sh -d /<<PKGBUILDDIR>>/debian/gprofng-gui/usr/bin
rm -f /<<PKGBUILDDIR>>/debian/gprofng-gui/usr/bin/gp-display-gui
ln -s gprofng-display-gui /<<PKGBUILDDIR>>/debian/gprofng-gui/usr/bin/gp-display-gui
ln -s gprofng-display-gui.1 /<<PKGBUILDDIR>>/debian/gprofng-gui/usr/share/man/man1/gp-display-gui.1
ln: failed to create symbolic link '/<<PKGBUILDDIR>>/debian/gprofng-gui/usr/share/man/man1/gp-display-gui.1': No such file or directory
make[2]: *** [Makefile:1767: install-exec-local-linux] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: *** [Makefile:1471: install-am] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_install: error: make -j1 install DESTDIR=/<<PKGBUILDDIR>>/debian/gprofng-gui AM_UPDATE_INFO_DIR=no returned exit code 2
make: *** [debian/rules:6: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2
--------------------------------------------------------------------------------

#1132204#10
Date:
2026-03-29 13:53:08 UTC
From:
To:
Control: severity -1 wishlist

the build just succeeded on the buildds, plus it succeeds locally.  So
no, it builds.

If you have a buildd configuration that differs from the ones used on
the Debian buildds, you should mention it in the bug report, and not
exaggerating the severity of the report.

#1132204#17
Date:
2026-03-29 17:56:54 UTC
From:
To:
By pure chance.

By pure chance.

By pure chance. Packages that build ok by pure chance may not be said
to build from source.

You can reproduce this easily by doing this before the build:

export DEB_BUILD_OPTIONS=parallel=1

which clearly shows the bug in the Makefile. However, that does *not*
mean that it will *only* fail that way. The precise cases where it
fails are still unknown, but given that there is a patch fixing the
issue on the table, we don't really need to know.

Are you claiming this is not a violation of Policy 4.2?

Please quote chapter and verse in Policy where it says this is
wishlist, as I don't think I am the one exaggerating severities.

It could be argued that this is also a violation of 4.9.1 regarding the
implementation of parallel=n in DEB_BUILD_OPTIONS. Quote:

  If the package build system supports parallel builds, it must respect the parallel=n flag

  If the package build system does not support parallel builds, this string must be ignored.

  If the package build system only supports a lower level of
  concurrency than n, the package should be built using as many
  parallel processes as the package build system supports.

Note that there are essentially two options here, namely "supporting
parallel builds" and "not supporting parallel builds". The case where
*only* parallel builds (with N>=2) are supported does not even exist,
as it's taken for granted that packages will always build with make -j1.
As far as I know, that's also the policy followed by the GNU project.

Thanks.

#1132204#22
Date:
2026-11-04 13:27:26 UTC
From:
To:
Hello.

Given that I asked in this bug report where Debian Policy states that
build failures with DEB_BUILD_OPTIONS=parallel=1 are "not really a bug,
just a nice thing to have", and no such statement was pointed out,
I have filed this matter with the Technical Committee, in case you
want to subscribe:

https://bugs.debian.org/1153014

I've also used X-Debbugs-CC, so you should receive a copy.

Thanks.