Bug 106401

Summary: swr driver failing mesa build on 32 bit
Product: Mesa Reporter: n3rdopolis <bluescreen_avenger>
Component: Drivers/Gallium/swrAssignee: mesa-dev
Status: RESOLVED MOVED QA Contact: mesa-dev
Severity: normal    
Priority: medium    
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description n3rdopolis 2018-05-04 11:59:06 UTC
Hi

I am trying to rebuild mesa master on a 32 bit chroot. It looks like a recent change now it is trying to compile in something that is 64 bits. 


I am getting this error,

  CXX      rasterizer/core/libswrAVX2_la-backend_clear.lo
  CXX      rasterizer/core/libswrAVX2_la-backend_sample.lo
In file included from ./rasterizer/common/simdintrin.h:28:0,
                 from ./rasterizer/core/format_types.h:31,
                 from ./rasterizer/core/format_traits.h:32,
                 from ./rasterizer/core/multisample.h:30,
                 from rasterizer/core/backend.h:33,
                 from rasterizer/core/backend.cpp:32:
./rasterizer/common/simdlib.hpp: In member function ‘uint32_t SIMDVecHash<SIMD_T>::operator()(Integer<SIMD_T>) const’:
./rasterizer/common/simdlib.hpp:610:9: error: static assertion failed: This path only meant for 64-bit code
         static_assert(sizeof(void*) == 8, "This path only meant for 64-bit code");
         ^~~~~~~~~~~~~
./rasterizer/common/simdlib.hpp:619:50: error: there are no arguments to ‘_mm_crc32_u64’ that depend on a template parameter, so a declaration of ‘_mm_crc32_u64’ must be available [-fpermissive]
             crc32 = _mm_crc32_u64(crc32, pData[i]);
                                                  ^
./rasterizer/common/simdlib.hpp:619:50: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
In file included from ./rasterizer/common/simdintrin.h:28:0,
                 from ./rasterizer/core/format_types.h:31,
                 from ./rasterizer/core/format_traits.h:32,
                 from ./rasterizer/core/multisample.h:30,
                 from ./rasterizer/core/backend.h:33,
                 from rasterizer/core/api.cpp:35:
./rasterizer/common/simdlib.hpp: In member function ‘uint32_t SIMDVecHash<SIMD_T>::operator()(Integer<SIMD_T>) const’:
./rasterizer/common/simdlib.hpp:610:9: error: static assertion failed: This path only meant for 64-bit code
         static_assert(sizeof(void*) == 8, "This path only meant for 64-bit code");
         ^~~~~~~~~~~~~
./rasterizer/common/simdlib.hpp:619:50: error: there are no arguments to ‘_mm_crc32_u64’ that depend on a template parameter, so a declaration of ‘_mm_crc32_u64’ must be available [-fpermissive]
             crc32 = _mm_crc32_u64(crc32, pData[i]);
                                                  ^
./rasterizer/common/simdlib.hpp:619:50: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
  CXX      rasterizer/core/libswrAVX2_la-backend_singlesample.lo
  CXX      rasterizer/core/libswrAVX2_la-binner.lo
Makefile:3101: recipe for target 'rasterizer/core/libswrAVX2_la-backend.lo' failed
make[5]: *** [rasterizer/core/libswrAVX2_la-backend.lo] Error 1
make[5]: *** Waiting for unfinished jobs....
Makefile:3094: recipe for target 'rasterizer/core/libswrAVX2_la-api.lo' failed
make[5]: *** [rasterizer/core/libswrAVX2_la-api.lo] Error 1
In file included from ./rasterizer/common/simdintrin.h:28:0,
                 from ./rasterizer/core/format_types.h:31,
                 from ./rasterizer/core/format_traits.h:32,
                 from ./rasterizer/core/multisample.h:30,
                 from rasterizer/core/backend.h:33,
                 from rasterizer/core/backend_sample.cpp:32:
./rasterizer/common/simdlib.hpp: In member function ‘uint32_t SIMDVecHash<SIMD_T>::operator()(Integer<SIMD_T>) const’:
./rasterizer/common/simdlib.hpp:610:9: error: static assertion failed: This path only meant for 64-bit code
         static_assert(sizeof(void*) == 8, "This path only meant for 64-bit code");
         ^~~~~~~~~~~~~
