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

Re: sbuild & cross build



Am 15.04.2020 um 02:45 teilte Wookey mit:
> On 2020-04-15 00:02 +0200, Hilmar Preuße wrote:

Hi,

Thanks for the answer Wookey!

>> I'm pretty sure this is a dumb question. I'm using sbuild to cross
>> compile packages, e.g. texlive-bin. This works fine for release arches.
>> Now I try to build for a non-release arch like this:
>>
>> sbuild --host=sparc64 -d unstable --extra-repository='deb
>> http://ftp.de.debian.org/debian-ports unstable main'
>> --extra-repository-key=/usr/share/keyrings/debian-ports-archive-keyring.gpg
>>  texlive-bin
>>
>> The build fails, the build log tells me that some B/D's could not be
>> fulfilled. However I know that the packages in question do exist for
>> that arch. What am I missing?
> 
> It's because libc6 is out of date on sparc64 compared to amd64 (the
> arch I assume you are building on)
> 
Sounds plausible. And I guess for powerpc the root cause is the same,
the libgd-dev shows a version skew between powerpc and amd64.

> you can't install mismatched versions of libc6 so none of the
> cross-dependencies will install. Once glibc 2.30-4 is built on sparc64
> theings should work (so long as no other libraries are
> version-skewed).
> 

> Building in testing is one way to avoid this problem, if that's any
> use to you.
> 
Tried to do so:

sbuild --host=powerpc -d testing --extra-repository='deb
http://ftp.de.debian.org/debian-ports unstable main'
--extra-repository-key=/usr/share/keyrings/debian-ports-archive-keyring.gpg
texlive-bin

(there is no testing dist for the ports), similar results: some BD's
could not be fulfilled.

Anyway: we have build failures of texlive-bin on sparch64/powerpc very
likely b/c there are too many build threads called in parallel. I would
not have been able to reproduce this issue on my box as my Oracle VBox
VM has only one CPU. ;-)
We need to reduce the # of threads on sparc64 & powerpc. Second try
looks like this:

NO_MASSIVE_PARALLEL_BUILD := powerpc ppc64 sparc64

ifneq (,$(filter $(DEB_HOST_ARCH), $(NO_MASSIVE_PARALLEL_BUILD)))
    DEB_BUILD_OPTIONS=parallel=8
endif

This works fine, but now I have a lintian warning:

W: texlive-bin source: debian-rules-sets-DEB_BUILD_OPTIONS line 68

I also tried "MAKEFLAGS += -j8" inside the if statement, but the option
was ignored.

How do I implement the Debian way? Thanks!

Hilmar
-- 
sigfault
#206401 http://counter.li.org

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: