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

Re: Fail to build debian package syslinux-common



Hi,

There seems to be quite some misconceptions in your mail.

On Wed, Apr 27, 2022 at 11:22:59AM +0200, Pierre HITSCH wrote:
> First of all here is my setup : Debian 10.12 through VirtualBox 6.0.
> For some reasons, I have to build the debian package "syslinux-common". I did the following steps :

It is not entirely clear whether you are trying to perform a native
build or a cross build here. You seem to imply a cross build given the
list you mailed, but you didn't disclose your build architecture, so I
cannot tell.

> apt-get source syslinux-common
> cd syslinux-6.04~git20190206.bf6db5b4+dfsg1
> apt-get build-dep syslinux-common

This is satisfying build dependencies for a native build (of unknown
architecture).

> debuild -b -us -ui -uc --target-arch=amd64

This is performing a cross compiler build where the build architecture
equals the host architecture, both of which are unknown and the target
architecture being amd64. Given that syslinux is not a compiler. The
target architecture does not matter and you are performing a native
build here.

> This process fails with the following error happening in the dh_missing process :
> 
> | dh_missing --fail-missing
> | dh_missing: usr/share/syslinux/syslinux.exe exists in debian/tmp but is not installed to anywhere
> | dh_missing: usr/share/syslinux/syslinux64.exe exists in debian/tmp but is not installed to anywhere
> | dh_missing: missing files, aborting
> |	The following debhelper tools have reported what they installed (with files per package)
> | 	 * dh_install: extlinux (5), isolinux (10), pxelinux (3), syslinux (5), syslinux-common (166), syslinux-efi (2), syslinux-utils (11)
> | 	 * dh_installdocs: extlinux (0), isolinux (0), pxelinux (0), syslinux (0), syslinux-common (0), syslinux-efi (0), syslinux-utils (0)
> |	 * dh_installexamples: extlinux (0), isolinux (0), pxelinux (0), syslinux (0), syslinux-common (5), syslinux-efi (0), syslinux-utils (0)
> |	 * dh_installman: extlinux (1), isolinux (0), pxelinux (0), syslinux (1), syslinux-common (0), syslinux-efi (0), syslinux-utils (11)
> |	If the missing files are installed by another tool, please file a bug against it.
> |	When filing the report, if the tool is not part of debhelper itself, please reference the
> |	"Logging helpers and dh_missing" section from the "PROGRAMMING" guide for debhelper (10.6.3+).
> |	  (in the debhelper package: /usr/share/doc/debhelper/PROGRAMMING.gz)
> |	Be sure to test with dpkg-buildpackage -A/-B as the results may vary when only a subset is built
> |	For a short-term work-around: Add the files to debian/not-installed
> | make[1]: *** [debian/rules:57: override_dh_missing] Error 255
> | make[1]: Leaving directory '/home/user/Downloads/sgw/sgw/repo_wdir/syslinux-6.04~git20190206.bf6db5b4+dfsg1'
> | make: *** [debian/rules:14: binary] Error 2
> | dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2
> | debuild: fatal error at line 1182:
> | dpkg-buildpackage -us -uc -ui -b failed
> 
> It complains about exe file not installed on the system, I tried to build only the architecture
> independent binary packages (-A option), resulting with the same error. Architecture specific 
> binary packages only (-B option) fails also with the same error.
> 
> I wonder why debuild complains about exe files not installed and how to fix it.

I guess that your build environment contained packages not requested by
Build-Depends. While this works somtimes, it also can cause failures.
syslinux.exe is not normally included in syslinux nor built. Try using
sbuild or pbuilder.

If you really do want to cross build syslinux, the first step is fixing
its FTBFS #994274 and then fixing its Build-Depends, see
https://crossqa.debian.net/src/syslinux.

Helmut


Reply to: