unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#27489: glibc fails to build on i686
@ 2017-06-25 19:19 Ricardo Wurmus
  2017-06-25 21:08 ` Mark H Weaver
  2017-06-29  0:57 ` Adonay Felipe Nogueira
  0 siblings, 2 replies; 12+ messages in thread
From: Ricardo Wurmus @ 2017-06-25 19:19 UTC (permalink / raw)
  To: 27489

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#27489: glibc fails to build on i686
  2017-06-25 19:19 bug#27489: glibc fails to build on i686 Ricardo Wurmus
@ 2017-06-25 21:08 ` Mark H Weaver
  2017-06-25 22:02   ` Mark H Weaver
  2017-06-26  0:10   ` Mark H Weaver
  2017-06-29  0:57 ` Adonay Felipe Nogueira
  1 sibling, 2 replies; 12+ messages in thread
From: Mark H Weaver @ 2017-06-25 21:08 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 27489

Ricardo Wurmus <rekado@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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#27489: glibc fails to build on i686
  2017-06-25 21:08 ` Mark H Weaver
@ 2017-06-25 22:02   ` Mark H Weaver
  2017-06-26  0:10   ` Mark H Weaver
  1 sibling, 0 replies; 12+ messages in thread
From: Mark H Weaver @ 2017-06-25 22:02 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 27489

Mark H Weaver <mhw@netris.org> writes:

> Ricardo Wurmus <rekado@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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#27489: glibc fails to build on i686
  2017-06-25 21:08 ` Mark H Weaver
  2017-06-25 22:02   ` Mark H Weaver
@ 2017-06-26  0:10   ` Mark H Weaver
  2017-06-26  1:23     ` Mark H Weaver
  1 sibling, 1 reply; 12+ messages in thread
From: Mark H Weaver @ 2017-06-26  0:10 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 27489

Mark H Weaver <mhw@netris.org> writes:

> Ricardo Wurmus <rekado@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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#27489: glibc fails to build on i686
  2017-06-26  0:10   ` Mark H Weaver
@ 2017-06-26  1:23     ` Mark H Weaver
  2017-06-26  2:03       ` Mark H Weaver
  0 siblings, 1 reply; 12+ messages in thread
From: Mark H Weaver @ 2017-06-26  1:23 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 27489

Mark H Weaver <mhw@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@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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#27489: glibc fails to build on i686
  2017-06-26  1:23     ` Mark H Weaver
@ 2017-06-26  2:03       ` Mark H Weaver
  2017-06-26  8:03         ` Ricardo Wurmus
  0 siblings, 1 reply; 12+ messages in thread
From: Mark H Weaver @ 2017-06-26  2:03 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: 27489

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#27489: glibc fails to build on i686
  2017-06-26  2:03       ` Mark H Weaver
@ 2017-06-26  8:03         ` Ricardo Wurmus
  0 siblings, 0 replies; 12+ messages in thread
From: Ricardo Wurmus @ 2017-06-26  8:03 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: 27489-done


Mark H Weaver <mhw@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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#27489: glibc fails to build on i686
  2017-06-25 19:19 bug#27489: glibc fails to build on i686 Ricardo Wurmus
  2017-06-25 21:08 ` Mark H Weaver
@ 2017-06-29  0:57 ` Adonay Felipe Nogueira
  2017-06-29  2:52   ` Leo Famulari
  2017-06-29  5:00   ` Mark H Weaver
  1 sibling, 2 replies; 12+ messages in thread
From: Adonay Felipe Nogueira @ 2017-06-29  0:57 UTC (permalink / raw)
  To: 27489

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.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#27489: glibc fails to build on i686
  2017-06-29  0:57 ` Adonay Felipe Nogueira
@ 2017-06-29  2:52   ` Leo Famulari
  2017-06-29  5:00   ` Mark H Weaver
  1 sibling, 0 replies; 12+ messages in thread
From: Leo Famulari @ 2017-06-29  2:52 UTC (permalink / raw)
  To: Adonay Felipe Nogueira; +Cc: 27489

[-- Attachment #1: Type: text/plain, Size: 1480 bytes --]

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!).

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#27489: glibc fails to build on i686
  2017-06-29  0:57 ` Adonay Felipe Nogueira
  2017-06-29  2:52   ` Leo Famulari
@ 2017-06-29  5:00   ` Mark H Weaver
  2017-06-30 12:05     ` Adonay Felipe Nogueira
  1 sibling, 1 reply; 12+ messages in thread
From: Mark H Weaver @ 2017-06-29  5:00 UTC (permalink / raw)
  To: Adonay Felipe Nogueira; +Cc: 27489

Adonay Felipe Nogueira <adfeno@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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#27489: glibc fails to build on i686
  2017-06-29  5:00   ` Mark H Weaver
@ 2017-06-30 12:05     ` Adonay Felipe Nogueira
  2017-07-03  4:49       ` Mark H Weaver
  0 siblings, 1 reply; 12+ messages in thread
From: Adonay Felipe Nogueira @ 2017-06-30 12:05 UTC (permalink / raw)
  To: 27489

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.

^ permalink raw reply	[flat|nested] 12+ messages in thread

* bug#27489: glibc fails to build on i686
  2017-06-30 12:05     ` Adonay Felipe Nogueira
@ 2017-07-03  4:49       ` Mark H Weaver
  0 siblings, 0 replies; 12+ messages in thread
From: Mark H Weaver @ 2017-07-03  4:49 UTC (permalink / raw)
  To: Adonay Felipe Nogueira; +Cc: 27489-done

Adonay Felipe Nogueira <adfeno@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

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2017-07-03  4:51 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-25 19:19 bug#27489: glibc fails to build on i686 Ricardo Wurmus
2017-06-25 21:08 ` Mark H Weaver
2017-06-25 22:02   ` Mark H Weaver
2017-06-26  0:10   ` Mark H Weaver
2017-06-26  1:23     ` Mark H Weaver
2017-06-26  2:03       ` Mark H Weaver
2017-06-26  8:03         ` Ricardo Wurmus
2017-06-29  0:57 ` Adonay Felipe Nogueira
2017-06-29  2:52   ` Leo Famulari
2017-06-29  5:00   ` Mark H Weaver
2017-06-30 12:05     ` Adonay Felipe Nogueira
2017-07-03  4:49       ` Mark H Weaver

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).