Hello Helmut,

I am running into this issue when trying to crossbuild with cowbuilder:

The following packages have unmet dependencies:
 builddeps:/build/haproxy_3.0.5-2.dsc:arm64 : Depends: python3-sphinx:amd64
Depends: python3:arm64 but it is not going to be installed Depends: python3-mako:arm64 but it is not installable


I am only adding --git-pbuilder-options="--host-arch arm64" to "gbp buildpackage".

Isn't there something to do also for Build-Depends-Indep? I wonder why python3-sphinx is not build-depends-indep. I'll investigate that.

On 2024-08-24 11:28, Helmut Grohne wrote:
Source: haproxy
Version: 2.9.9-1
Tags: patch
User: debian-cr...@lists.debian.org
Usertags: cross-satisfiability ftcbfs

haproxy cannot be cross built from source for multiple reasons. The
immediate issue is the python3-sphinx dependency. That package is
affected by the multiarch interpreter problem and hence must not be
annotated Multi-Arch: foreign. As a result, the dependency is
technically unsatisfiable. Whilst it can be used in
architecture-dependent ways, that's not the common case and we are
commonly annotating it :native. That's also applicable here as it is
used for manual page generation. If the manual page were not included in
an Arch:any package the preferred solution were to move it to
Build-Depends-Indep.

Then debian/rules does not pass any cross tools to make. While normally,
I'd recommend using dh_auto_build, the install target also uses CC and
dh_auto_install does not pass cross tools. So here, I recommend passing
them explicitly instead.

Last but not least, the upstream build system hard codes the build
architecture pkg-config in a few spots. It is recommended for Makefile
build systems to always refer to it via the PKG_CONFIG variable to allow
passing a different one for cross building.

All of these issues are fixed in the attached patch and it makes haproxy
cross buildable. Please consider applying it and forwarding the upstream
parts.

Helmut

Reply via email to