LibreOffice Build failed on Debian-x86-32bit

Rene Engelhard rene at debian.org
Tue Jul 4 18:19:01 UTC 2023


Hi,

Am 03.07.23 um 20:45 schrieb Rene Engelhard:
>
>
>> Here is the output from my current build process (from the status of the
>> LibreOffice source from last Friday):
>>
> Note you can't assume anything over SSE2 in here.

Actually you can't assume anything MMXish or SSEish.

https://wiki.debian.org/ArchitectureSpecificsMemo#i386-1


I confused it with amd64 which up to 
SSE2:https://wiki.debian.org/ArchitectureSpecificsMemo#amd64

https://wiki.debian.org/ArchitectureSpecificsMemo#amd64

>
> I've no diea about SIMD instuctions bit this suspicously looks like 
> instructions not in SSE2?
>
clang (which per defaults gets used for building skia if installed) 
spells out explicitely that it's trying to use SSE2:

/home/rene/LibreOffice/git/libreoffice-7-6/workdir/UnpackedTarball/skia/src/core/SkBlitRow_D32.cpp:65:50: 
error: always_inline function '_mm_loadu_si128' requires target feature 
'sse2', but would be inlined into function 'blit_row_s32_blend' that is 
compiled without support for 'sse2'
             _mm_storeu_si128(dst4, SkPMLerp_SSE2(_mm_loadu_si128(src4),
                                                  ^
/home/rene/LibreOffice/git/libreoffice-7-6/workdir/UnpackedTarball/skia/src/core/SkBlitRow_D32.cpp:66:50: 
error: always_inline function '_mm_loadu_si128' requires target feature 
'sse2', but would be inlined into function 'blit_row_s32_blend' that is 
compiled without support for 'sse2'
_mm_loadu_si128(dst4),
                                                  ^
/home/rene/LibreOffice/git/libreoffice-7-6/workdir/UnpackedTarball/skia/src/core/SkBlitRow_D32.cpp:65:13: 
error: always_inline function '_mm_storeu_si128' requires target feature 
'sse2', but would be inlined into function 'blit_row_s32_blend' that is 
compiled without support for 'sse2'
             _mm_storeu_si128(dst4, SkPMLerp_SSE2(_mm_loadu_si128(src4),
             ^
/home/rene/LibreOffice/git/libreoffice-7-6/workdir/UnpackedTarball/skia/src/core/SkBlitRow_D32.cpp:33:30: 
error: always_inline function '_mm_set1_epi32' requires target feature 
'sse2', but would be inlined into function 'SkPMLerp_SSE2' that is 
compiled without support for 'sse2'
         const __m128i mask = _mm_set1_epi32(0x00FF00FF);
                              ^
/home/rene/LibreOffice/git/libreoffice-7-6/workdir/UnpackedTarball/skia/src/core/SkBlitRow_D32.cpp:36:26: 
error: always_inline function '_mm_and_si128' requires target feature 
'sse2', but would be inlined into function 'SkPMLerp_SSE2' that is 
compiled without support for 'sse2'
         __m128i src_rb = _mm_and_si128(mask, src);
                          ^
/home/rene/LibreOffice/git/libreoffice-7-6/workdir/UnpackedTarball/skia/src/core/SkBlitRow_D32.cpp:37:26: 
error: always_inline function '_mm_srli_epi16' requires target feature 
'sse2', but would be inlined into function 'SkPMLerp_SSE2' that is 
compiled without support for 'sse2'
         __m128i src_ag = _mm_srli_epi16(src, 8);
                          ^
/home/rene/LibreOffice/git/libreoffice-7-6/workdir/UnpackedTarball/skia/src/core/SkBlitRow_D32.cpp:38:26: 
error: always_inline function '_mm_and_si128' requires target feature 
'sse2', but would be inlined into function 'SkPMLerp_SSE2' that is 
compiled without support for 'sse2'
         __m128i dst_rb = _mm_and_si128(mask, dst);
                          ^
/home/rene/LibreOffice/git/libreoffice-7-6/workdir/UnpackedTarball/skia/src/core/SkBlitRow_D32.cpp:39:26: 
error: always_inline function '_mm_srli_epi16' requires target feature 
'sse2', but would be inlined into function 'SkPMLerp_SSE2' that is 
compiled without support for 'sse2'
         __m128i dst_ag = _mm_srli_epi16(dst, 8);
                          ^
/home/rene/LibreOffice/git/libreoffice-7-6/workdir/UnpackedTarball/skia/src/core/SkBlitRow_D32.cpp:42:27: 
error: always_inline function '_mm_sub_epi16' requires target feature 
'sse2', but would be inlined into function 'SkPMLerp_SSE2' that is 
compiled without support for 'sse2'
         __m128i diff_rb = _mm_sub_epi16(src_rb, dst_rb);
                           ^
/home/rene/LibreOffice/git/libreoffice-7-6/workdir/UnpackedTarball/skia/src/core/SkBlitRow_D32.cpp:43:27: 
error: always_inline function '_mm_sub_epi16' requires target feature 
'sse2', but would be inlined into function 'SkPMLerp_SSE2' that is 
compiled without support for 'sse2'
         __m128i diff_ag = _mm_sub_epi16(src_ag, dst_ag);
                           ^
/home/rene/LibreOffice/git/libreoffice-7-6/workdir/UnpackedTarball/skia/src/core/SkBlitRow_D32.cpp:44:21: 
error: always_inline function '_mm_set1_epi16' requires target feature 
'sse2', but would be inlined into function 'SkPMLerp_SSE2' that is 
compiled without support for 'sse2'
         __m128i s = _mm_set1_epi16(src_scale);
                     ^
/home/rene/LibreOffice/git/libreoffice-7-6/workdir/UnpackedTarball/skia/src/core/SkBlitRow_D32.cpp:45:19: 
error: always_inline function '_mm_mullo_epi16' requires target feature 
'sse2', but would be inlined into function 'SkPMLerp_SSE2' that is 
compiled without support for 'sse2'
         diff_rb = _mm_mullo_epi16(diff_rb, s);
                   ^
/home/rene/LibreOffice/git/libreoffice-7-6/workdir/UnpackedTarball/skia/src/core/SkBlitRow_D32.cpp:46:19: 
error: always_inline function '_mm_mullo_epi16' requires target feature 
'sse2', but would be inlined into function 'SkPMLerp_SSE2' that is 
compiled without support for 'sse2'
         diff_ag = _mm_mullo_epi16(diff_ag, s);
                   ^
/home/rene/LibreOffice/git/libreoffice-7-6/workdir/UnpackedTarball/skia/src/core/SkBlitRow_D32.cpp:49:19: 
error: always_inline function '_mm_srli_epi16' requires target feature 
'sse2', but would be inlined into function 'SkPMLerp_SSE2' that is 
compiled without support for 'sse2'
         diff_rb = _mm_srli_epi16(diff_rb, 8);
                   ^
/home/rene/LibreOffice/git/libreoffice-7-6/workdir/UnpackedTarball/skia/src/core/SkBlitRow_D32.cpp:50:19: 
error: always_inline function '_mm_andnot_si128' requires target feature 
'sse2', but would be inlined into function 'SkPMLerp_SSE2' that is 
compiled without support for 'sse2'
         diff_ag = _mm_andnot_si128(mask, diff_ag);
                   ^
/home/rene/LibreOffice/git/libreoffice-7-6/workdir/UnpackedTarball/skia/src/core/SkBlitRow_D32.cpp:51:24: 
error: always_inline function '_mm_or_si128' requires target feature 
'sse2', but would be inlined into function 'SkPMLerp_SSE2' that is 
compiled without support for 'sse2'
         __m128i diff = _mm_or_si128(diff_rb, diff_ag);
                        ^
/home/rene/LibreOffice/git/libreoffice-7-6/workdir/UnpackedTarball/skia/src/core/SkBlitRow_D32.cpp:54:16: 
error: always_inline function '_mm_add_epi8' requires target feature 
'sse2', but would be inlined into function 'SkPMLerp_SSE2' that is 
compiled without support for 'sse2'
         return _mm_add_epi8(dst, diff);
                ^
/home/rene/LibreOffice/git/libreoffice-7-6/workdir/UnpackedTarball/skia/src/core/SkBlitRow_D32.cpp:130:55: 
error: always_inline function '_mm_loadu_si128' requires target feature 
'sse2', but would be inlined into function 'blit_row_s32a_blend' that is 
compiled without support for 'sse2'
             _mm_storeu_si128(dst4, 
SkBlendARGB32_SSE2(_mm_loadu_si128(src4),
                                                       ^
/home/rene/LibreOffice/git/libreoffice-7-6/workdir/UnpackedTarball/skia/src/core/SkBlitRow_D32.cpp:131:55: 
error: always_inline function '_mm_loadu_si128' requires target feature 
'sse2', but would be inlined into function 'blit_row_s32a_blend' that is 
compiled without support for 'sse2'
_mm_loadu_si128(dst4),
                                                       ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.


I think skia should be patched (at least on i386) to not require SSE or 
MMX or whatever. Otherwise the only other alternative would be 
--disable-skia....


Regards,


Rene



More information about the LibreOffice mailing list