RenderKit / ospray

An Open, Scalable, Portable, Ray Tracing Based Rendering Engine for High-Fidelity Visualization
http://ospray.org
Apache License 2.0
982 stars 178 forks source link

Build fails on amd64: error: call to 'getDataSafe' is ambiguous #529

Closed yurivict closed 1 year ago

yurivict commented 2 years ago
/wrkdirs/usr/ports/graphics/ospray/work/ospray-2.9.0/modules/cpu/fb/LocalFB.cpp:56:7: error: call to 'getDataSafe' is ambiguous
      getDataSafe(accumBuffer),
      ^~~~~~~~~~~
/usr/local/include/rkcommon/memory/../common.h:74:6: note: candidate function [with T = rkcommon::math::vec_t<float, 4, false>, A = rkcommon::containers::aligned_allocator<rkcommon::math::vec_t<float, 4, false>, 64>]
  T *getDataSafe(std::vector<T, A> &v)
     ^
/wrkdirs/usr/ports/graphics/ospray/work/ospray-2.9.0/modules/cpu/fb/LocalFB.cpp:12:11: note: candidate function [with T = rkcommon::math::vec_t<float, 4, false>, A = rkcommon::containers::aligned_allocator<rkcommon::math::vec_t<float, 4, false>, 64>]
static T *getDataSafe(std::vector<T, A> &v)
          ^

Version: 2.9.0 clang-13 FreeBSD 13.1

Twinklebear commented 2 years ago

Hi @yurivict , you should use rkcommon v1.9.0 when building OSPRay 2.9, let us know if that fixes the issue. We moved this function into rkcommon for the OSPRay 2.10 & rkcommon 1.10.0 release, but this means that OSPRay 2.9 isn't compatible with rkcommon 1.10, and OSPRay 2.10 isn't compatible with rkcommon 1.9.

yurivict commented 2 years ago

We have rkcommon-1.10.0 in ports. I should wait for the OSPRay release then.

Twinklebear commented 2 years ago

Oh in that case try out OSPRay 2.10 https://github.com/ospray/ospray/releases/tag/v2.10.0 , which we just recently released

johguenther commented 2 years ago

We'll add exact version matches to prevent such incompatibilities in future.