AcademySoftwareFoundation / OpenShadingLanguage

Advanced shading language for production GI renderers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OpenShadingLanguage 1.11.13.0 fails to build on armv7

ggardet opened this issue · comments

Problem

OpenShadingLanguage 1.11.13.0 fails to build on armv7.

Expected behavior:
OpenShadingLanguage 1.11.13.0 should build on armv7.

Actual behavior:
But it fails with:

[  265s] cd /home/abuild/rpmbuild/BUILD/OpenShadingLanguage-Release-1.11.13.0/src/liboslexec && /usr/bin/clang++ -DOSL_FAST_MATH=1 -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -DUSE_STD_REGEX -DOSL_LLVM_VERSION=120 -DOSL_LLVM_FULL_VERSION="12.0.0" -std=c++14 -I/home/abuild/rpmbuild/BUILD/OpenShadingLanguage-Release-1.11.13.0/src/liboslexec -I/home/abuild/rpmbuild/BUILD/OpenShadingLanguage-Release-1.11.13.0/src/include -I/home/abuild/rpmbuild/BUILD/OpenShadingLanguage-Release-1.11.13.0/build/include -I/usr/include -I/usr/include -I/usr/include -isystem\ /usr/include -DOSL_COMPILING_TO_BITCODE=1 -Wno-deprecated-register -Wno-ignored-attributes -Wno-unknown-attributes -O3 -fno-math-errno -S -emit-llvm -o /home/abuild/rpmbuild/BUILD/OpenShadingLanguage-Release-1.11.13.0/build/src/liboslexec/llvm_ops.s llvm_ops.cpp
[  265s] In file included from llvm_ops.cpp:80:
[  265s] In file included from /home/abuild/rpmbuild/BUILD/OpenShadingLanguage-Release-1.11.13.0/build/include/OSL/oslconfig.h:45:
[  265s] In file included from /usr/include/OpenImageIO/errorhandler.h:10:
[  265s] In file included from /usr/include/OpenImageIO/strutil.h:24:
[  265s] In file included from /usr/include/OpenImageIO/hash.h:31:
[  265s] In file included from /usr/include/OpenImageIO/fmath.h:45:
[  265s] /usr/include/OpenImageIO/simd.h:4731:12: error: use of undeclared identifier 'vaddvq_s32'; did you mean 'vpaddlq_s32'?
[  265s]     return vaddvq_s32(v);
[  265s]            ^
[  265s] /usr/lib/clang/12.0.0/include/arm_neon.h:18348:16: note: 'vpaddlq_s32' declared here
[  265s] __ai int64x2_t vpaddlq_s32(int32x4_t __p0) {
[  265s]                ^
[  265s] In file included from llvm_ops.cpp:80:
[  265s] In file included from /home/abuild/rpmbuild/BUILD/OpenShadingLanguage-Release-1.11.13.0/build/include/OSL/oslconfig.h:45:
[  265s] In file included from /usr/include/OpenImageIO/errorhandler.h:10:
[  265s] In file included from /usr/include/OpenImageIO/strutil.h:24:
[  265s] In file included from /usr/include/OpenImageIO/hash.h:31:
[  265s] In file included from /usr/include/OpenImageIO/fmath.h:45:
[  265s] /usr/include/OpenImageIO/simd.h:4731:12: error: cannot initialize return object of type 'int' with an rvalue of type 'int64x2_t' (vector of 2 'int64_t' values)
[  265s]     return vaddvq_s32(v);
[  265s]            ^~~~~~~~~~~~~
[  265s] /usr/include/OpenImageIO/simd.h:6993:12: error: use of undeclared identifier 'vdivq_f32'
[  265s]     return vdivq_f32 (a.m_simd, b.m_simd);
[  265s]            ^
[  265s] /usr/include/OpenImageIO/simd.h:7003:14: error: use of undeclared identifier 'vdivq_f32'
[  265s]     m_simd = vdivq_f32 (m_simd, a.m_simd);
[  265s]              ^
[  265s] /usr/include/OpenImageIO/simd.h:7014:14: error: use of undeclared identifier 'vdivq_f32'
[  265s]     m_simd = vdivq_f32 (m_simd, vfloat4(val));
[  265s]              ^
[  265s] /usr/include/OpenImageIO/simd.h:7256:12: error: use of undeclared identifier 'vaddvq_f32'
[  265s]     return vaddvq_f32(v);
[  265s]            ^
[  265s] 6 errors generated.

Steps to Reproduce

Try to build OpenShadingLanguage 1.11.13.0 for armv7.
I used openSUSE Tumbleweed as host.

Versions

  • OSL branch/version: 1.11.13.0
  • OS: openSUSE Tumbleweed
  • C++ compiler: gcc 10.3.0
  • LLVM version: 12.0.0
  • OIIO version: 2.2.13.1

That's what I did. I also needed to disable partio to build OpenShadingLanguage 1.11.15.0 properly for armv7.