Hi, I am trying to build the current master branch and I am getting the following error:
In cmake-gui if I leave USE_SIMD empty, compiling fails and I get the following error message: ''' ... [ 11%] Building CXX object src/libutil/CMakeFiles/simd_test.dir/simd_test.cpp.o In file included from /root/oiio-customfix/src/libutil/simd_test.cpp:32: /root/oiio-customfix/src/include/OpenImageIO/simd.h: In function ‘OpenImageIO::v1_5::simd::mask4 OpenImageIO::v1_5::simd::operator|(OpenImageIO::v1_5::simd::mask4, OpenImageIO::v1_5::simd::mask4)’: /root/oiio-customfix/src/include/OpenImageIO/simd.h:333: error: cannot convert ‘float *vector*’ to ‘long long int *vector*’ for argument ‘1’ to ‘long long int *vector* *mm_or_si128(long long int __vector_*, long long int *vector*)’ /root/oiio-customfix/src/include/OpenImageIO/simd.h: In function ‘const OpenImageIO::v1_5::simd::mask4 OpenImageIO::v1_5::simd::operator==(OpenImageIO::v1_5::simd::mask4, OpenImageIO::v1_5::simd::mask4)’: /root/oiio-customfix/src/include/OpenImageIO/simd.h:348: error: cannot convert ‘OpenImageIO::v1_5::simd::mask4’ to ‘long long int *vector*’ for argument ‘1’ to ‘long long int *vector* *mm_cmpeq_epi32(long long int __vector_*, long long int *vector*)’ make[2]: *** [src/libutil/CMakeFiles/simd_test.dir/simd_test.cpp.o] Error 1 make[1]: *** [src/libutil/CMakeFiles/simd_test.dir/all] Error 2 make: *** [all] Error 2 ''' Then if I set USE_SIMD to 0, compiling fails too and I get the following error message: ''' ... [ 11%] Building CXX object src/libutil/CMakeFiles/simd_test.dir/simd_test.cpp.o In file included from /root/oiio-master2/src/libutil/simd_test.cpp:32: /root/oiio-master2/src/include/OpenImageIO/simd.h:171: error: expected unqualified-id before ‘[’ token /root/oiio-master2/src/include/OpenImageIO/simd.h:199: error: ISO C++ forbids declaration of ‘simd_t’ with no type /root/oiio-master2/src/include/OpenImageIO/simd.h:199: error: expected ‘,’ or ‘...’ before ‘m’ /root/oiio-master2/src/include/OpenImageIO/simd.h:202: error: expected type-specifier before ‘simd_t’ /root/oiio-master2/src/include/OpenImageIO/simd.h:203: error: ‘simd_t’ does not name a type /root/oiio-master2/src/include/OpenImageIO/simd.h:377: error: ‘simd_t’ does not name a type /root/oiio-master2/src/include/OpenImageIO/simd.h: In constructor ‘OpenImageIO::v1_5::simd::mask4::mask4(int)’: /root/oiio-master2/src/include/OpenImageIO/simd.h:199: error: class ‘OpenImageIO::v1_5::simd::mask4’ does not have any field named ‘m_vec’ /root/oiio-master2/src/include/OpenImageIO/simd.h:199: error: ‘m’ was not declared in this scope /root/oiio-master2/src/include/OpenImageIO/simd.h: At global scope: /root/oiio-master2/src/include/OpenImageIO/simd.h:450: error: expected unqualified-id before ‘[’ token /root/oiio-master2/src/include/OpenImageIO/simd.h:484: error: expected ‘)’ before ‘m’ /root/oiio-master2/src/include/OpenImageIO/simd.h:487: error: expected type-specifier before ‘simd_t’ /root/oiio-master2/src/include/OpenImageIO/simd.h:488: error: ‘simd_t’ does not name a type /root/oiio-master2/src/include/OpenImageIO/simd.h:806: error: ‘simd_t’ does not name a type /root/oiio-master2/src/include/OpenImageIO/simd.h:922: error: expected unqualified-id before ‘[’ token /root/oiio-master2/src/include/OpenImageIO/simd.h:971: error: ISO C++ forbids declaration of ‘simd_t’ with no type /root/oiio-master2/src/include/OpenImageIO/simd.h:971: error: expected ‘,’ or ‘...’ before ‘m’ /root/oiio-master2/src/include/OpenImageIO/simd.h:974: error: expected type-specifier before ‘simd_t’ /root/oiio-master2/src/include/OpenImageIO/simd.h:975: error: ‘simd_t’ does not name a type /root/oiio-master2/src/include/OpenImageIO/simd.h:1276: error: ‘simd_t’ does not name a type /root/oiio-master2/src/include/OpenImageIO/simd.h: In constructor ‘OpenImageIO::v1_5::simd::float4::float4(int)’: /root/oiio-master2/src/include/OpenImageIO/simd.h:971: error: class ‘OpenImageIO::v1_5::simd::float4’ does not have any field named ‘m_vec’ /root/oiio-master2/src/include/OpenImageIO/simd.h:971: error: ‘m’ was not declared in this scope make[2]: *** [src/libutil/CMakeFiles/simd_test.dir/simd_test.cpp.o] Error 1 make[1]: *** [src/libutil/CMakeFiles/simd_test.dir/all] Error 2 make: *** [all] Error 2 ''' Shouldn't that disable SSE completely? Please note that OpenImageIO was compiling fine before the SIMD instructions directives implementation. In any case, I'm wondering if I'm doing something wrong or if it's a bug. Thanks in advance! P.S.: I have also posted this on the OIIO git issues page
_______________________________________________ Oiio-dev mailing list [email protected] http://lists.openimageio.org/listinfo.cgi/oiio-dev-openimageio.org
