[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.