TACC / Galaxy

Galaxy is an asynchronous parallel visualization ray tracer for performant rendering in distributed computing environments. Galaxy builds upon Intel OSPRay and Intel Embree, including ray queueing and sending logic inspired by TACC GraviT.
Apache License 2.0
19 stars 9 forks source link

Failed To make embree after invoking `make` #7

Closed jiec-msft closed 5 years ago

jiec-msft commented 5 years ago

I try to build the embree locally on ubuntu 16.04, But I get this error.

It's hard to figure out what was wrong in the really long and complex Makefile-s Hope you help me, thanks!

[ 93%] Linking CXX executable ../../convert

/usr/bin/ld: ../../libembree3.so.3.5.2: undefined reference to symbol '_ZN3tbb10interface58internal9task_base7destroyERNS_4taskE'

/home/wtx/intel/tbb/lib/intel64/gcc4.7/libtbb.so.2: error adding symbols: DSO missing from command line

collect2: error: ld returned 1 exit status

tutorials/convert/CMakeFiles/convert.dir/build.make:162: recipe for target 'convert' failed

make[2]: *** [convert] Error 1

CMakeFiles/Makefile2:4359: recipe for target 'tutorials/convert/CMakeFiles/convert.dir/all' failed

And I traced the error, and find that it was trigger by:

tutorials/convert/CMakeFiles/convert.dir/all: common/sys/CMakeFiles/sys.dir/all
tutorials/convert/CMakeFiles/convert.dir/all: common/math/CMakeFiles/math.dir/all
tutorials/convert/CMakeFiles/convert.dir/all: common/simd/CMakeFiles/simd.dir/all
tutorials/convert/CMakeFiles/convert.dir/all: common/lexers/CMakeFiles/lexers.dir/all
tutorials/convert/CMakeFiles/convert.dir/all: common/tasking/CMakeFiles/tasking.dir/all
tutorials/convert/CMakeFiles/convert.dir/all: kernels/CMakeFiles/embree_sse42.dir/all
tutorials/convert/CMakeFiles/convert.dir/all: kernels/CMakeFiles/embree.dir/all
tutorials/convert/CMakeFiles/convert.dir/all: kernels/CMakeFiles/embree_avx.dir/all
tutorials/convert/CMakeFiles/convert.dir/all: kernels/CMakeFiles/embree_avx2.dir/all
tutorials/convert/CMakeFiles/convert.dir/all: tutorials/common/image/CMakeFiles/image.dir/all
tutorials/convert/CMakeFiles/convert.dir/all: tutorials/common/scenegraph/CMakeFiles/scenegraph.dir/all
        .........
    $(MAKE) -f tutorials/convert/CMakeFiles/convert.dir/build.make tutorials/convert/CMakeFiles/convert.dir/build
        .......
jiec-msft commented 5 years ago

triggered by the command following:

/usr/bin/c++    -Wall -Wformat -Wformat-security -fPIE -fPIC -std=c++11 -fvisibility=hidden -fvisibility-inlines-hidden -fno-strict-aliasing -fno-tree-vectorize  -DNDEBUG -O3 -D_FORTIFY_SOURCE=2   -z noexecstack -z relro -z now -pie CMakeFiles/convert.dir/convert.cpp.o CMakeFiles/convert.dir/distribution1d.cpp.o CMakeFiles/convert.dir/distribution2d.cpp.o  -o ../../convert  -L/usr/local/lib -rdynamic ../../libscenegraph.a ../../libimage.a ../../libtasking.a -ljpeg /usr/local/lib/libpng.so ../../libembree3.so.3.5.2 ../../libtasking.a -ltbb -ltbbmalloc ../../liblexers.a ../../libsys.a -lpthread -ldl ../../libmath.a ../../libembree_sse42.a ../../libembree_avx.a ../../libembree_avx2.a ../../libsimd.a -Wl,-rpath,/usr/local/lib:/home/wtx/Galaxy/third-party/embree/build: 
pnav commented 5 years ago

Hello,

Thanks for trying Galaxy!

Based on that error, it looks like you need to update the TBB install on your system. Our Travis-CI build uses Ubuntu 16.04, and it pulls these tbb libs:

libtbb2_4.4~20151115-0ubuntu3_amd64.deb libtbb-dev_4.4~20151115-0ubuntu3_amd64.deb

If needed, you can download directly from the TBB site.

jiec-msft commented 5 years ago

Thank you! I'll try it!