help-guix
[Top][All Lists]
Advanced

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

Re: Build Mesa with a different toolchain version


From: Thiago Jung Bauermann
Subject: Re: Build Mesa with a different toolchain version
Date: Thu, 03 Jun 2021 02:14:52 -0300

Hi,

Thank you for your response.

Em quarta-feira, 2 de junho de 2021, às 06:22:48 -03, Efraim Flashner escreveu:
> On Tue, Jun 01, 2021 at 09:46:56PM -0300, Thiago Jung Bauermann wrote:
> > Hello,
> > 
> > I'm having and issue with Mesa on i686-linux which I suspect is caused
> > by the version of GCC used to build it (i.e. 7.5.0).
> > 
> > To test my theory, I'm trying to build Mesa with a newer version of the
> > compiler. I tried a few different things, but none worked. I would be
> > grateful if someone could help me figure out how to do this:
> > 
> > Try #1:
> > 
> > $ guix build --system=i686-linux \
> > 
> >     --with-input=gcc-toolchain=gcc-toolchain@10.3.0 mesa
> 
> I believe you have the wrong command here. What you want is
> $ guix build --system=i686-linux \
>       --with-c-toolchain=mesa=gcc-toolchain@10 mesa

Thanks, that worked! I read most of the Guix manual, but I had forgotten 
about the `--with-c-toolchain` option. Searching for it in the manual
also made me find the `package-with-c-toolchain` function, which does
the same thing from Scheme code.

Though there’s something weird about Mesa’s build process. Different 
libraries end up linked to different GCC versions. :-/

$ guix build --system=i686-linux --with-c-toolchain=mesa=gcc-toolchain@10 mesa
[…]
successfully built /gnu/store/59mczv3gwq3bnnw2jqcj8vqimihqi6c1-mesa-20.2.4.drv
/gnu/store/8zlcwhd10nj2kv56ip5cgf5rg7523yvm-mesa-20.2.4-bin
/gnu/store/5w54z00fldvgdknn06xp66irqslhp6ff-mesa-20.2.4

$ ldd 
/gnu/store/5w54z00fldvgdknn06xp66irqslhp6ff-mesa-20.2.4/lib/libOSMesa.so.8.0.0 
G gcc               
        libstdc++.so.6 => 
/gnu/store/92p8kxb6a5xpdi6srb8cj71fggqpkmjk-gcc-10.3.0-lib/lib/libstdc++.so.6 
(0xf52e7000)
        libgcc_s.so.1 => 
/gnu/store/92p8kxb6a5xpdi6srb8cj71fggqpkmjk-gcc-10.3.0-lib/lib/libgcc_s.so.1 
(0xf51c6000)

$ ldd 
/gnu/store/5w54z00fldvgdknn06xp66irqslhp6ff-mesa-20.2.4/lib/libGL.so.1.2.0 G 
gcc                   
        libgcc_s.so.1 => 
/gnu/store/1527570cy2g7ld4wppmh3skvi27kvm43-gcc-7.5.0-lib/lib/libgcc_s.so.1 
(0xf78ed000)

Also the 32-bit game I’m trying to run somehow gets linked to different
Mesa builds too:

        libGL.so.1 => 
/gnu/store/27yzdsj09mm3ijj4zhikcgjjqjlr74yc-mesa-20.2.4/lib/libGL.so.1 
(0xf71a9000)
        libgbm.so.1 => 
/gnu/store/6k4wj4472nbws2z4fqy1qmnp07say5x7-mesa-20.2.4/lib/libgbm.so.1 
(0xf66c5000)
        libglapi.so.0 => 
/gnu/store/27yzdsj09mm3ijj4zhikcgjjqjlr74yc-mesa-20.2.4/lib/libglapi.so.0 
(0xf6621000)

The 27yz… build is the GCC 10.3.0 one, and 6k4wj… is the GCC 7.5.0 one.

Perhaps my time would be better spent trying to help get ‘core-updates’
in shape rather than trying to work around a 4 years old compiler bug¹.

-- 
Thanks,
Thiago

¹ https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=866354 – the bug is
in armel, but I’m getting the exact same error message in Mesa, so I
suspect it also affects i686.





reply via email to

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