RenderKit / ospray

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

superbuild fails on macOS due to OpenVKL build errors #448

Closed i-sultan closed 4 years ago

i-sultan commented 4 years ago

Hi there,

I tried to build OSPray 2.2.0 on macOS with clang 10.0.1, got a bunch of errors while building OpenVKL, tried with both ISPC 1.12.0 and 1.13.0 with no luck.

Attached file has the list of errors I got. Thanks for taking a look.

i-sultan commented 4 years ago

openvkl_issues.docx

johguenther commented 4 years ago

OK, relevant errors are

/Users/os/ospray/build/openvkl/src/openvkl/drivers/ispc/volume/amr/AMRVolume.h:8:
[build] /Users/os/ospray/build/openvkl/src/openvkl/drivers/ispc/volume/amr/../../iterator/DefaultIterator.h:36:28: error: no type named 'v16_varying_DefaultIntervalIterator' in namespace 'ispc'
[build]       using IspcIterator = __varying_ispc_type(DefaultIntervalIterator);
[build]                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[build] /Users/os/ospray/build/openvkl/src/openvkl/drivers/ispc/volume/amr/../../iterator/Iterator.h:18:9: note: expanded from macro '__varying_ispc_type'
[build]   ispc::paste(paste(v, VKL_TARGET_WIDTH), _varying_##TypeName)
[build]   ~~~~~~^
[build] /Users/os/ospray/build/openvkl/src/openvkl/drivers/ispc/volume/amr/../../iterator/Iterator.h:14:21: note: expanded from macro 'paste'
[build] #define paste(A, B) __paste(A, B)
[build]                     ^
[build] /Users/os/ospray/build/openvkl/src/openvkl/drivers/ispc/volume/amr/../../iterator/Iterator.h:15:23: note: expanded from macro '__paste'
[build] #define __paste(A, B) A##B
[build]                       ^
[build] <scratch space>:331:1: note: expanded from here
[build] v16_varying_DefaultIntervalIterator
[build] ^
[build] In file included from /Users/os/ospray/build/openvkl/src/openvkl/drivers/ispc/volume/amr/AMRVolume.cpp:4:
[build] In file included from /Users/os/ospray/build/openvkl/src/openvkl/drivers/ispc/volume/amr/AMRVolume.h:8:
[build] /Users/os/ospray/build/openvkl/src/openvkl/drivers/ispc/volume/amr/../../iterator/DefaultIterator.h:37:15: warning: 'alignof' applied to an expression is a GNU extension [-Wgnu-alignof-expression]
[build]       alignas(alignof(IspcIterator)) char ispcStorage[sizeof(IspcIterator)];
[build]               ^
[build] /Users/os/ospray/build/openvkl/src/openvkl/drivers/ispc/volume/amr/../../iterator/DefaultIterator.h:37:23: error: use of undeclared identifier 'IspcIterator'
[build]       alignas(alignof(IspcIterator)) char ispcStorage[sizeof(IspcIterator)];
[build]                       ^

Hmm, v16_varying_DefaultIntervalIterator should be defined by the ISPC generated headers, e.g. in <builddir>/openvkl/drivers/ispc/ispc_avx512skx-i32x16sse2/DefaultIterator_ispc.h. @gregjohnson did you see this happening before?

jmengintel commented 4 years ago

@i-sultan could you please post the exact command line you use for building, including the call to cmake?

i-sultan commented 4 years ago

I'm not able to reproduce this on a fresh clone of 2.2.0, hence I'm resolving this ticket. Will let you know if I hit it again, thanks for looking into this.