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

Ospray does not build without TBB #41

Closed ghost closed 8 years ago

ghost commented 8 years ago

On develop branch I can't find a way to build the ospray if TBB is not present on the system.

jeffamstutz commented 8 years ago

This is not a bug as TBB is now being used as the main tasking system for OSPRay. It is a very common library, as it can be found packaged with the Intel compiler, in almost every Linux distro's package manager, and on OS X via Homebrew or MacPorts.

It is possible to build OSPRay using OpenMP by specifying the CMake variable OSPRAY_TASKING_SYSTEM=OpenMP. We have not done any tuning with OpenMP and thus it does not perform as well as TBB. Continuing to support OpenMP as an option has not be decided, but it exists for now.

ghost commented 8 years ago

I have set OSPRAY_TASKING_SYSTEM=OpenMP and it still does not build, hence the bug report. The error message is:


CMake Error: The following variables are used in this project,
 but they are set to NOTFOUND.
 Please set them or make sure they are set and tested correctly in
 the CMake files:
 TBB_LIBRARY
     linked by target "ospray" in directory
 /home/pk/pool/ospray/ospray
     linked by target "ospParticleViewer" in directory
 /home/pk/pool/ospray/apps/particleViewer
 TBB_LIBRARY_MALLOC
     linked by target "ospray" in directory
 /home/pk/pool/ospray/ospray
     linked by target "ospParticleViewer" in directory
 /home/pk/pool/ospray/apps/particleViewer
ghost commented 8 years ago

CMakeCache.txt

# This is the CMakeCache file.
# For build in directory: /home/pk/pool/ospray/build
# It was generated by CMake: /usr/bin/cmake
# You can edit this file to change values found and used by cmake.
# If you do not want to change any of the values, simply exit the editor.
# If you do want to change a value, simply edit, save, and exit the editor.
# The syntax for the file is as follows:
# KEY:TYPE=VALUE
# KEY is the name of a variable in the cache.
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
# VALUE is the current value for the KEY.

########################
# EXTERNAL cache entries
########################

//Path to a program.
CMAKE_AR:FILEPATH=/usr/bin/ar

//Choose the build type.
CMAKE_BUILD_TYPE:STRING=Release

//Enable/Disable color output during build.
CMAKE_COLOR_MAKEFILE:BOOL=ON

//CXX compiler
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++

//Flags used by the compiler during all build types.
CMAKE_CXX_FLAGS:STRING=

//Flags used by the compiler during debug builds.
CMAKE_CXX_FLAGS_DEBUG:STRING=-g

//Flags used by the compiler during release builds for minimum
// size.
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG

//Flags used by the compiler during release builds.
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG

//Flags used by the compiler during release builds with debug info.
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG

//C compiler
CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc

//Flags used by the compiler during all build types.
CMAKE_C_FLAGS:STRING=

//Flags used by the compiler during debug builds.
CMAKE_C_FLAGS_DEBUG:STRING=-g

//Flags used by the compiler during release builds for minimum
// size.
CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG

//Flags used by the compiler during release builds.
CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG

//Flags used by the compiler during release builds with debug info.
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG

//Flags used by the linker.
CMAKE_EXE_LINKER_FLAGS:STRING=

//Flags used by the linker during debug builds.
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds.
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds.
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds.
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//Enable/Disable output of compile commands during generation.
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=OFF

//Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=/usr/local

//Path to a program.
CMAKE_LINKER:FILEPATH=/usr/bin/ld

//Path to a program.
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake

//Flags used by the linker during the creation of modules.
CMAKE_MODULE_LINKER_FLAGS:STRING=

//Flags used by the linker during debug builds.
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds.
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds.
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds.
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//Path to a program.
CMAKE_NM:FILEPATH=/usr/bin/nm

//Path to a program.
CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy

//Path to a program.
CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump

//Value Computed by CMake
CMAKE_PROJECT_NAME:STATIC=OSPRay

//Path to a program.
CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib

//Flags used by the linker during the creation of dll's.
CMAKE_SHARED_LINKER_FLAGS:STRING=

