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