./rasterizer/common/simdlib.hpp:619:50: error: there are no arguments to ‘_mm_crc32_u64’ that depend on a template parameter, so a declaration of ‘_mm_crc32_u64’ must be available [-fpermissive]
             crc32 = _mm_crc32_u64(crc32, pData[i]);
                                                  ^
./rasterizer/common/simdlib.hpp:619:50: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
In file included from ./rasterizer/common/simdintrin.h:28:0,
                 from rasterizer/core/conservativeRast.h:28,
                 from rasterizer/core/binner.h:29,
                 from rasterizer/core/binner.cpp:29:
./rasterizer/common/simdlib.hpp: In member function ‘uint32_t SIMDVecHash<SIMD_T>::operator()(Integer<SIMD_T>) const’:
./rasterizer/common/simdlib.hpp:610:9: error: static assertion failed: This path only meant for 64-bit code
         static_assert(sizeof(void*) == 8, "This path only meant for 64-bit code");
         ^~~~~~~~~~~~~
./rasterizer/common/simdlib.hpp:619:50: error: there are no arguments to ‘_mm_crc32_u64’ that depend on a template parameter, so a declaration of ‘_mm_crc32_u64’ must be available [-fpermissive]
             crc32 = _mm_crc32_u64(crc32, pData[i]);
                                                  ^
./rasterizer/common/simdlib.hpp:619:50: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
In file included from ./rasterizer/common/simdintrin.h:28:0,
                 from ./rasterizer/core/format_types.h:31,
                 from ./rasterizer/core/format_traits.h:32,
                 from ./rasterizer/core/multisample.h:30,
                 from rasterizer/core/backend.h:33,
                 from rasterizer/core/backend_clear.cpp:32:
./rasterizer/common/simdlib.hpp: In member function ‘uint32_t SIMDVecHash<SIMD_T>::operator()(Integer<SIMD_T>) const’:
./rasterizer/common/simdlib.hpp:610:9: error: static assertion failed: This path only meant for 64-bit code
         static_assert(sizeof(void*) == 8, "This path only meant for 64-bit code");
         ^~~~~~~~~~~~~
./rasterizer/common/simdlib.hpp:619:50: error: there are no arguments to ‘_mm_crc32_u64’ that depend on a template parameter, so a declaration of ‘_mm_crc32_u64’ must be available [-fpermissive]
             crc32 = _mm_crc32_u64(crc32, pData[i]);
                                                  ^
./rasterizer/common/simdlib.hpp:619:50: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
In file included from ./rasterizer/common/simdintrin.h:28:0,
                 from ./rasterizer/core/format_types.h:31,
                 from ./rasterizer/core/format_traits.h:32,
                 from ./rasterizer/core/multisample.h:30,
                 from rasterizer/core/backend.h:33,
                 from rasterizer/core/backend_singlesample.cpp:32:
./rasterizer/common/simdlib.hpp: In member function ‘uint32_t SIMDVecHash<SIMD_T>::operator()(Integer<SIMD_T>) const’:
./rasterizer/common/simdlib.hpp:610:9: error: static assertion failed: This path only meant for 64-bit code
         static_assert(sizeof(void*) == 8, "This path only meant for 64-bit code");
         ^~~~~~~~~~~~~
./rasterizer/common/simdlib.hpp:619:50: error: there are no arguments to ‘_mm_crc32_u64’ that depend on a template parameter, so a declaration of ‘_mm_crc32_u64’ must be available [-fpermissive]
             crc32 = _mm_crc32_u64(crc32, pData[i]);
                                                  ^
./rasterizer/common/simdlib.hpp:619:50: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
Makefile:3108: recipe for target 'rasterizer/core/libswrAVX2_la-backend_clear.lo' failed
make[5]: *** [rasterizer/core/libswrAVX2_la-backend_clear.lo] Error 1


Thanks
Comment 1 Gert Wollny 2018-05-30 12:44:18 UTC
I've proposed a patch on mesa-dev: 

https://patchwork.freedesktop.org/series/43820/
Comment 2 Alok Hota 2018-06-22 13:29:54 UTC
Thanks for the patch, Gert. Sorry this one fell through the cracks. I'll look into it
Comment 3 GitLab Migration User 2019-09-18 18:24:19 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/194.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.