//Flags used by the linker during debug builds.
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds.
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds.
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds.
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//If set, runtime paths are not added when installing shared libraries,
// but are added when building.
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO

//If set, runtime paths are not added when using shared libraries.
CMAKE_SKIP_RPATH:BOOL=NO

//Flags used by the linker during the creation of static libraries.
CMAKE_STATIC_LINKER_FLAGS:STRING=

//Flags used by the linker during debug builds.
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds.
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds.
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds.
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//Path to a program.
CMAKE_STRIP:FILEPATH=/usr/bin/strip

//Enables verbose mode.
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE

//Graphviz Dot tool for using Doxygen
DOXYGEN_DOT_EXECUTABLE:FILEPATH=DOXYGEN_DOT_EXECUTABLE-NOTFOUND

//Doxygen documentation generation tool (http://www.doxygen.org)
DOXYGEN_EXECUTABLE:FILEPATH=DOXYGEN_EXECUTABLE-NOTFOUND

//32vs64 bit addressing in ispc
EMBREE_ISPC_ADDRESSING:STRING=32

//Experimental new block/bricked volume layout
EXP_NEW_BB_VOLUME_KERNELS:BOOL=ON

//GCC Version
GCC_VERSION:STRING=5.3.0

//Path to a file.
GLUT_INCLUDE_DIR:PATH=/usr/include

//Path to a library.
GLUT_Xi_LIBRARY:FILEPATH=/usr/lib64/libXi.so

//Path to a library.
GLUT_Xmu_LIBRARY:FILEPATH=/usr/lib64/libXmu.so

//Path to a library.
GLUT_glut_LIBRARY:FILEPATH=/usr/lib64/libglut.so

//Path to the ISPC executable.
ISPC_EXECUTABLE:FILEPATH=/home/pk/.local/bin/ispc

//ISPC Version
ISPC_VERSION:STRING=1.8.2

//Path to a file.
OPENGL_INCLUDE_DIR:PATH=/usr/include

//Path to a library.
OPENGL_gl_LIBRARY:FILEPATH=/usr/lib64/libGL.so

//Path to a library.
OPENGL_glu_LIBRARY:FILEPATH=/usr/lib64/libGLU.so

//Path to a file.
OPENGL_xmesa_INCLUDE_DIR:PATH=OPENGL_xmesa_INCLUDE_DIR-NOTFOUND

//Build ospModelViewer application.
OSPRAY_APPS_MODELVIEWER:BOOL=OFF

//Build ospParticleViewer application.
OSPRAY_APPS_PARTICLEVIEWER:BOOL=ON

//Build ospQtViewer (Qt-based model viewer)
OSPRAY_APPS_QTVIEWER:BOOL=OFF

//Build ospStreamLineViewer application.
OSPRAY_APPS_STREAMLINEVIEWER:BOOL=OFF

//Build ospVolumeViewer application.
OSPRAY_APPS_VOLUMEVIEWER:BOOL=OFF

//Enable experimental 'Knights Landing' build?
OSPRAY_BUILD_ENABLE_KNL:BOOL=OFF

//Target ISA (SSE, AVX, AVX2, or ALL)
OSPRAY_BUILD_ISA:STRING=SSE

//Build OSPRay with KNC Support?
OSPRAY_BUILD_MIC_SUPPORT:BOOL=OFF

//Add MPI Remote/Distributed rendering support?
OSPRAY_BUILD_MPI_DEVICE:BOOL=OFF

//Build DisplayCluster tiled display support
OSPRAY_DISPLAYCLUSTER:BOOL=OFF

//Build loaders for common file types.
OSPRAY_MODULE_LOADERS:BOOL=OFF

//Build OpenGL utility functionality
OSPRAY_MODULE_OPENGL_UTIL:BOOL=OFF

//Build seismic volume file support module
OSPRAY_MODULE_SEISMIC:BOOL=OFF

//Build 'TACH' (tachyon model viewer)
OSPRAY_MODULE_TACHYON:BOOL=OFF

