Package: make
Version: 4.0-8.1
Severity: wishlist
User: debian-cr...@lists.debian.org
Usertags: cross-satisfiability

Hi,

make not being Multi-Arch:foreign is currently the reason for 228 source
packages not being able to satisfy their cross build dependencies [1].
Bug #693926 was the first attempt in making it M-A:foreign but it was
correctly spotted by Jakub Wilk that the "-lfoo" prerequisites resolve
the library path of "foo" depending on the architecture of make, thus
giving it an architecture dependent interface.

I also saw in earlier bug involving the -l targets and multiarch:
#618840. The patch that fixed the bug in the end sets the MULTIARCH_DIRS
variable in to the value of DEB_HOST_MULTIARCH at compile time in
configure.in and is later used to compile remake.c. I think that by now
the patch is defunct as configure.in does not exist anymore and thus the
MULTIARCH_DIRS variable never gets set. Maybe that patch should be
removed?

Anyways, this approach would also not solve the problem because it would
set the variable at compile time but a working solution would search the
right library path at run time.

The question is, how to supply the host architecture to make at run
time.

One way would be to add a dependency on dpkg-dev to the make binary
package and let the make executable call `dpkg-architecture
-qDEB_HOST_MULTIARCH` at run time.

There also exists the MAKE_HOST variable but according to the file NEWS
it is supposed to be the architecture that make was compiled for, so it
doesn't help with this.

Yet another way would be to create a new Debian specific environment
variable which affected packages set in debian/rules. But this again
requires to change many source packages.

Depending on what you find a reasonable solution I can supply a patch.

Thanks!

cheers, josch

[1] http://bootstrap.debian.net/cross_all.html


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to