bug-guix
[Top][All Lists]
Advanced

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

bug#38336: ‘wine64-staging’ is very expensive to build


From: Rutger Helling
Subject: bug#38336: ‘wine64-staging’ is very expensive to build
Date: Tue, 03 Dec 2019 09:17:56 +0100

Hi Ludo,

Sorry for the late reply. I'm not really active anymore in Guix development for various reasons.

Wine needs a whole 32-bit dependency chain to be able to run both 32-bit and 64-bit code, since a Wine that can only run 64-bit code is considered useless. That is why the package is unfortunately so large. I don't think there's anything that can be done about that.

A couple of binaries are also copied, not just JSON files. That is where the 32-bit dependencies come from.

On 2019-11-23 00:12, Ludovic Courtès wrote:

Hello,

I noticed that ‘wine64-staging’ is our most expensive package to build.
Initially I was surprised because it only has a couple of nodes more in
its <package> object than ‘wine-staging’:

--8<---------------cut here---------------start------------->8---
ludo@ribbon ~/src/guix$ guix graph wine-staging |grep 'label = ' |wc -l
509
ludo@ribbon ~/src/guix$ guix graph wine64-staging |grep 'label = ' |wc -l
511
--8<---------------cut here---------------end--------------->8---

However, that single additional node leads to the duplication of the
whole derivation graph on x86_64-linux:

--8<---------------cut here---------------start------------->8---
ludo@ribbon ~/src/guix$ guix graph -t derivation wine-staging |grep 'label = ' |wc -l
2738
ludo@ribbon ~/src/guix$ guix graph -t derivation wine64-staging |grep 'label = ' |wc -l
4598
--8<---------------cut here---------------end--------------->8---

This is because ‘wine-staging’ has a hard-coded ‘#:system "i686-linux"’,
whereas ‘wine64-staging’ is (unsurprisingly :-)) built on x86_64-linux.

(The same problem happens with ‘wine’ vs. ‘wine64’.)

Likewise, ‘guix size wine64’ shows that every dependency appears twice
(one 32-bit, one 64-bit), and thus the total size is twice that of
‘wine’.

Rutger, is there something that can be done to avoid this?  Apparently
only JSON files are copied from ‘wine-staging’ into ‘wine64-staging’,
but maybe they refer to 32-bit shared libraries or something?

Thanks,
Ludo’.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]