//Must be multiple of largest vector width *and* <= OSPRAY_TILE_SIZE
OSPRAY_PIXELS_PER_JOB:STRING=64

//Use TBB or OpenMP as for per-node thread tasking system
OSPRAY_TASKING_SYSTEM:STRING=OpenMP

//Tile size
OSPRAY_TILE_SIZE:STRING=64

//Move 'voxelrange' computations to app?
OSPRAY_VOLUME_VOXELRANGE_IN_APP:BOOL=OFF

//Value Computed by CMake
OSPRay_BINARY_DIR:STATIC=/home/pk/pool/ospray/build

//Value Computed by CMake
OSPRay_SOURCE_DIR:STATIC=/home/pk/pool/ospray

//C++ compiler flags for OpenMP parallization
OpenMP_CXX_FLAGS:STRING=-fopenmp

//C compiler flags for OpenMP parallization
OpenMP_C_FLAGS:STRING=-fopenmp

QT_QMAKE_EXECUTABLE:FILEPATH=NOTFOUND

//Path to a file.
TBB_INCLUDE_DIR:PATH=TBB_INCLUDE_DIR-NOTFOUND

//Path to a file.
TBB_INCLUDE_DIR_MIC:PATH=TBB_INCLUDE_DIR_MIC-NOTFOUND

//Path to a library.
TBB_LIBRARY:FILEPATH=TBB_LIBRARY-NOTFOUND

//Path to a library.
TBB_LIBRARY_MALLOC:FILEPATH=TBB_LIBRARY_MALLOC-NOTFOUND

//Path to a library.
TBB_LIBRARY_MALLOC_MIC:FILEPATH=TBB_LIBRARY_MALLOC_MIC-NOTFOUND

//Path to a library.
TBB_LIBRARY_MIC:FILEPATH=TBB_LIBRARY_MIC-NOTFOUND

//Root of TBB installation
TBB_ROOT:PATH=TBB_ROOT-NOTFOUND

//Use ImageMagick for ModelViewer's Texture loaders.
USE_IMAGE_MAGICK:BOOL=OFF

//Value Computed by CMake
embree2_BINARY_DIR:STATIC=/home/pk/pool/ospray/build/builddir/ospray/intel64/embree-v2.7.1

//Value Computed by CMake
embree2_SOURCE_DIR:STATIC=/home/pk/pool/ospray/ospray/embree-v2.7.1

//Dependencies for the target
embree_LIB_DEPENDS:STATIC=general;embree_sse42;general;sys;general;simd;general;lexers;

//Dependencies for target
embree_avx2_LIB_DEPENDS:STATIC=

//Dependencies for target
embree_avx_LIB_DEPENDS:STATIC=

//Dependencies for target
embree_sse42_LIB_DEPENDS:STATIC=

//Dependencies for the target
lexers_LIB_DEPENDS:STATIC=general;sys;

//Dependencies for the target
ospray_LIB_DEPENDS:STATIC=general;dl;general;embree;general;TBB_LIBRARY_MALLOC-NOTFOUND;general;TBB_LIBRARY-NOTFOUND;

//Dependencies for the target
ospray_glut3d_LIB_DEPENDS:STATIC=general;ospray;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;general;glut;general;GLU;general;m;

//Dependencies for the target
ospray_minisg_LIB_DEPENDS:STATIC=general;ospray_xml;

//Dependencies for the target
ospray_module_loaders_LIB_DEPENDS:STATIC=general;ospray;

//Dependencies for the target
ospray_module_opengl_util_LIB_DEPENDS:STATIC=general;ospray;general;/usr/lib64/libGLU.so;general;/usr/lib64/libGL.so;

//Dependencies for the target
ospray_xml_LIB_DEPENDS:STATIC=general;ospray;

//Dependencies for target
simd_LIB_DEPENDS:STATIC=

//Dependencies for the target
sys_LIB_DEPENDS:STATIC=general;dl;

########################
# INTERNAL cache entries
########################

