GNU bug report logs - #27489
glibc fails to build on i686

Previous Next

Package: guix;

Reported by: Ricardo Wurmus <rekado <at> elephly.net>

Date: Sun, 25 Jun 2017 19:21:01 UTC

Severity: normal

Done: Ricardo Wurmus <rekado <at> elephly.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 27489 in the body.
You can then email your comments to 27489 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#27489; Package guix. (Sun, 25 Jun 2017 19:21:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ricardo Wurmus <rekado <at> elephly.net>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sun, 25 Jun 2017 19:21:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: "'bug-guix\@gnu.org'" <bug-guix <at> gnu.org>
Subject: glibc fails to build on i686
Date: Sun, 25 Jun 2017 21:19:48 +0200
Since commit 665d6a59161769e10b52ffcbcd5cd2db22f32681 I have to build
glibc from source.  Unfortunately, this fails with the following error:

--8<---------------cut here---------------start------------->8---
…
i686-guix-linux-gnu-gcc ../sysdeps/i386/i686/multiarch/strcspn-c.c -c -std=gnu11 -fgnu89-inline  -O2 -Wall -Werror -Wundef - 
In file included from ../sysdeps/x86_64/multiarch/strcspn-c.c:22:0,
                 from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
../sysdeps/x86_64/multiarch/varshift.h: In function '__m128i_shift_right':
../sysdeps/x86_64/multiarch/varshift.h:26:1: error: SSE vector return without SSE enabled changes the ABI [-Werror=psabi]
 {
 ^
In file included from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
                 from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
                 from ../sysdeps/x86_64/multiarch/strcspn-c.c:20,
                 from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
/gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.0/include/tmmintrin.h:h
 _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
 ^
In file included from ../sysdeps/x86_64/multiarch/strcspn-c.c:22:0,
                 from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
../sysdeps/x86_64/multiarch/varshift.h:27:10: error: called from here
   return _mm_shuffle_epi8 (value,
          ^
In file included from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
                 from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
                 from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
                 from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
                 from ../sysdeps/x86_64/multiarch/strcspn-c.c:20,
                 from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
/gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.0/include/emmintrin.h:h
 _mm_loadu_si128 (__m128i const *__P)
 ^
In file included from ../sysdeps/x86_64/multiarch/strcspn-c.c:22:0,
                 from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
../sysdeps/x86_64/multiarch/varshift.h:27:10: error: called from here
   return _mm_shuffle_epi8 (value,
          ^
cc1: all warnings being treated as errors
make[4]: *** [/tmp/guix-build-glibc-2.25.drv-0/build/sysd-rules:561: /tmp/guix-build-glibc-2.25.drv-0/build/string/rtld-strc1
make[4]: Leaving directory '/tmp/guix-build-glibc-2.25.drv-0/glibc-2.25/string'
make[3]: *** [../o-iterator.mk:9: /tmp/guix-build-glibc-2.25.drv-0/build/string/rtld-strchr.os] Error 2
make[3]: Leaving directory '/tmp/guix-build-glibc-2.25.drv-0/glibc-2.25/elf'
make[2]: *** [Makefile:443: /tmp/guix-build-glibc-2.25.drv-0/build/elf/rtld-libc.a] Error 2
make[2]: Leaving directory '/tmp/guix-build-glibc-2.25.drv-0/glibc-2.25/elf'
make[1]: *** [Makefile:215: elf/subdir_lib] Error 2
make[1]: Leaving directory '/tmp/guix-build-glibc-2.25.drv-0/glibc-2.25'
make: *** [Makefile:9: all] Error 2
phase `build' failed after 1749.9 seconds
builder for `/gnu/store/ivvdx2m0p6gnmcxmz355z106ffqg9p25-glibc-2.25.drv' failed with exit code 1
guix system: error: build failed: build of `/gnu/store/ivvdx2m0p6gnmcxmz355z106ffqg9p25-glibc-2.25.drv' failed
--8<---------------cut here---------------end--------------->8---

This means I cannot upgrade my i686 machines.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net





Information forwarded to bug-guix <at> gnu.org:
bug#27489; Package guix. (Sun, 25 Jun 2017 21:09:01 GMT) Full text and rfc822 format available.

Message #8 received at 27489 <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 27489 <at> debbugs.gnu.org
Subject: Re: bug#27489: glibc fails to build on i686
Date: Sun, 25 Jun 2017 17:08:09 -0400
Ricardo Wurmus <rekado <at> elephly.net> writes:

> Since commit 665d6a59161769e10b52ffcbcd5cd2db22f32681 I have to build
> glibc from source.  Unfortunately, this fails with the following error:
>
> …
> i686-guix-linux-gnu-gcc ../sysdeps/i386/i686/multiarch/strcspn-c.c -c -std=gnu11 -fgnu89-inline  -O2 -Wall -Werror -Wundef - 
> In file included from ../sysdeps/x86_64/multiarch/strcspn-c.c:22:0,
>                  from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
> ../sysdeps/x86_64/multiarch/varshift.h: In function '__m128i_shift_right':
> ../sysdeps/x86_64/multiarch/varshift.h:26:1: error: SSE vector return without SSE enabled changes the ABI [-Werror=psabi]
>  {
>  ^
> In file included from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
>                  from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
>                  from ../sysdeps/x86_64/multiarch/strcspn-c.c:20,
>                  from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
> /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.0/include/tmmintrin.h:h
>  _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
>  ^
> In file included from ../sysdeps/x86_64/multiarch/strcspn-c.c:22:0,
>                  from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
> ../sysdeps/x86_64/multiarch/varshift.h:27:10: error: called from here
>    return _mm_shuffle_epi8 (value,
>           ^
> In file included from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
>                  from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
>                  from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
>                  from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
>                  from ../sysdeps/x86_64/multiarch/strcspn-c.c:20,
>                  from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
> /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.0/include/emmintrin.h:h
>  _mm_loadu_si128 (__m128i const *__P)
>  ^
> In file included from ../sysdeps/x86_64/multiarch/strcspn-c.c:22:0,
>                  from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
> ../sysdeps/x86_64/multiarch/varshift.h:27:10: error: called from here
>    return _mm_shuffle_epi8 (value,
>           ^
> cc1: all warnings being treated as errors
> make[4]: *** [/tmp/guix-build-glibc-2.25.drv-0/build/sysd-rules:561: /tmp/guix-build-glibc-2.25.drv-0/build/string/rtld-strc1
> make[4]: Leaving directory '/tmp/guix-build-glibc-2.25.drv-0/glibc-2.25/string'
> make[3]: *** [../o-iterator.mk:9: /tmp/guix-build-glibc-2.25.drv-0/build/string/rtld-strchr.os] Error 2
> make[3]: Leaving directory '/tmp/guix-build-glibc-2.25.drv-0/glibc-2.25/elf'
> make[2]: *** [Makefile:443: /tmp/guix-build-glibc-2.25.drv-0/build/elf/rtld-libc.a] Error 2
> make[2]: Leaving directory '/tmp/guix-build-glibc-2.25.drv-0/glibc-2.25/elf'
> make[1]: *** [Makefile:215: elf/subdir_lib] Error 2
> make[1]: Leaving directory '/tmp/guix-build-glibc-2.25.drv-0/glibc-2.25'
> make: *** [Makefile:9: all] Error 2
> phase `build' failed after 1749.9 seconds
> builder for `/gnu/store/ivvdx2m0p6gnmcxmz355z106ffqg9p25-glibc-2.25.drv' failed with exit code 1
> guix system: error: build failed: build of `/gnu/store/ivvdx2m0p6gnmcxmz355z106ffqg9p25-glibc-2.25.drv' failed
>
> This means I cannot upgrade my i686 machines.

Hmm.  The patches added by commit 665d6a5916 change only one file:
rtld.c, so I don't see how that could affect the building of
strcspn-c.c.

For now, I will try to build this derivation on Hydra, so that it will
be available as a substitute.

       Mark




Information forwarded to bug-guix <at> gnu.org:
bug#27489; Package guix. (Sun, 25 Jun 2017 22:03:02 GMT) Full text and rfc822 format available.

Message #11 received at 27489 <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 27489 <at> debbugs.gnu.org
Subject: Re: bug#27489: glibc fails to build on i686
Date: Sun, 25 Jun 2017 18:02:29 -0400
Mark H Weaver <mhw <at> netris.org> writes:

> Ricardo Wurmus <rekado <at> elephly.net> writes:
>
>> Since commit 665d6a59161769e10b52ffcbcd5cd2db22f32681 I have to build
>> glibc from source.  Unfortunately, this fails with the following error:
>>
>> …
>> i686-guix-linux-gnu-gcc ../sysdeps/i386/i686/multiarch/strcspn-c.c -c -std=gnu11 -fgnu89-inline  -O2 -Wall -Werror -Wundef - 
>> In file included from ../sysdeps/x86_64/multiarch/strcspn-c.c:22:0,
>>                  from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
>> ../sysdeps/x86_64/multiarch/varshift.h: In function '__m128i_shift_right':
>> ../sysdeps/x86_64/multiarch/varshift.h:26:1: error: SSE vector return without SSE enabled changes the ABI [-Werror=psabi]
>>  {
>>  ^
>> In file included from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
>>                  from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
>>                  from ../sysdeps/x86_64/multiarch/strcspn-c.c:20,
>>                  from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
>> /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.0/include/tmmintrin.h:h
>>  _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
>>  ^
>> In file included from ../sysdeps/x86_64/multiarch/strcspn-c.c:22:0,
>>                  from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
>> ../sysdeps/x86_64/multiarch/varshift.h:27:10: error: called from here
>>    return _mm_shuffle_epi8 (value,
>>           ^
>> In file included from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
>>                  from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
>>                  from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
>>                  from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
>>                  from ../sysdeps/x86_64/multiarch/strcspn-c.c:20,
>>                  from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
>> /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.0/include/emmintrin.h:h
>>  _mm_loadu_si128 (__m128i const *__P)
>>  ^
>> In file included from ../sysdeps/x86_64/multiarch/strcspn-c.c:22:0,
>>                  from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
>> ../sysdeps/x86_64/multiarch/varshift.h:27:10: error: called from here
>>    return _mm_shuffle_epi8 (value,
>>           ^
>> cc1: all warnings being treated as errors
>> make[4]: *** [/tmp/guix-build-glibc-2.25.drv-0/build/sysd-rules:561: /tmp/guix-build-glibc-2.25.drv-0/build/string/rtld-strc1
>> make[4]: Leaving directory '/tmp/guix-build-glibc-2.25.drv-0/glibc-2.25/string'
>> make[3]: *** [../o-iterator.mk:9: /tmp/guix-build-glibc-2.25.drv-0/build/string/rtld-strchr.os] Error 2
>> make[3]: Leaving directory '/tmp/guix-build-glibc-2.25.drv-0/glibc-2.25/elf'
>> make[2]: *** [Makefile:443: /tmp/guix-build-glibc-2.25.drv-0/build/elf/rtld-libc.a] Error 2
>> make[2]: Leaving directory '/tmp/guix-build-glibc-2.25.drv-0/glibc-2.25/elf'
>> make[1]: *** [Makefile:215: elf/subdir_lib] Error 2
>> make[1]: Leaving directory '/tmp/guix-build-glibc-2.25.drv-0/glibc-2.25'
>> make: *** [Makefile:9: all] Error 2
>> phase `build' failed after 1749.9 seconds
>> builder for `/gnu/store/ivvdx2m0p6gnmcxmz355z106ffqg9p25-glibc-2.25.drv' failed with exit code 1
>> guix system: error: build failed: build of `/gnu/store/ivvdx2m0p6gnmcxmz355z106ffqg9p25-glibc-2.25.drv' failed
>>
>> This means I cannot upgrade my i686 machines.
>
> Hmm.  The patches added by commit 665d6a5916 change only one file:
> rtld.c, so I don't see how that could affect the building of
> strcspn-c.c.
>
> For now, I will try to build this derivation on Hydra, so that it will
> be available as a substitute.

The same failure occurred when Hydra tried to build this.  I'm not sure
what's going on here.  To be continued...

      Mark




Information forwarded to bug-guix <at> gnu.org:
bug#27489; Package guix. (Mon, 26 Jun 2017 00:12:01 GMT) Full text and rfc822 format available.

Message #14 received at 27489 <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 27489 <at> debbugs.gnu.org
Subject: Re: bug#27489: glibc fails to build on i686
Date: Sun, 25 Jun 2017 20:10:33 -0400
Mark H Weaver <mhw <at> netris.org> writes:

> Ricardo Wurmus <rekado <at> elephly.net> writes:
>
>> Since commit 665d6a59161769e10b52ffcbcd5cd2db22f32681 I have to build
>> glibc from source.  Unfortunately, this fails with the following error:
>>
>> …
>> i686-guix-linux-gnu-gcc ../sysdeps/i386/i686/multiarch/strcspn-c.c -c -std=gnu11 -fgnu89-inline  -O2 -Wall -Werror -Wundef - 
>> In file included from ../sysdeps/x86_64/multiarch/strcspn-c.c:22:0,
>>                  from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
>> ../sysdeps/x86_64/multiarch/varshift.h: In function '__m128i_shift_right':
>> ../sysdeps/x86_64/multiarch/varshift.h:26:1: error: SSE vector return without SSE enabled changes the ABI [-Werror=psabi]
>>  {
>>  ^
>> In file included from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
>>                  from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
>>                  from ../sysdeps/x86_64/multiarch/strcspn-c.c:20,
>>                  from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
>> /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.0/include/tmmintrin.h:h
>>  _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
>>  ^
>> In file included from ../sysdeps/x86_64/multiarch/strcspn-c.c:22:0,
>>                  from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
>> ../sysdeps/x86_64/multiarch/varshift.h:27:10: error: called from here
>>    return _mm_shuffle_epi8 (value,
>>           ^
>> In file included from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
>>                  from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
>>                  from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
>>                  from /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.,
>>                  from ../sysdeps/x86_64/multiarch/strcspn-c.c:20,
>>                  from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
>> /gnu/store/85qsxn71dn6944df5kcvkxg0nm3xdg6z-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.0/include/emmintrin.h:h
>>  _mm_loadu_si128 (__m128i const *__P)
>>  ^
>> In file included from ../sysdeps/x86_64/multiarch/strcspn-c.c:22:0,
>>                  from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
>> ../sysdeps/x86_64/multiarch/varshift.h:27:10: error: called from here
>>    return _mm_shuffle_epi8 (value,
>>           ^
>> cc1: all warnings being treated as errors
>> make[4]: *** [/tmp/guix-build-glibc-2.25.drv-0/build/sysd-rules:561: /tmp/guix-build-glibc-2.25.drv-0/build/string/rtld-strc1
>> make[4]: Leaving directory '/tmp/guix-build-glibc-2.25.drv-0/glibc-2.25/string'
>> make[3]: *** [../o-iterator.mk:9: /tmp/guix-build-glibc-2.25.drv-0/build/string/rtld-strchr.os] Error 2
>> make[3]: Leaving directory '/tmp/guix-build-glibc-2.25.drv-0/glibc-2.25/elf'
>> make[2]: *** [Makefile:443: /tmp/guix-build-glibc-2.25.drv-0/build/elf/rtld-libc.a] Error 2
>> make[2]: Leaving directory '/tmp/guix-build-glibc-2.25.drv-0/glibc-2.25/elf'
>> make[1]: *** [Makefile:215: elf/subdir_lib] Error 2
>> make[1]: Leaving directory '/tmp/guix-build-glibc-2.25.drv-0/glibc-2.25'
>> make: *** [Makefile:9: all] Error 2
>> phase `build' failed after 1749.9 seconds
>> builder for `/gnu/store/ivvdx2m0p6gnmcxmz355z106ffqg9p25-glibc-2.25.drv' failed with exit code 1
>> guix system: error: build failed: build of `/gnu/store/ivvdx2m0p6gnmcxmz355z106ffqg9p25-glibc-2.25.drv' failed
>>
>> This means I cannot upgrade my i686 machines.
>
> Hmm.  The patches added by commit 665d6a5916 change only one file:
> rtld.c, so I don't see how that could affect the building of
> strcspn-c.c.

I built both the grafted and ungrafted versions of 'glibc-final' for
i686-linux, and compared the build logs.

The problem is that glibc-CVE-2017-1000366-pt2.patch introduces a
reference to 'strcspn' in rtld.c.  This causes the glibc build system to
automatically add 'rtld-strcspn.os' and 'rtld-strcspn-c.os' to the list
of objects to be built.  When 'rtld-strcspn-c.os' is built, "-msse4" is
passed to the compiler (along with "-mno-sse" near the end).

Here's are the relevant parts of the diff:

-make subdir=string -C ../string ..=../ objdir=/tmp/guix-build-glibc-2.25.drv-0/build -f Makefile -f ../elf/rtld-Rules rtld-all rtld-modules='rtld-strchr.os rtld-strcmp.os rtld-strdup.os rtld-strlen.os rtld-strnlen.os rtld-memchr.os rtld-memcmp.os rtld-memmove.os rtld-memset.os rtld-mempcpy.os rtld-stpcpy.os rtld-memcpy.os rtld-rawmemchr.os rtld-memset-sse2.os rtld-memcpy-ssse3.os rtld-mempcpy-ssse3.os rtld-memmove-ssse3.os rtld-memcpy-ssse3-rep.os rtld-mempcpy-ssse3-rep.os rtld-memmove-ssse3-rep.os rtld-memset-sse2-rep.os rtld-strcmp-ssse3.os rtld-strcmp-sse4.os rtld-memcmp-ssse3.os rtld-memcmp-sse4.os rtld-strlen-sse2.os rtld-strlen-sse2-bsf.os rtld-stpcpy-ssse3.os rtld-stpcpy-sse2.os rtld-strchr-sse2.os rtld-strchr-sse2-bsf.os rtld-memchr-sse2.os rtld-memchr-sse2-bsf.os rtld-rawmemchr-sse2.os rtld-rawmemchr-sse2-bsf.os rtld-strnlen-sse2.os rtld-strnlen-c.os rtld-memcpy-sse2-unaligned.os rtld-mempcpy-sse2-unaligned.os rtld-memmove-sse2-unaligned.os rtld-cacheinfo.os'
+make subdir=string -C ../string ..=../ objdir=/tmp/guix-build-glibc-2.25.drv-0/build -f Makefile -f ../elf/rtld-Rules rtld-all rtld-modules='rtld-strchr.os rtld-strcmp.os rtld-strcspn.os rtld-strdup.os rtld-strlen.os rtld-strnlen.os rtld-memchr.os rtld-memcmp.os rtld-memmove.os rtld-memset.os rtld-mempcpy.os rtld-stpcpy.os rtld-memcpy.os rtld-rawmemchr.os rtld-memset-sse2.os rtld-memcpy-ssse3.os rtld-mempcpy-ssse3.os rtld-memmove-ssse3.os rtld-memcpy-ssse3-rep.os rtld-mempcpy-ssse3-rep.os rtld-memmove-ssse3-rep.os rtld-memset-sse2-rep.os rtld-strcmp-ssse3.os rtld-strcmp-sse4.os rtld-memcmp-ssse3.os rtld-memcmp-sse4.os rtld-strlen-sse2.os rtld-strlen-sse2-bsf.os rtld-stpcpy-ssse3.os rtld-stpcpy-sse2.os rtld-strchr-sse2.os rtld-strchr-sse2-bsf.os rtld-memchr-sse2.os rtld-memchr-sse2-bsf.os rtld-rawmemchr-sse2.os rtld-rawmemchr-sse2-bsf.os rtld-strnlen-sse2.os rtld-strnlen-c.os rtld-memcpy-sse2-unaligned.os rtld-mempcpy-sse2-unaligned.os rtld-memmove-sse2-unaligned.os rtld-strcspn-c.os rtld-cacheinfo.os rtld-varshift.os'

[...]

+i686-guix-linux-gnu-gcc ../sysdeps/i386/i686/multiarch/strcspn-c.c -c -std=gnu11 -fgnu89-inline  -O2 -Wall -Werror -Wundef -Wwrite-strings -fmerge-all-constants -fno-stack-protector -frounding-math -g -Wstrict-prototypes -Wold-style-definition   -fPIC -Wa,-mtune=i686  -mno-sse -mno-mmx -mfpmath=387  -msse4  -ftls-model=initial-exec      -I../include -I/tmp/guix-build-glibc-2.25.drv-0/build/string  -I/tmp/guix-build-glibc-2.25.drv-0/build  -I../sysdeps/unix/sysv/linux/i386/i686  -I../sysdeps/i386/i686/nptl  -I../sysdeps/unix/sysv/linux/i386  -I../sysdeps/unix/sysv/linux/x86  -I../sysdeps/i386/nptl  -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux  -I../sysdeps/nptl  -I../sysdeps/pthread  -I../sysdeps/gnu  -I../sysdeps/unix/inet  -I../sysdeps/unix/sysv  -I../sysdeps/unix/i386  -I../sysdeps/unix  -I../sysdeps/posix  -I../sysdeps/i386/i686/fpu/multiarch  -I../sysdeps/i386/i686/fpu  -I../sysdeps/i386/i686/multiarch  -I../sysdeps/i386/i686  -I../sysdeps/i386/fpu  -I../sysdeps/x86/fpu/include -I../sysdeps/x86/fpu  -I../sysdeps/i386  -I../sysdeps/x86  -I../sysdeps/wordsize-32  -I../sysdeps/ieee754/ldbl-96/include -I../sysdeps/ieee754/ldbl-96  -I../sysdeps/ieee754/dbl-64  -I../sysdeps/ieee754/flt-32  -I../sysdeps/ieee754  -I../sysdeps/generic  -I.. -I../libio -I. -nostdinc -isystem /gnu/store/...-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.0/include -isystem /gnu/store/...-gcc-cross-boot0-5.4.0-lib/lib/gcc/i686-guix-linux-gnu/5.4.0/include-fixed -isystem /gnu/store/...-linux-libre-headers-4.4.47/include  -D_LIBC_REENTRANT -include /tmp/guix-build-glibc-2.25.drv-0/build/libc-modules.h -DMODULE_NAME=rtld -include ../include/libc-symbols.h  -DPIC -DSHARED     -o /tmp/guix-build-glibc-2.25.drv-0/build/string/rtld-strcspn-c.os -MD -MP -MF /tmp/guix-build-glibc-2.25.drv-0/build/string/rtld-strcspn-c.os.dt -MT /tmp/guix-build-glibc-2.25.drv-0/build/string/rtld-strcspn-c.os  -mno-sse -mno-mmx -mfpmath=387 
+In file included from ../sysdeps/x86_64/multiarch/strcspn-c.c:22:0,
+                 from ../sysdeps/i386/i686/multiarch/strcspn-c.c:2:
+../sysdeps/x86_64/multiarch/varshift.h: In function '__m128i_shift_right':
+../sysdeps/x86_64/multiarch/varshift.h:26:1: error: SSE vector return without SSE enabled changes the ABI [-Werror=psabi]
[...]

The excerpts above are the first hunks of the diff (excluding lines of
the form "phase `...' succeeded after N.N seconds").

     Mark




Information forwarded to bug-guix <at> gnu.org:
bug#27489; Package guix. (Mon, 26 Jun 2017 01:25:01 GMT) Full text and rfc822 format available.

Message #17 received at 27489 <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 27489 <at> debbugs.gnu.org
Subject: Re: bug#27489: glibc fails to build on i686
Date: Sun, 25 Jun 2017 21:23:44 -0400
Mark H Weaver <mhw <at> netris.org> writes:

> The problem is that glibc-CVE-2017-1000366-pt2.patch introduces a
> reference to 'strcspn' in rtld.c.  This causes the glibc build system to
> automatically add 'rtld-strcspn.os' and 'rtld-strcspn-c.os' to the list
> of objects to be built.  When 'rtld-strcspn-c.os' is built, "-msse4" is
> passed to the compiler (along with "-mno-sse" near the end).

I found a patch in Debian to address this issue:

--8<---------------cut here---------------start------------->8---
2017-06-14  Florian Weimer  <fweimer <at> redhat.com>

	* sysdeps/i386/i686/multiarch/strcspn-c.c: Add IS_IN (libc) guard.
	* sysdeps/i386/i686/multiarch/varshift.c: Likewise.

--- a/sysdeps/i386/i686/multiarch/strcspn-c.c
+++ b/sysdeps/i386/i686/multiarch/strcspn-c.c
@@ -1,2 +1,4 @@
-#define __strcspn_sse2 __strcspn_ia32
-#include <sysdeps/x86_64/multiarch/strcspn-c.c>
+#if IS_IN (libc)
+# define __strcspn_sse2 __strcspn_ia32
+# include <sysdeps/x86_64/multiarch/strcspn-c.c>
+#endif
--- a/sysdeps/i386/i686/multiarch/varshift.c
+++ b/sysdeps/i386/i686/multiarch/varshift.c
@@ -1 +1,3 @@
-#include <sysdeps/x86_64/multiarch/varshift.c>
+#if IS_IN (libc)
+# include <sysdeps/x86_64/multiarch/varshift.c>
+#endif
--8<---------------cut here---------------end--------------->8---

With this patch added, the grafted glibc builds successfully on i686.
I'm doing a few more tests, and then will push this in the next hour or
two.

      Mark




Information forwarded to bug-guix <at> gnu.org:
bug#27489; Package guix. (Mon, 26 Jun 2017 02:04:02 GMT) Full text and rfc822 format available.

Message #20 received at 27489 <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 27489 <at> debbugs.gnu.org
Subject: Re: bug#27489: glibc fails to build on i686
Date: Sun, 25 Jun 2017 22:03:03 -0400
I believe this problem is fixed by commit
ffc015bea26f24d862e7e877d907fbe1ab9a9967.  I was able to build a grafted
'hello' for i686-linux, and it worked correctly.

Can you try it and report back?

      Mark




Reply sent to Ricardo Wurmus <rekado <at> elephly.net>:
You have taken responsibility. (Mon, 26 Jun 2017 08:04:02 GMT) Full text and rfc822 format available.

Notification sent to Ricardo Wurmus <rekado <at> elephly.net>:
bug acknowledged by developer. (Mon, 26 Jun 2017 08:04:02 GMT) Full text and rfc822 format available.

Message #25 received at 27489-done <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Mark H Weaver <mhw <at> netris.org>
Cc: 27489-done <at> debbugs.gnu.org
Subject: Re: bug#27489: glibc fails to build on i686
Date: Mon, 26 Jun 2017 10:03:07 +0200
Mark H Weaver <mhw <at> netris.org> writes:

> I believe this problem is fixed by commit
> ffc015bea26f24d862e7e877d907fbe1ab9a9967.  I was able to build a grafted
> 'hello' for i686-linux, and it worked correctly.
>
> Can you try it and report back?

Thank you!  It seems to have worked.

-- 
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net





Information forwarded to bug-guix <at> gnu.org:
bug#27489; Package guix. (Thu, 29 Jun 2017 00:58:01 GMT) Full text and rfc822 format available.

Message #28 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Adonay Felipe Nogueira <adfeno <at> openmailbox.org>
To: bug-guix <at> gnu.org
Subject: Re: bug#27489: glibc fails to build on i686
Date: Wed, 28 Jun 2017 21:57:39 -0300
NOTE: This message isn't meant to sound aggressive, it's just a question
from a novice Guix user.

Here is my situation:

- I'm using Guix in a foreign distribution (Trisquel 7).

- In 2017-06-12, I pulled and upgraded Guix and packages successfully as
  root.

- Last weekend I did (all as root): `guix gc` (successful), `guix pull`
  (successful), `guix package -u guix` (not successful, because of this
  bug).

- Some time has passed, and the core-updates branch now seems to have a
  fix for this bug.

- Yesterday (or was it the day before it?), I did (all as root): `guix
  gc` (successful), `guix pull` (not successfull, because of this bug),
  `guix gc`, `guix pull
  --url="https://git.savannah.gnu.org/cgit/guix.git/snapshot/guix-ed068b960eeedb92823238783779730319b8ba0e.tar.gz"`
  (not successful, because of this bug). Notice that in the last pull I
  used the snapshot corresponding to the merge in core-updates that has
  the fix.

Now, I'm thinking, how can I make the pull and the Guix package upgrade?


Respectfully, Adonay.
-- 
- [[https://libreplanet.org/wiki/User:Adfeno]]
- Palestrante e consultor sobre /software/ livre (não confundir com
  gratis).
- "WhatsApp"? Ele não é livre, por isso não uso. Iguais a ele prefiro
  GNU Ring, ou Tox. Quer outras formas de contato? Adicione o vCard
  que está no endereço acima aos teus contatos.
- Pretende me enviar arquivos .doc, .ppt, .cdr, ou .mp3? OK, eu
  aceito, mas não repasso. Entrego apenas em formatos favoráveis ao
  /software/ livre. Favor entrar em contato em caso de dúvida.




Information forwarded to bug-guix <at> gnu.org:
bug#27489; Package guix. (Thu, 29 Jun 2017 02:54:02 GMT) Full text and rfc822 format available.

Message #31 received at 27489 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Adonay Felipe Nogueira <adfeno <at> openmailbox.org>
Cc: 27489 <at> debbugs.gnu.org
Subject: Re: bug#27489: glibc fails to build on i686
Date: Wed, 28 Jun 2017 22:52:57 -0400
[Message part 1 (text/plain, inline)]
On Wed, Jun 28, 2017 at 09:57:39PM -0300, Adonay Felipe Nogueira wrote:
> Here is my situation:
> 
> - I'm using Guix in a foreign distribution (Trisquel 7).
> 
> - In 2017-06-12, I pulled and upgraded Guix and packages successfully as
>   root.
> 
> - Last weekend I did (all as root): `guix gc` (successful), `guix pull`
>   (successful), `guix package -u guix` (not successful, because of this
>   bug).

I'm sorry you experienced this bug. We didn't test the change to glibc
on i686-linux so we didn't notice this problem until after we pushed it.

> - Some time has passed, and the core-updates branch now seems to have a
>   fix for this bug.

As announced earlier in this bug discussion, the bug was fixed on the
master branch with commit ffc015bea26f24d862e7e877d907fbe1ab9a9967.

https://git.savannah.gnu.org/cgit/guix.git/commit/?id=ffc015bea26f24d862e7e877d907fbe1ab9a9967

> - Yesterday (or was it the day before it?), I did (all as root): `guix
>   gc` (successful), `guix pull` (not successfull, because of this bug),
>   `guix gc`, `guix pull
>   --url="https://git.savannah.gnu.org/cgit/guix.git/snapshot/guix-ed068b960eeedb92823238783779730319b8ba0e.tar.gz"`
>   (not successful, because of this bug). Notice that in the last pull I
>   used the snapshot corresponding to the merge in core-updates that has
>   the fix.

I recommend you try again, but on the master branch. Core-updates is not
currently usable (hopefully soon!).
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#27489; Package guix. (Thu, 29 Jun 2017 05:01:01 GMT) Full text and rfc822 format available.

Message #34 received at 27489 <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: Adonay Felipe Nogueira <adfeno <at> openmailbox.org>
Cc: 27489 <at> debbugs.gnu.org
Subject: Re: bug#27489: glibc fails to build on i686
Date: Thu, 29 Jun 2017 01:00:30 -0400
Adonay Felipe Nogueira <adfeno <at> openmailbox.org> writes:

> NOTE: This message isn't meant to sound aggressive, it's just a question
> from a novice Guix user.
>
> Here is my situation:
>
> - I'm using Guix in a foreign distribution (Trisquel 7).
>
> - In 2017-06-12, I pulled and upgraded Guix and packages successfully as
>   root.
>
> - Last weekend I did (all as root): `guix gc` (successful), `guix pull`
>   (successful), `guix package -u guix` (not successful, because of this
>   bug).
>
> - Some time has passed, and the core-updates branch now seems to have a
>   fix for this bug.
>
> - Yesterday (or was it the day before it?), I did (all as root): `guix
>   gc` (successful), `guix pull` (not successfull, because of this bug),

It might be that you need to manually remove the ~/.config/guix/latest
symlink in root's home directory, and then run "guix pull" again.
Normally this is not needed, but in this case it might be needed to
recover from your current state.

As an aside: I'm not sure why you're running these commands as root.
Running "guix pull" as a user FOO effectively updates the package list
for user FOO, and not for any other user.  Running it as root is no
exception to this rule.  Each user, including root, has their own
private package list.

The main reason to run these commands as root is if you want to update
the packages in ~root/.guix-profile, or if you want to update a GuixSD
system.  Normally, each user runs these commands, including "guix pull"
under their own account.

>   `guix gc`, `guix pull
>   --url="https://git.savannah.gnu.org/cgit/guix.git/snapshot/guix-ed068b960eeedb92823238783779730319b8ba0e.tar.gz"`
>   (not successful, because of this bug). Notice that in the last pull I
>   used the snapshot corresponding to the merge in core-updates that has
>   the fix.

As Leo said, unless you want to help us debug problems on core-updates,
it's best stick with 'master' for now.  'master' is the only branch that
receives timely security updates.  'core-updates' is a work-in-progress,
and at present there are many broken packages there.

      Mark




Information forwarded to bug-guix <at> gnu.org:
bug#27489; Package guix. (Fri, 30 Jun 2017 12:06:01 GMT) Full text and rfc822 format available.

Message #37 received at 27489 <at> debbugs.gnu.org (full text, mbox):

From: Adonay Felipe Nogueira <adfeno <at> openmailbox.org>
To: 27489 <at> debbugs.gnu.org
Subject: Re: bug#27489: glibc fails to build on i686
Date: Fri, 30 Jun 2017 09:05:27 -0300
Removing the "~/.config/guix/latest" symbolic link as was suggested by
Mx. Weaver worked, now my root user can pull and also upgrade the "guix"
package. Thank you all for the suggestion. :)

Besides, as was also suggested: I'll use the "master" branch instead.




Information forwarded to bug-guix <at> gnu.org:
bug#27489; Package guix. (Mon, 03 Jul 2017 04:51:02 GMT) Full text and rfc822 format available.

Message #40 received at 27489-done <at> debbugs.gnu.org (full text, mbox):

From: Mark H Weaver <mhw <at> netris.org>
To: Adonay Felipe Nogueira <adfeno <at> openmailbox.org>
Cc: 27489-done <at> debbugs.gnu.org
Subject: Re: bug#27489: glibc fails to build on i686
Date: Mon, 03 Jul 2017 00:49:57 -0400
Adonay Felipe Nogueira <adfeno <at> openmailbox.org> writes:

> Removing the "~/.config/guix/latest" symbolic link as was suggested by
> Mx. Weaver worked, now my root user can pull and also upgrade the "guix"
> package. Thank you all for the suggestion. :)

I'm glad to hear that it solved your problem.  I'll close this bug now.

      Mark




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 31 Jul 2017 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 6 years and 283 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.