Intel® Embree Ray Tracing Kernels
Discussion forum on the open source ray tracing kernels for fast photo-realistic rendering on Intel® CPU(s)

not build on linux

mmkv
Beginner
1,070 Views
not build on linux:

$ LANG=C make
[ 18%] Built target sys
[ 30%] Built target image
[ 32%] Building CXX object rtcore/CMakeFiles/rtcore.dir/bvh2/bvh2_builder.o
/home/mkv/embree-1.0beta/rtcore/bvh2/bvh2_builder.cpp: In constructor 'embree::BVH2Builder::BuildTask::BuildTask(embree::BVH2Builder*, int&, size_t, const embree::ObjectBinning<2>&)':
/home/mkv/embree-1.0beta/rtcore/bvh2/bvh2_builder.cpp:103: error: conversion from 'embree::PosInfTy' to 'size_t' is ambiguous
/home/mkv/embree-1.0beta/common/sys/constants.h:105: note: candidates are: embree::PosInfTy::operator size_t() const
/home/mkv/embree-1.0beta/common/sys/constants.h:103: note: embree::PosInfTy::operator uint8() const
/home/mkv/embree-1.0beta/common/sys/constants.h:102: note: embree::PosInfTy::operator int8() const
/home/mkv/embree-1.0beta/common/sys/constants.h:101: note: embree::PosInfTy::operator uint16() const
/home/mkv/embree-1.0beta/common/sys/constants.h:100: note: embree::PosInfTy::operator int16() const
/home/mkv/embree-1.0beta/common/sys/constants.h:99: note: embree::PosInfTy::operator uint32() const
/home/mkv/embree-1.0beta/common/sys/constants.h:98: note: embree::PosInfTy::operator int32() const
/home/mkv/embree-1.0beta/common/sys/constants.h:97: note: embree::PosInfTy::operator uint64() const
/home/mkv/embree-1.0beta/common/sys/constants.h:96: note: embree::PosInfTy::operator int64() const
/home/mkv/embree-1.0beta/common/sys/constants.h:95: note: embree::PosInfTy::operator float() const
/home/mkv/embree-1.0beta/common/sys/constants.h:94: note: embree::PosInfTy::operator double() const
make[2]: *** [rtcore/CMakeFiles/rtcore.dir/bvh2/bvh2_builder.o] Error 1
make[1]: *** [rtcore/CMakeFiles/rtcore.dir/all] Error 2
make: *** [all] Error 2

$ LANG=C gcc --version
gcc (Gentoo 4.4.5 p1.2, pie-0.4.5) 4.4.5
0 Kudos
3 Replies
SvenW_Intel
Moderator
1,070 Views
Looks like on your system size_t is not a separate type. Comment out all lines containing size_t in sys/constants.h.
0 Kudos
mmkv
Beginner
1,070 Views
it helped, but:

$ ./embree
illegal instruction
0 Kudos
SvenW_Intel
Moderator
1,070 Views

Your CPU probably does not support SSE4. Use cmake to enable SSSE3 as instruction set as described in the documentation.

0 Kudos
Reply