//ADVANCED property for variable: CMAKE_AR
CMAKE_AR-ADVANCED:INTERNAL=1
//STRINGS property for variable: CMAKE_BUILD_TYPE
CMAKE_BUILD_TYPE-STRINGS:INTERNAL=Debug;Release;RelWithDebInfo
//This is the directory where this CMakeCache.txt was created
CMAKE_CACHEFILE_DIR:INTERNAL=/home/pk/pool/ospray/build
//Major version of cmake used to create the current loaded cache
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
//Minor version of cmake used to create the current loaded cache
CMAKE_CACHE_MINOR_VERSION:INTERNAL=4
//Patch version of cmake used to create the current loaded cache
CMAKE_CACHE_PATCH_VERSION:INTERNAL=3
//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
//Path to CMake executable.
CMAKE_COMMAND:INTERNAL=/usr/bin/cmake
//Path to cpack program executable.
CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack
//Path to ctest program executable.
CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest
//ADVANCED property for variable: CMAKE_CXX_COMPILER
CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=0
//ADVANCED property for variable: CMAKE_CXX_FLAGS
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_COMPILER
CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//Path to cache edit program executable.
CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake
//Executable file format
CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
//Name of external makefile project generator.
CMAKE_EXTRA_GENERATOR:INTERNAL=
//Name of generator.
CMAKE_GENERATOR:INTERNAL=Unix Makefiles
//Name of generator platform.
CMAKE_GENERATOR_PLATFORM:INTERNAL=
//Name of generator toolset.
CMAKE_GENERATOR_TOOLSET:INTERNAL=
//Have symbol pthread_create
CMAKE_HAVE_LIBC_CREATE:INTERNAL=1
//Have include pthread.h
CMAKE_HAVE_PTHREAD_H:INTERNAL=1
//Source directory with the top level CMakeLists.txt file for this
// project
CMAKE_HOME_DIRECTORY:INTERNAL=/home/pk/pool/ospray
//Install .so files without execute permission.
CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0
//ADVANCED property for variable: CMAKE_LINKER
CMAKE_LINKER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_NM
CMAKE_NM-ADVANCED:INTERNAL=1
//number of local generators
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=19
//ADVANCED property for variable: CMAKE_OBJCOPY
CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_OBJDUMP
CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RANLIB
CMAKE_RANLIB-ADVANCED:INTERNAL=1
//Path to CMake installation.
CMAKE_ROOT:INTERNAL=/usr/share/cmake
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_RPATH
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STRIP
CMAKE_STRIP-ADVANCED:INTERNAL=1
//uname command
CMAKE_UNAME:INTERNAL=/usr/bin/uname
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=0
//ADVANCED property for variable: DOXYGEN_DOT_EXECUTABLE
DOXYGEN_DOT_EXECUTABLE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: DOXYGEN_EXECUTABLE
DOXYGEN_EXECUTABLE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: EMBREE_ISPC_ADDRESSING
EMBREE_ISPC_ADDRESSING-ADVANCED:INTERNAL=1
ENABLE_INSTALLER:INTERNAL=OFF
//Build Embree with support for ISPC applications.
ENABLE_ISPC_SUPPORT:INTERNAL=ON
//Build Embree as a static library.
ENABLE_STATIC_LIB:INTERNAL=OFF
//Enable to build Embree tutorials
ENABLE_TUTORIALS:INTERNAL=OFF
//Generates code path for Xeon Phi.
ENABLE_XEON_PHI_SUPPORT:INTERNAL=OFF
//ADVANCED property for variable: EXP_NEW_BB_VOLUME_KERNELS
EXP_NEW_BB_VOLUME_KERNELS-ADVANCED:INTERNAL=1
//Details about finding GLUT
FIND_PACKAGE_MESSAGE_DETAILS_GLUT:INTERNAL=[/usr/lib64/libglut.so][/usr/include][v()]
//Details about finding OpenGL
FIND_PACKAGE_MESSAGE_DETAILS_OpenGL:INTERNAL=[/usr/lib64/libGL.so][/usr/include][v()]
//Details about finding Threads
FIND_PACKAGE_MESSAGE_DETAILS_Threads:INTERNAL=[TRUE][v()]
//ADVANCED property for variable: GCC_VERSION
GCC_VERSION-ADVANCED:INTERNAL=1
//ADVANCED property for variable: GLUT_INCLUDE_DIR
GLUT_INCLUDE_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: GLUT_Xi_LIBRARY
GLUT_Xi_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: GLUT_Xmu_LIBRARY
GLUT_Xmu_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: GLUT_glut_LIBRARY
GLUT_glut_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: ISPC_EXECUTABLE
ISPC_EXECUTABLE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: ISPC_VERSION
ISPC_VERSION-ADVANCED:INTERNAL=1
//ADVANCED property for variable: OPENGL_INCLUDE_DIR
OPENGL_INCLUDE_DIR-ADVANCED:INTERNAL=1
//ADVANCED property for variable: OPENGL_gl_LIBRARY
OPENGL_gl_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: OPENGL_glu_LIBRARY
OPENGL_glu_LIBRARY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: OPENGL_xmesa_INCLUDE_DIR
OPENGL_xmesa_INCLUDE_DIR-ADVANCED:INTERNAL=1
//MODIFIED property for variable: OSPRAY_APPS_MODELVIEWER
OSPRAY_APPS_MODELVIEWER-MODIFIED:INTERNAL=ON
//MODIFIED property for variable: OSPRAY_APPS_PARTICLEVIEWER
OSPRAY_APPS_PARTICLEVIEWER-MODIFIED:INTERNAL=ON
//MODIFIED property for variable: OSPRAY_APPS_QTVIEWER
OSPRAY_APPS_QTVIEWER-MODIFIED:INTERNAL=ON
//ADVANCED property for variable: OSPRAY_APPS_STREAMLINEVIEWER
OSPRAY_APPS_STREAMLINEVIEWER-ADVANCED:INTERNAL=1
//MODIFIED property for variable: OSPRAY_APPS_VOLUMEVIEWER
OSPRAY_APPS_VOLUMEVIEWER-MODIFIED:INTERNAL=ON
//ADVANCED property for variable: OSPRAY_BUILD_ENABLE_KNL
OSPRAY_BUILD_ENABLE_KNL-ADVANCED:INTERNAL=1
//MODIFIED property for variable: OSPRAY_BUILD_ISA
OSPRAY_BUILD_ISA-MODIFIED:INTERNAL=ON
//STRINGS property for variable: OSPRAY_BUILD_ISA
OSPRAY_BUILD_ISA-STRINGS:INTERNAL=ALL;SSE;AVX;AVX2
//ADVANCED property for variable: OSPRAY_DISPLAYCLUSTER
OSPRAY_DISPLAYCLUSTER-ADVANCED:INTERNAL=1
//MODIFIED property for variable: OSPRAY_MODULE_LOADERS
OSPRAY_MODULE_LOADERS-MODIFIED:INTERNAL=ON
//MODIFIED property for variable: OSPRAY_MODULE_OPENGL_UTIL
OSPRAY_MODULE_OPENGL_UTIL-MODIFIED:INTERNAL=ON
//ADVANCED property for variable: OSPRAY_PIXELS_PER_JOB
OSPRAY_PIXELS_PER_JOB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: OSPRAY_TASKING_SYSTEM
OSPRAY_TASKING_SYSTEM-ADVANCED:INTERNAL=1
//MODIFIED property for variable: OSPRAY_TASKING_SYSTEM
OSPRAY_TASKING_SYSTEM-MODIFIED:INTERNAL=ON
//STRINGS property for variable: OSPRAY_TASKING_SYSTEM
OSPRAY_TASKING_SYSTEM-STRINGS:INTERNAL=TBB;OpenMP
//ADVANCED property for variable: OSPRAY_TILE_SIZE
OSPRAY_TILE_SIZE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: OSPRAY_VOLUME_VOXELRANGE_IN_APP
OSPRAY_VOLUME_VOXELRANGE_IN_APP-ADVANCED:INTERNAL=1
//ADVANCED property for variable: OpenMP_CXX_FLAGS
OpenMP_CXX_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: OpenMP_C_FLAGS
OpenMP_C_FLAGS-ADVANCED:INTERNAL=1
//Test OpenMP_FLAG_DETECTED
OpenMP_FLAG_DETECTED:INTERNAL=1
//Enables backface culling.
RTCORE_BACKFACE_CULLING:INTERNAL=OFF
//Enables buffer strides.
RTCORE_BUFFER_STRIDE:INTERNAL=ON
//Enables ray stream logger.
RTCORE_ENABLE_RAYSTREAM_LOGGER:INTERNAL=OFF
//Lets Embree library export all symbols.
RTCORE_EXPORT_ALL_SYMBOLS:INTERNAL=ON
//Ignores invalid rays.
RTCORE_IGNORE_INVALID_RAYS:INTERNAL=OFF
//Enables intersection filter callback.
RTCORE_INTERSECTION_FILTER:INTERNAL=ON
//Enables ray mask support.
RTCORE_RAY_MASK:INTERNAL=ON
//Enabled support for ray packets.
RTCORE_RAY_PACKETS:INTERNAL=ON
//Enables statistic counters.
RTCORE_STAT_COUNTERS:INTERNAL=OFF
//STRINGS property for variable: RTCORE_TASKING_SYSTEM
RTCORE_TASKING_SYSTEM-STRINGS:INTERNAL=TBB;INTERNAL
RTCORE_TASKING_SYSTEM:INTERNAL=Internal
//Enable triangle pairs.
RTCORE_TRIANGLE_PAIRS:INTERNAL=OFF
//ADVANCED property for variable: TBB_INCLUDE_DIR_MIC
TBB_INCLUDE_DIR_MIC-ADVANCED:INTERNAL=1
//ADVANCED property for variable: TBB_LIBRARY_MALLOC_MIC
TBB_LIBRARY_MALLOC_MIC-ADVANCED:INTERNAL=1
//ADVANCED property for variable: TBB_LIBRARY_MIC
TBB_LIBRARY_MIC-ADVANCED:INTERNAL=1
//ADVANCED property for variable: USE_IMAGE_MAGICK
USE_IMAGE_MAGICK-ADVANCED:INTERNAL=1
//STRINGS property for variable: XEON_ISA
XEON_ISA-STRINGS:INTERNAL=SSE2;SSE3;SSSE3;SSE4.1;SSE4.2;AVX;AVX-I;AVX2;AVX512
XEON_ISA:INTERNAL=SSE4.2
jeffamstutz commented 8 years ago

