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
I've proposed a patch on mesa-dev: https://patchwork.freedesktop.org/series/43820/
Thanks for the patch, Gert. Sorry this one fell through the cracks. I'll look into it
-- 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.