Oops, definitely a bug. :)

I should be able to get this fixed today. I'll post here when it's ready....sorry for jumping to the wrong conclusion!

jeffamstutz commented 8 years ago

The fix should now be in both 'release-0.9' and 'devel'. Please let me know if you continue to have issues.

ghost commented 8 years ago

No worries. Anyhow, it is not fixed; look at this commit version of the CMakeLists.txt https://github.com/ospray/OSPRay/blob/3acde31056aa23fade7216733162be2634209287/ospray/CMakeLists.txt

There is OpenMP option working. Now if you look at the recent version of the same file and go to line 313, there are two variables TBB_LIBRARY and TBB_LIBRARY_MALLOC which are not found if the TBB is not set. These two are the culprits.

jeffamstutz commented 8 years ago

The latest changes I did this morning unset the cache values for TBB_LIBRARY and TBB_LIBRARY_MALLOC (and their mic equivalents) if the OpenMP backend is selected. I've successfully used the following steps in an environment which does not have TBB:

  1. configure OSPRay in a blank build directory (fails to find TBB)
  2. change OSPRAY_TASKING_SYSTEM to OpenMP in ccmake
  3. configure OSPRay again (succeeds)

You can also specify -DOSPRAY_TASKING_SYSTEM=OpenMP on the command line during initial configuration if you want to configure OSPRay from scratch all in one go without TBB.

Perhaps you are asking for OSPRay to automatically use OpenMP if TBB is not found? If so, we want users to explicitly choose OpenMP right now because of performance issues (a.k.a. we want to steer users to build with TBB).

ghost commented 8 years ago

Sorry, I forgot to pull your commit. All works now, thank you.