Blender 2.90 Local build fails

@jaywalker What operating system are you using right now? And which of those Links to compile Blender were you following here https://wiki.blender.org/wiki/Building_Blender/Linux ? Ubuntu? Fedora?

The short answer is Mageia release 7 (Official) for x86_64 and I used the “Generic Distro” instructions.

The long answer? Mageia is derived from the Red Hat->Mandrake->Mandriva line. The most relevant deviation from its Red Hat ancestor is the attention given to “standardising” package naming in a way which can make it awkward to use if only Red Hat/Fedora package names are available in, for example, the Blender install_deps.sh script.

My first attempt at building Blender locally was about a year ago. At that time I wanted to use as many system libraries as possible so I had a go at providing a Mageia section in install_deps.sh but it proved to be easier to use our Mageia Blender 2.79 source package and convert the spec file to build 2.80 (with LOTS of help from Mageia devs!).

I came back to trying to build from sources a few weeks ago when I was inspired by Pablo Vazquez’s video on building Blender and it didn’t take long to have my first
build running using the centos7_x86_64 static libraries.

A week or so later I encountered a bug in AMD’s interpretaion of OpenGL defaults which prevented Blender 2.90 from starting. The bug has been fixed, but I still build (built) locally for the fun of it :~)

I’ve got the same issue (edit: apparently not, simple fix below, thanks @ankitm ) on MacOS Mojave. Disabling OIDN makes the build succeed, even with Embree and OpenMP.

Build fails at the end when OIDN is enabled:

[100%] Built target bf_compositor
Scanning dependencies of target blender
make[3]: *** No rule to make target /blender/lib/darwin/openimagedenoise/lib/libmkldnn.a', needed by `bin/Blender.app/Contents/MacOS/Blender'.  Stop.
make[3]: *** Waiting for unfinished jobs....

That is different and you can either delete the CMakeCache.txt file in the build folder, or delete the build folder itself, to fix it.

Thanks! Deleting CMakeCache.txt wasn’t enough but clearing the whole build folder and recompiling did it.

I have probably the same issue with the master branch head. My setup worked perfectly in June, but at some point in July linking started to crash. I always build from scratch in a clean container.

[100%] Linking CXX executable ../../bin/blender
/content/lib/linux_centos7_x86_64/llvm/lib/libLLVMMCJIT.a(MCJIT.cpp.o):MCJIT.cpp:function std::_Sp_counted_ptr_inplace<llvm::SectionMemoryManager, std::allocator<llvm::SectionMemoryManager>, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&): error: undefined reference to 'std::_Sp_make_shared_tag::_S_eq(std::type_info const&)'
/content/lib/linux_centos7_x86_64/llvm/lib/libLLVMRuntimeDyld.a(RuntimeDyld.cpp.o):RuntimeDyld.cpp:function std::_Sp_counted_ptr_inplace<std::__future_base::_State_baseV2, std::allocator<std::__future_base::_State_baseV2>, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&): error: undefined reference to 'std::_Sp_make_shared_tag::_S_eq(std::type_info const&)'
/content/lib/linux_centos7_x86_64/llvm/lib/libLLVMRuntimeDyld.a(RuntimeDyld.cpp.o):RuntimeDyld.cpp:function std::_Sp_counted_ptr_inplace<std::promise<llvm::Expected<std::map<llvm::StringRef, llvm::JITEvaluatedSymbol, std::less<llvm::StringRef>, std::allocator<std::pair<llvm::StringRef const, llvm::JITEvaluatedSymbol> > > > >, std::allocator<std::promise<llvm::Expected<std::map<llvm::StringRef, llvm::JITEvaluatedSymbol, std::less<llvm::StringRef>, std::allocator<std::pair<llvm::StringRef const, llvm::JITEvaluatedSymbol> > > > > >, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&): error: undefined reference to 'std::_Sp_make_shared_tag::_S_eq(std::type_info const&)'
/content/lib/linux_centos7_x86_64/llvm/lib/libLLVMDebugInfoDWARF.a(DWARFContext.cpp.o):DWARFContext.cpp:function std::_Sp_counted_ptr_inplace<llvm::DWARFContext::DWOFile, std::allocator<llvm::DWARFContext::DWOFile>, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&): error: undefined reference to 'std::_Sp_make_shared_tag::_S_eq(std::type_info const&)'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_10::pvt::OSLCompilerImpl::write_oso_const_value(OSL_v1_10::pvt::ConstantSymbol const*) const: error: undefined reference to 'std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_10::pvt::OSLCompilerImpl::write_oso_const_value(OSL_v1_10::pvt::ConstantSymbol const*) const: error: undefined reference to 'std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_10::pvt::OSLCompilerImpl::write_oso_const_value(OSL_v1_10::pvt::ConstantSymbol const*) const: error: undefined reference to 'std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function OSL_v1_10::pvt::OSLCompilerImpl::write_oso_const_value(OSL_v1_10::pvt::ConstantSymbol const*) const: error: undefined reference to 'std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function void boost::wave::util::throw_<boost::wave::preprocess_exception, boost::wave::context<__gnu_cxx::__normal_iterator<char*, std::string>, boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::wave::iteration_context_policies::load_file_to_string, boost::wave::context_policies::eat_whitespace<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::wave::this_type>, char const*, boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > >(boost::wave::context<__gnu_cxx::__normal_iterator<char*, std::string>, boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::wave::iteration_context_policies::load_file_to_string, boost::wave::context_policies::eat_whitespace<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::wave::this_type>&, boost::wave::preprocess_exception::error_code, char const*, boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > const&): error: undefined reference to 'std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function void boost::wave::util::throw_<boost::wave::macro_handling_exception, char const*, boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > >, char const*>(boost::wave::macro_handling_exception::error_code, char const*, boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > const&, char const*): error: undefined reference to 'std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function void boost::wave::util::throw_<boost::wave::preprocess_exception, boost::wave::context<__gnu_cxx::__normal_iterator<char*, std::string>, boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::wave::iteration_context_policies::load_file_to_string, boost::wave::context_policies::eat_whitespace<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::wave::this_type>, char*, boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > >(boost::wave::context<__gnu_cxx::__normal_iterator<char*, std::string>, boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::wave::iteration_context_policies::load_file_to_string, boost::wave::context_policies::eat_whitespace<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::wave::this_type>&, boost::wave::preprocess_exception::error_code, char*, boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > const&): error: undefined reference to 'std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:function void boost::wave::cpplexer::impl::validate_literal<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > >(boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > const&, unsigned long, unsigned long, boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > const&): error: undefined reference to 'std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
collect2: error: ld returned 1 exit status
intern/cycles/app/CMakeFiles/cycles.dir/build.make:356: recipe for target 'bin/cycles' failed
make[3]: *** [bin/cycles] Error 1
CMakeFiles/Makefile2:1137: recipe for target 'intern/cycles/app/CMakeFiles/cycles.dir/all' failed
make[2]: *** [intern/cycles/app/CMakeFiles/cycles.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....
/content/lib/linux_centos7_x86_64/llvm/lib/libLLVMMCJIT.a(MCJIT.cpp.o):MCJIT.cpp:function std::_Sp_counted_ptr_inplace<llvm::SectionMemoryManager, std::allocator<llvm::SectionMemoryManager>, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&): error: undefined reference to 'std::_Sp_make_shared_tag::_S_eq(std::type_info const&)'
/content/lib/linux_centos7_x86_64/llvm/lib/libLLVMRuntimeDyld.a(RuntimeDyld.cpp.o):RuntimeDyld.cpp:function std::_Sp_counted_ptr_inplace<std::__future_base::_State_baseV2, std::allocator<std::__future_base::_State_baseV2>, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&): error: undefined reference to 'std::_Sp_make_shared_tag::_S_eq(std::type_info const&)'
/content/lib/linux_centos7_x86_64/llvm/lib/libLLVMRuntimeDyld.a(RuntimeDyld.cpp.o):RuntimeDyld.cpp:function std::_Sp_counted_ptr_inplace<std::promise<llvm::Expected<std::map<llvm::StringRef, llvm::JITEvaluatedSymbol, std::less<llvm::StringRef>, std::allocator<std::pair<llvm::StringRef const, llvm::JITEvaluatedSymbol> > > > >, std::allocator<std::promise<llvm::Expected<std::map<llvm::StringRef, llvm::JITEvaluatedSymbol, std::less<llvm::StringRef>, std::allocator<std::pair<llvm::StringRef const, llvm::JITEvaluatedSymbol> > > > > >, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&): error: undefined reference to 'std::_Sp_make_shared_tag::_S_eq(std::type_info const&)'
/content/lib/linux_centos7_x86_64/llvm/lib/libLLVMDebugInfoDWARF.a(DWARFContext.cpp.o):DWARFContext.cpp:function std::_Sp_counted_ptr_inplace<llvm::DWARFContext::DWOFile, std::allocator<llvm::DWARFContext::DWOFile>, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&): error: undefined reference to 'std::_Sp_make_shared_tag::_S_eq(std::type_info const&)'
/content/lib/linux_centos7_x86_64/opencolorio/lib/libOpenColorIO.a(Config.cpp.o):Config.cpp:function OpenColorIO::v1::Config::sanityCheck() const: error: undefined reference to 'std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/opencolorio/lib/libOpenColorIO.a(Config.cpp.o):Config.cpp:function OpenColorIO::v1::Config::sanityCheck() const: error: undefined reference to 'std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/opencolorio/lib/libOpenColorIO.a(Config.cpp.o):Config.cpp:function OpenColorIO::v1::Config::sanityCheck() const: error: undefined reference to 'std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/opencolorio/lib/libOpenColorIO.a(Config.cpp.o):Config.cpp:function OpenColorIO::v1::Config::sanityCheck() const: error: undefined reference to 'std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/opencolorio/lib/libOpenColorIO.a(OCIOYaml.cpp.o):OCIOYaml.cpp:function OpenColorIO::v1::(anonymous namespace)::save(YAML::Emitter&, std::tr1::shared_ptr<OpenColorIO::v1::Transform const>): error: undefined reference to 'std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
/content/lib/linux_centos7_x86_64/opencolorio/lib/libOpenColorIO.a(OCIOYaml.cpp.o):OCIOYaml.cpp:function OpenColorIO::v1::(anonymous namespace)::save(YAML::Emitter&, std::tr1::shared_ptr<OpenColorIO::v1::Transform const>): error: undefined reference to 'std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
/content/lib/linux_centos7_x86_64/opencolorio/lib/libOpenColorIO.a(OCIOYaml.cpp.o):OCIOYaml.cpp:function OpenColorIO::v1::(anonymous namespace)::save(YAML::Emitter&, std::tr1::shared_ptr<OpenColorIO::v1::Transform const>): error: undefined reference to 'std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
/content/lib/linux_centos7_x86_64/opencolorio/lib/libOpenColorIO.a(OCIOYaml.cpp.o):OCIOYaml.cpp:function OpenColorIO::v1::(anonymous namespace)::save(YAML::Emitter&, OpenColorIO::v1::Config const*): error: undefined reference to 'std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
collect2: error: ld returned 1 exit status
source/creator/CMakeFiles/blender.dir/build.make:429: recipe for target 'bin/blender' failed
make[3]: *** [bin/blender] Error 1
CMakeFiles/Makefile2:7973: recipe for target 'source/creator/CMakeFiles/blender.dir/all' failed
make[2]: *** [source/creator/CMakeFiles/blender.dir/all] Error 2
Makefile:162: recipe for target 'all' failed
make[1]: *** [all] Error 2
GNUmakefile:308: recipe for target 'all' failed
make: *** [all] Error 2

Before I get a lot of warnings

-- Using pre-compiled LIBDIR: /content/blender/../lib/linux_centos7_x86_64
CMake Warning at /usr/local/lib/python2.7/dist-packages/cmake/data/share/cmake-3.12/Modules/FindBoost.cmake:847 (message):
  New Boost version may have incorrect or missing dependencies and imported
  targets
Call Stack (most recent call first):
  /usr/local/lib/python2.7/dist-packages/cmake/data/share/cmake-3.12/Modules/FindBoost.cmake:959 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/local/lib/python2.7/dist-packages/cmake/data/share/cmake-3.12/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
  build_files/cmake/platform/platform_unix.cmake:305 (find_package)
  CMakeLists.txt:830 (include)


CMake Warning at /usr/local/lib/python2.7/dist-packages/cmake/data/share/cmake-3.12/Modules/FindBoost.cmake:847 (message):
  New Boost version may have incorrect or missing dependencies and imported
  targets
Call Stack (most recent call first):
  /usr/local/lib/python2.7/dist-packages/cmake/data/share/cmake-3.12/Modules/FindBoost.cmake:959 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/local/lib/python2.7/dist-packages/cmake/data/share/cmake-3.12/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
  build_files/cmake/platform/platform_unix.cmake:305 (find_package)
  CMakeLists.txt:830 (include)

The same as above repeats many times. This is the compiler report:

-- Boost version: 1.70.0
-- Found the following Boost libraries:
--   filesystem
--   regex
--   thread
--   date_time
--   wave
--   iostreams
--   system
--   chrono
--   atomic
--   serialization
-- Found OpenMP_C: -fopenmp  
-- Found OpenMP_CXX: -fopenmp  
-- Found OpenMP: TRUE   
-- Found OpenMP_C: -fopenmp  
-- Found OpenMP_CXX: -fopenmp  
-- Unsupported CFLAG: -Wabsolute-value
-- CUDA nvcc = /usr/local/cuda/bin/nvcc
-- cycles_cubin_cc not supported for CUDA 10.0+, using nvcc instead.
-- Tests: Using Python executable: /content/lib/linux_centos7_x86_64/python/bin/python3.7m
-- Disabling render tests because tests folder does not exist at /content/blender/../lib/tests
-- Configuring done
-- Generating done
-- Build files have been written to: /content/build_linux

I tried to install gcc-9 and g++9 via package manager as suggested above, but it conflicts with libjpeg and so it won’t install. Perhaps that is due to gcc8 being installed as well, but as far as I know, gcc8 is required for CUDA compilation, so I am stuck.

Can you use clang ? Manually specify the compiler and linker and it may work.

I was discouraged by the need to use a later gcc than my system gcc 8.4 as I have no skills in setting up or trouble-shooting build environments but I gave it a go with a gcc 9.3 which was configured to install, alongside the system gcc, so in a different location.

By trial and error I discovered that I could get a successful build by invoking make with some extra parameters for cmake. It isn’t perfect, there is still a problem for OpenMP, but everything else seems to work and I have been using it for a few days now.

The script I use is crude, but effective. I keep it in my blender-git directory. After doing the usual make update in blender-git/blender, I cd … and execute the script:

#!/bin/sh

Building Blender with optional gcc9 in

/usr/lib/compat-cuda-gcc9/

cd blender

export BUILD_CMAKE_ARGS="-D CMAKE_CXX_COMPILER=/usr/lib/compat-cuda-gcc9/bin/c++
-D CMAKE_CXX_COMPILER_AR=/usr/lib/compat-cuda-gcc9/bin/gcc-ar
-D CMAKE_CXX_COMPILER_RANLIB=/usr/lib/compat-cuda-gcc9/bin/gcc-ranlib
-D CMAKE_C_COMPILER=/usr/lib/compat-cuda-gcc9/bin/gcc
-D CMAKE_C_COMPILER_AR=/usr/lib/compat-cuda-gcc9/bin/gcc-ar
-D CMAKE_C_COMPILER_RANLIB=/usr/lib/compat-cuda-gcc9/bin/gcc-ranlib
-D OpenMP_gomp_LIBRARY=/usr/lib/compat-cuda-gcc9/lib64/libgomp.a "
#echo $BUILD_CMAKE_ARGS
make

As a side-note, the gcc9 package was named compat-cuda because it was created to explore a method, in upcoming Mageia 8, to avoid CUDA issues due to the planned system gcc being 10.1. I suppose any other name would do. Could you extract the necessary bits from your system’s 9.3 package and manually install it somewhere else? Then you could just substitute your path to gcc9 where I have used /usr/lib/compat-cuda-gcc9/

I am still looking for a solution for OpenMP, and, I think, some of the new workspace denoise options, but this definitely gets a usable Blender 2,91 from the the git master sources.

Hope you can get something useful from this.

Sorry, the post above leaves out the line continuations in the export command. The attached file should be clearer.my-make.txt (707 Bytes)

So I took a clean environment as usual and I tried the following: CC=clang CXX=clang++ make BUILD_CMAKE_ARGS="..." and it looks like OSL is having problems to link. Was that command correct, or should I use something else?

Linking log:

[100%] Linking CXX executable ../../bin/blender
[100%] Building CXX object intern/cycles/app/CMakeFiles/cycles.dir/cycles_xml.cpp.o
[100%] Linking CXX executable ../../../bin/cycles
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o): In function `OSL_v1_10::pvt::OSLCompilerImpl::write_oso_const_value(OSL_v1_10::pvt::ConstantSymbol const*) const':
oslcomp.cpp:(.text+0x10e5): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
oslcomp.cpp:(.text+0x12a6): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
oslcomp.cpp:(.text+0x1492): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
oslcomp.cpp:(.text+0x1653): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o): In function `OSL_v1_10::pvt::OSLCompilerImpl::write_oso_metadata(OSL_v1_10::pvt::ASTNode const*) const':
oslcomp.cpp:(.text+0x4814): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o):oslcomp.cpp:(.text+0x4d8b): more undefined references to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()' follow
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o): In function `void boost::wave::util::throw_<boost::wave::preprocess_exception, boost::wave::context<__gnu_cxx::__normal_iterator<char*, std::string>, boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::wave::iteration_context_policies::load_file_to_string, boost::wave::context_policies::eat_whitespace<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::wave::this_type>, char const*, boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > >(boost::wave::context<__gnu_cxx::__normal_iterator<char*, std::string>, boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::wave::iteration_context_policies::load_file_to_string, boost::wave::context_policies::eat_whitespace<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::wave::this_type>&, boost::wave::preprocess_exception::error_code, char const*, boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > const&)':
oslcomp.cpp:(.text._ZN5boost4wave4util6throw_INS0_20preprocess_exceptionENS0_7contextIN9__gnu_cxx17__normal_iteratorIPcSsEENS0_8cpplexer12lex_iteratorINS9_9lex_tokenINS1_13file_positionINS1_11flex_stringIcSt11char_traitsIcESaIcENS1_9CowStringINS1_22AllocatorStringStorageIcSG_EES7_EEEEEEEEEENS0_26iteration_context_policies19load_file_to_stringENS0_16context_policies14eat_whitespaceISN_EENS0_9this_typeEEEPKcSM_EEvRT0_NT_10error_codeET1_RKT2_[_ZN5boost4wave4util6throw_INS0_20preprocess_exceptionENS0_7contextIN9__gnu_cxx17__normal_iteratorIPcSsEENS0_8cpplexer12lex_iteratorINS9_9lex_tokenINS1_13file_positionINS1_11flex_stringIcSt11char_traitsIcESaIcENS1_9CowStringINS1_22AllocatorStringStorageIcSG_EES7_EEEEEEEEEENS0_26iteration_context_policies19load_file_to_stringENS0_16context_policies14eat_whitespaceISN_EENS0_9this_typeEEEPKcSM_EEvRT0_NT_10error_codeET1_RKT2_]+0x2d): undefined reference to `std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o): In function `void boost::wave::util::throw_<boost::wave::macro_handling_exception, char const*, boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > >, char const*>(boost::wave::macro_handling_exception::error_code, char const*, boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > const&, char const*)':
oslcomp.cpp:(.text._ZN5boost4wave4util6throw_INS0_24macro_handling_exceptionEPKcNS1_13file_positionINS1_11flex_stringIcSt11char_traitsIcESaIcENS1_9CowStringINS1_22AllocatorStringStorageIcSA_EEPcEEEEEES5_EEvNT_10error_codeET0_RKT1_T2_[_ZN5boost4wave4util6throw_INS0_24macro_handling_exceptionEPKcNS1_13file_positionINS1_11flex_stringIcSt11char_traitsIcESaIcENS1_9CowStringINS1_22AllocatorStringStorageIcSA_EEPcEEEEEES5_EEvNT_10error_codeET0_RKT1_T2_]+0x31): undefined reference to `std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o): In function `void tinyformat::detail::formatTruncated<int>(std::ostream&, int const&, int)':
oslcomp.cpp:(.text._ZN10tinyformat6detail15formatTruncatedIiEEvRSoRKT_i[_ZN10tinyformat6detail15formatTruncatedIiEEvRSoRKT_i]+0x2a): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o): In function `void tinyformat::detail::formatTruncated<OpenImageIO_v2_1::ustring>(std::ostream&, OpenImageIO_v2_1::ustring const&, int)':
oslcomp.cpp:(.text._ZN10tinyformat6detail15formatTruncatedIN16OpenImageIO_v2_17ustringEEEvRSoRKT_i[_ZN10tinyformat6detail15formatTruncatedIN16OpenImageIO_v2_17ustringEEEvRSoRKT_i]+0x2a): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o): In function `void tinyformat::detail::formatTruncated<std::string>(std::ostream&, std::string const&, int)':
oslcomp.cpp:(.text._ZN10tinyformat6detail15formatTruncatedISsEEvRSoRKT_i[_ZN10tinyformat6detail15formatTruncatedISsEEvRSoRKT_i]+0x2a): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o): In function `void boost::wave::util::throw_<boost::wave::preprocess_exception, boost::wave::context<__gnu_cxx::__normal_iterator<char*, std::string>, boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::wave::iteration_context_policies::load_file_to_string, boost::wave::context_policies::eat_whitespace<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::wave::this_type>, char*, boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > >(boost::wave::context<__gnu_cxx::__normal_iterator<char*, std::string>, boost::wave::cpplexer::lex_iterator<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::wave::iteration_context_policies::load_file_to_string, boost::wave::context_policies::eat_whitespace<boost::wave::cpplexer::lex_token<boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > > >, boost::wave::this_type>&, boost::wave::preprocess_exception::error_code, char*, boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > const&)':
oslcomp.cpp:(.text._ZN5boost4wave4util6throw_INS0_20preprocess_exceptionENS0_7contextIN9__gnu_cxx17__normal_iteratorIPcSsEENS0_8cpplexer12lex_iteratorINS9_9lex_tokenINS1_13file_positionINS1_11flex_stringIcSt11char_traitsIcESaIcENS1_9CowStringINS1_22AllocatorStringStorageIcSG_EES7_EEEEEEEEEENS0_26iteration_context_policies19load_file_to_stringENS0_16context_policies14eat_whitespaceISN_EENS0_9this_typeEEES7_SM_EEvRT0_NT_10error_codeET1_RKT2_[_ZN5boost4wave4util6throw_INS0_20preprocess_exceptionENS0_7contextIN9__gnu_cxx17__normal_iteratorIPcSsEENS0_8cpplexer12lex_iteratorINS9_9lex_tokenINS1_13file_positionINS1_11flex_stringIcSt11char_traitsIcESaIcENS1_9CowStringINS1_22AllocatorStringStorageIcSG_EES7_EEEEEEEEEENS0_26iteration_context_policies19load_file_to_stringENS0_16context_policies14eat_whitespaceISN_EENS0_9this_typeEEES7_SM_EEvRT0_NT_10error_codeET1_RKT2_]+0x2d): undefined reference to `std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o): In function `void tinyformat::detail::formatTruncated<float>(std::ostream&, float const&, int)':
oslcomp.cpp:(.text._ZN10tinyformat6detail15formatTruncatedIfEEvRSoRKT_i[_ZN10tinyformat6detail15formatTruncatedIfEEvRSoRKT_i]+0x2a): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o): In function `void tinyformat::detail::formatTruncated<OpenImageIO_v2_1::string_view>(std::ostream&, OpenImageIO_v2_1::string_view const&, int)':
oslcomp.cpp:(.text._ZN10tinyformat6detail15formatTruncatedIN16OpenImageIO_v2_111string_viewEEEvRSoRKT_i[_ZN10tinyformat6detail15formatTruncatedIN16OpenImageIO_v2_111string_viewEEEvRSoRKT_i]+0x2a): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o): In function `void boost::wave::cpplexer::impl::validate_literal<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > >(boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > const&, unsigned long, unsigned long, boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > const&)':
oslcomp.cpp:(.text._ZN5boost4wave8cpplexer4impl16validate_literalINS0_4util11flex_stringIcSt11char_traitsIcESaIcENS4_9CowStringINS4_22AllocatorStringStorageIcS8_EEPcEEEEEEvRKT_mmSH_[_ZN5boost4wave8cpplexer4impl16validate_literalINS0_4util11flex_stringIcSt11char_traitsIcESaIcENS4_9CowStringINS4_22AllocatorStringStorageIcS8_EEPcEEEEEEvRKT_mmSH_]+0x1c8): undefined reference to `std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
oslcomp.cpp:(.text._ZN5boost4wave8cpplexer4impl16validate_literalINS0_4util11flex_stringIcSt11char_traitsIcESaIcENS4_9CowStringINS4_22AllocatorStringStorageIcS8_EEPcEEEEEEvRKT_mmSH_[_ZN5boost4wave8cpplexer4impl16validate_literalINS0_4util11flex_stringIcSt11char_traitsIcESaIcENS4_9CowStringINS4_22AllocatorStringStorageIcS8_EEPcEEEEEEvRKT_mmSH_]+0x361): undefined reference to `std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(typecheck.cpp.o): In function `OSL_v1_10::pvt::ASTfunction_call::typecheck_struct_constructor()':
typecheck.cpp:(.text+0x3daa): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(typecheck.cpp.o): In function `OSL_v1_10::pvt::ASTfunction_call::typecheck_printf_args(char const*, OSL_v1_10::pvt::ASTNode*)':
typecheck.cpp:(.text+0x5ceb): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(typecheck.cpp.o): In function `OSL_v1_10::pvt::ASTcompound_initializer::TypeAdjuster::typecheck(OpenImageIO_v2_1::intrusive_ptr<OSL_v1_10::pvt::ASTNode>, OSL_v1_10::pvt::TypeSpec, OSL_v1_10::pvt::StructSpec const*, OSL_v1_10::pvt::StructSpec::FieldSpec const*)':
typecheck.cpp:(.text._ZN9OSL_v1_103pvt23ASTcompound_initializer12TypeAdjuster9typecheckEN16OpenImageIO_v2_113intrusive_ptrINS0_7ASTNodeEEENS0_8TypeSpecEPKNS0_10StructSpecEPKNS8_9FieldSpecE[_ZN9OSL_v1_103pvt23ASTcompound_initializer12TypeAdjuster9typecheckEN16OpenImageIO_v2_113intrusive_ptrINS0_7ASTNodeEEENS0_8TypeSpecEPKNS0_10StructSpecEPKNS8_9FieldSpecE]+0x110): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
typecheck.cpp:(.text._ZN9OSL_v1_103pvt23ASTcompound_initializer12TypeAdjuster9typecheckEN16OpenImageIO_v2_113intrusive_ptrINS0_7ASTNodeEEENS0_8TypeSpecEPKNS0_10StructSpecEPKNS8_9FieldSpecE[_ZN9OSL_v1_103pvt23ASTcompound_initializer12TypeAdjuster9typecheckEN16OpenImageIO_v2_113intrusive_ptrINS0_7ASTNodeEEENS0_8TypeSpecEPKNS0_10StructSpecEPKNS8_9FieldSpecE]+0x20a): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(typecheck.cpp.o): In function `OSL_v1_10::pvt::CandidateFunctions::reportFunction(OSL_v1_10::pvt::FunctionSymbol*) const':
typecheck.cpp:(.text._ZNK9OSL_v1_103pvt18CandidateFunctions14reportFunctionEPNS0_14FunctionSymbolE[_ZNK9OSL_v1_103pvt18CandidateFunctions14reportFunctionEPNS0_14FunctionSymbolE]+0xf9): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(typecheck.cpp.o):typecheck.cpp:(.text._ZN9OSL_v1_103pvt23ASTcompound_initializer12TypeAdjuster16typecheck_fieldsEPNS0_7ASTNodeEN16OpenImageIO_v2_113intrusive_ptrIS3_EENS0_8TypeSpecE[_ZN9OSL_v1_103pvt23ASTcompound_initializer12TypeAdjuster16typecheck_fieldsEPNS0_7ASTNodeEN16OpenImageIO_v2_113intrusive_ptrIS3_EENS0_8TypeSpecE]+0x433): more undefined references to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()' follow
/content/lib/linux_centos7_x86_64/osl/lib/liboslexec.a(context.cpp.o): In function `std::_Sp_counted_ptr_inplace<std::__detail::_NFA<std::regex_traits<char> >, std::allocator<std::__detail::_NFA<std::regex_traits<char> > >, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&)':
context.cpp:(.text._ZNSt23_Sp_counted_ptr_inplaceINSt8__detail4_NFAISt12regex_traitsIcEEESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info[_ZNSt23_Sp_counted_ptr_inplaceINSt8__detail4_NFAISt12regex_traitsIcEEESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info]+0x13): undefined reference to `std::_Sp_make_shared_tag::_S_eq(std::type_info const&)'
/content/lib/linux_centos7_x86_64/osl/lib/liboslexec.a(context.cpp.o): In function `void tinyformat::detail::formatTruncated<OSL_v1_10::ShadingContext*>(std::ostream&, OSL_v1_10::ShadingContext* const&, int)':
context.cpp:(.text._ZN10tinyformat6detail15formatTruncatedIPN9OSL_v1_1014ShadingContextEEEvRSoRKT_i[_ZN10tinyformat6detail15formatTruncatedIPN9OSL_v1_1014ShadingContextEEEvRSoRKT_i]+0x33): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslexec.a(context.cpp.o): In function `void tinyformat::detail::formatTruncated<unsigned long long>(std::ostream&, unsigned long long const&, int)':
context.cpp:(.text._ZN10tinyformat6detail15formatTruncatedIyEEvRSoRKT_i[_ZN10tinyformat6detail15formatTruncatedIyEEvRSoRKT_i]+0x33): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslexec.a(constfold.cpp.o): In function `OSL_v1_10::pvt::constfold_format(OSL_v1_10::pvt::RuntimeOptimizer&, int)':
constfold.cpp:(.text+0x1186b): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
constfold.cpp:(.text+0x11c17): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
constfold.cpp:(.text+0x1210d): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslexec.a(constfold.cpp.o):constfold.cpp:(.text+0x12235): more undefined references to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()' follow
/content/lib/linux_centos7_x86_64/llvm/lib/libLLVMRuntimeDyld.a(RuntimeDyld.cpp.o): In function `std::_Sp_counted_ptr_inplace<std::__future_base::_State_baseV2, std::allocator<std::__future_base::_State_baseV2>, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&)':
RuntimeDyld.cpp:(.text._ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info[_ZNSt23_Sp_counted_ptr_inplaceINSt13__future_base13_State_baseV2ESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info]+0x13): undefined reference to `std::_Sp_make_shared_tag::_S_eq(std::type_info const&)'
/content/lib/linux_centos7_x86_64/llvm/lib/libLLVMRuntimeDyld.a(RuntimeDyld.cpp.o): In function `std::_Sp_counted_ptr_inplace<std::promise<llvm::Expected<std::map<llvm::StringRef, llvm::JITEvaluatedSymbol, std::less<llvm::StringRef>, std::allocator<std::pair<llvm::StringRef const, llvm::JITEvaluatedSymbol> > > > >, std::allocator<std::promise<llvm::Expected<std::map<llvm::StringRef, llvm::JITEvaluatedSymbol, std::less<llvm::StringRef>, std::allocator<std::pair<llvm::StringRef const, llvm::JITEvaluatedSymbol> > > > > >, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&)':
RuntimeDyld.cpp:(.text._ZNSt23_Sp_counted_ptr_inplaceISt7promiseIN4llvm8ExpectedISt3mapINS1_9StringRefENS1_18JITEvaluatedSymbolESt4lessIS4_ESaISt4pairIKS4_S5_EEEEEESaISE_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info[_ZNSt23_Sp_counted_ptr_inplaceISt7promiseIN4llvm8ExpectedISt3mapINS1_9StringRefENS1_18JITEvaluatedSymbolESt4lessIS4_ESaISt4pairIKS4_S5_EEEEEESaISE_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info]+0x13): undefined reference to `std::_Sp_make_shared_tag::_S_eq(std::type_info const&)'
/content/lib/linux_centos7_x86_64/llvm/lib/libLLVMDebugInfoDWARF.a(DWARFContext.cpp.o): In function `std::_Sp_counted_ptr_inplace<llvm::DWARFContext::DWOFile, std::allocator<llvm::DWARFContext::DWOFile>, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&)':
DWARFContext.cpp:(.text._ZNSt23_Sp_counted_ptr_inplaceIN4llvm12DWARFContext7DWOFileESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info[_ZNSt23_Sp_counted_ptr_inplaceIN4llvm12DWARFContext7DWOFileESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info]+0x13): undefined reference to `std::_Sp_make_shared_tag::_S_eq(std::type_info const&)'
/content/lib/linux_centos7_x86_64/llvm/lib/libLLVMBitWriter.a(BitcodeWriter.cpp.o): In function `std::_Sp_counted_ptr_inplace<llvm::BitCodeAbbrev, std::allocator<llvm::BitCodeAbbrev>, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&)':
BitcodeWriter.cpp:(.text._ZNSt23_Sp_counted_ptr_inplaceIN4llvm13BitCodeAbbrevESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info[_ZNSt23_Sp_counted_ptr_inplaceIN4llvm13BitCodeAbbrevESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info]+0x13): undefined reference to `std::_Sp_make_shared_tag::_S_eq(std::type_info const&)'
/content/lib/linux_centos7_x86_64/opencolorio/lib/libOpenColorIO.a(Config.cpp.o): In function `OpenColorIO::v1::Config::sanityCheck() const':
Config.cpp:(.text+0x7b8d): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
Config.cpp:(.text+0x7cd9): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
Config.cpp:(.text+0x7dcc): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
Config.cpp:(.text+0x8c50): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
Config.cpp:(.text+0x8d22): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/opencolorio/lib/libOpenColorIO.a(Config.cpp.o):Config.cpp:(.text+0x8e82): more undefined references to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()' follow
/content/lib/linux_centos7_x86_64/opencolorio/lib/libOpenColorIO.a(OCIOYaml.cpp.o): In function `OpenColorIO::v1::(anonymous namespace)::save(YAML::Emitter&, std::tr1::shared_ptr<OpenColorIO::v1::Transform const>)':
OCIOYaml.cpp:(.text+0x1859): undefined reference to `std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
OCIOYaml.cpp:(.text+0x26b2): undefined reference to `std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
OCIOYaml.cpp:(.text+0x3588): undefined reference to `std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'

//etc...(omitted_due_to_devatalk_message_limit)

proxyTypes.cpp:(.text._ZNK25usdBlender__pxrReserved__14Sdf_ListEditorINS_22SdfReferenceTypePolicyEE13_ValidateEditENS_13SdfListOpTypeERKSt6vectorINS_12SdfReferenceESaIS5_EES9_[_ZNK25usdBlender__pxrReserved__14Sdf_ListEditorINS_22SdfReferenceTypePolicyEE13_ValidateEditENS_13SdfListOpTypeERKSt6vectorINS_12SdfReferenceESaIS5_EES9_]+0xe6): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/usd/lib/libusd_m.a(changes.cpp.o): In function `usdBlender__pxrReserved__::PcpChanges::DidChange(usdBlender__pxrReserved__::TfSpan<usdBlender__pxrReserved__::PcpCache const*> const&, std::vector<std::pair<usdBlender__pxrReserved__::TfWeakPtr<usdBlender__pxrReserved__::SdfLayer>, usdBlender__pxrReserved__::SdfChangeList>, std::allocator<std::pair<usdBlender__pxrReserved__::TfWeakPtr<usdBlender__pxrReserved__::SdfLayer>, usdBlender__pxrReserved__::SdfChangeList> > > const&)':
changes.cpp:(.text+0x51a6): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
changes.cpp:(.text+0x57c2): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/usd/lib/libusd_m.a(changes.cpp.o):changes.cpp:(.text._ZN25usdBlender__pxrReserved__11TfStringifyINS_9TfWeakPtrINS_13PcpLayerStackEEEEENSt9enable_ifIXntsrSt7is_enumIT_E5valueESsE4typeERKS6_[_ZN25usdBlender__pxrReserved__11TfStringifyINS_9TfWeakPtrINS_13PcpLayerStackEEEEENSt9enable_ifIXntsrSt7is_enumIT_E5valueESsE4typeERKS6_]+0x1b): more undefined references to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()' follow
/content/lib/linux_centos7_x86_64/embree/lib/libembree3.a(bvh.cpp.o): In function `embree::FastAllocator::Statistics::str(unsigned long)':
bvh.cpp:(.text._ZN6embree13FastAllocator10Statistics3strEm[_ZN6embree13FastAllocator10Statistics3strEm]+0x26): undefined reference to `std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
/content/lib/linux_centos7_x86_64/embree/lib/libembree3.a(bvh.cpp.o): In function `embree::FastAllocator::AllStatistics::print(unsigned long)':
bvh.cpp:(.text._ZN6embree13FastAllocator13AllStatistics5printEm[_ZN6embree13FastAllocator13AllStatistics5printEm]+0x2a): undefined reference to `std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
bvh.cpp:(.text._ZN6embree13FastAllocator13AllStatistics5printEm[_ZN6embree13FastAllocator13AllStatistics5printEm]+0x1ab): undefined reference to `std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
/content/lib/linux_centos7_x86_64/llvm/lib/libLLVMMCJIT.a(MCJIT.cpp.o): In function `std::_Sp_counted_ptr_inplace<llvm::SectionMemoryManager, std::allocator<llvm::SectionMemoryManager>, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&)':
MCJIT.cpp:(.text._ZNSt23_Sp_counted_ptr_inplaceIN4llvm20SectionMemoryManagerESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info[_ZNSt23_Sp_counted_ptr_inplaceIN4llvm20SectionMemoryManagerESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info]+0x13): undefined reference to `std::_Sp_make_shared_tag::_S_eq(std::type_info const&)'
/content/lib/linux_centos7_x86_64/llvm/lib/libLLVMCore.a(DiagnosticHandler.cpp.o): In function `std::_Sp_counted_ptr_inplace<llvm::Regex, std::allocator<llvm::Regex>, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&)':
DiagnosticHandler.cpp:(.text._ZNSt23_Sp_counted_ptr_inplaceIN4llvm5RegexESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info[_ZNSt23_Sp_counted_ptr_inplaceIN4llvm5RegexESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info]+0x13): undefined reference to `std::_Sp_make_shared_tag::_S_eq(std::type_info const&)'
/content/lib/linux_centos7_x86_64/boost/lib/libboost_wave.a(instantiate_cpp_exprgrammar.o): In function `void boost::wave::util::throw_<boost::wave::preprocess_exception, char const*, boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > >(boost::wave::preprocess_exception::error_code, char const*, boost::wave::util::file_position<boost::wave::util::flex_string<char, std::char_traits<char>, std::allocator<char>, boost::wave::util::CowString<boost::wave::util::AllocatorStringStorage<char, std::allocator<char> >, char*> > > const&)':
instantiate_cpp_exprgrammar.cpp:(.text._ZN5boost4wave4util6throw_INS0_20preprocess_exceptionEPKcNS1_13file_positionINS1_11flex_stringIcSt11char_traitsIcESaIcENS1_9CowStringINS1_22AllocatorStringStorageIcSA_EEPcEEEEEEEEvNT_10error_codeET0_RKT1_[_ZN5boost4wave4util6throw_INS0_20preprocess_exceptionEPKcNS1_13file_positionINS1_11flex_stringIcSt11char_traitsIcESaIcENS1_9CowStringINS1_22AllocatorStringStorageIcSA_EEPcEEEEEEEEvNT_10error_codeET0_RKT1_]+0x2d): undefined reference to `std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
/content/lib/linux_centos7_x86_64/llvm/lib/libLLVMSupport.a(BinaryStreamRef.cpp.o): In function `std::_Sp_counted_ptr_inplace<(anonymous namespace)::ArrayRefImpl, std::allocator<(anonymous namespace)::ArrayRefImpl>, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&)':
BinaryStreamRef.cpp:(.text._ZNSt23_Sp_counted_ptr_inplaceIN12_GLOBAL__N_112ArrayRefImplESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info+0x13): undefined reference to `std::_Sp_make_shared_tag::_S_eq(std::type_info const&)'
/content/lib/linux_centos7_x86_64/llvm/lib/libLLVMSupport.a(BinaryStreamRef.cpp.o): In function `std::_Sp_counted_ptr_inplace<(anonymous namespace)::MutableArrayRefImpl, std::allocator<(anonymous namespace)::MutableArrayRefImpl>, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&)':
BinaryStreamRef.cpp:(.text._ZNSt23_Sp_counted_ptr_inplaceIN12_GLOBAL__N_119MutableArrayRefImplESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info+0x13): undefined reference to `std::_Sp_make_shared_tag::_S_eq(std::type_info const&)'
/content/lib/linux_centos7_x86_64/llvm/lib/libLLVMSupport.a(Path.cpp.o): In function `std::_Sp_counted_ptr_inplace<llvm::sys::fs::detail::DirIterState, std::allocator<llvm::sys::fs::detail::DirIterState>, (__gnu_cxx::_Lock_policy)2>::_M_get_deleter(std::type_info const&)':
Path.cpp:(.text._ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info[_ZNSt23_Sp_counted_ptr_inplaceIN4llvm3sys2fs6detail12DirIterStateESaIS4_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info]+0x13): undefined reference to `std::_Sp_make_shared_tag::_S_eq(std::type_info const&)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
source/creator/CMakeFiles/blender.dir/build.make:428: recipe for target 'bin/blender' failed
make[3]: *** [bin/blender] Error 1
CMakeFiles/Makefile2:7973: recipe for target 'source/creator/CMakeFiles/blender.dir/all' failed
make[2]: *** [source/creator/CMakeFiles/blender.dir/all] Error 2
Makefile:162: recipe for target 'all' failed
make[1]: *** [all] Error 2
GNUmakefile:308: recipe for target 'all' failed
make: *** [all] Error 2

Please upload CmakeCache.txt file.
Also the output of clang -v

clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/7.5.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/8
Candidate multilib: .;@m64
Selected multilib: .;@m64
Found CUDA installation: /usr/local/cuda, version unknown

That is below required clang 8.0.
https://wiki.blender.org/wiki/Building_Blender#Compiler_Versions

Ok, thank you for pointing that out. I never had to deal with that as I was using gcc. I will upgrade and report success or failure.

At the beginning I got the following warnings at the beginning:

CMake Warning at /usr/local/lib/python2.7/dist-packages/cmake/data/share/cmake-3.12/Modules/FindBoost.cmake:847 (message):
  New Boost version may have incorrect or missing dependencies and imported
  targets
Call Stack (most recent call first):
  /usr/local/lib/python2.7/dist-packages/cmake/data/share/cmake-3.12/Modules/FindBoost.cmake:959 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/local/lib/python2.7/dist-packages/cmake/data/share/cmake-3.12/Modules/FindBoost.cmake:1618 (_Boost_MISSING_DEPENDENCIES)
  build_files/cmake/platform/platform_unix.cmake:310 (find_package)
  CMakeLists.txt:830 (include)


-- Boost version: 1.70.0
-- Found the following Boost libraries:

--   filesystem
--   regex
--   thread
--   date_time
--   wave
--   iostreams
--   system
--   chrono
--   atomic
--   serialization
-- Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES) 
-- Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES) 
-- Could NOT find OpenMP (missing: OpenMP_C_FOUND OpenMP_CXX_FOUND) 
-- Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES) 
-- Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES) 
-- Could NOT find OpenMP (missing: OpenMP_C_FOUND OpenMP_CXX_FOUND) 
-- CUDA nvcc = /usr/local/cuda/bin/nvcc
-- Tests: Using Python executable: /content/lib/linux_centos7_x86_64/python/bin/python3.7m
-- Disabling render tests because tests folder does not exist at /content/blender/../lib/tests
-- Configuring done
-- Generating done
-- Build files have been written to: /content/build_linux

At the end the linking failed with the same errors I pasted above. Attached the CMakeCache.txt. I didn’t make a clean run this time, but I can repeat with a clean run if that could help.
CMakeCache.txt (93.2 KB)

Update: I started a clean build and it looks better. At least the OpenMP issues are gone now. Let’s see at the linking stage.

So using clang-10 and a clean build environment, linking ended up crashing with just the same errors as I pasted above. Attached relevant cmake logs.

CMakeCache(1).txt (94.3 KB) CMakeOutput.txt (128.2 KB) CMakeError.txt (3.3 KB)

/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o): In function `OSL_v1_10::pvt::OSLCompilerImpl::write_oso_const_value(OSL_v1_10::pvt::ConstantSymbol const*) const':
oslcomp.cpp:(.text+0x10e5): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
oslcomp.cpp:(.text+0x12a6): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
oslcomp.cpp:(.text+0x1492): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
oslcomp.cpp:(.text+0x1653): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/osl/lib/liboslcomp.a(oslcomp.cpp.o): In function `OSL_v1_10::pvt::OSLCompilerImpl::write_oso_metadata(OSL_v1_10::pvt::ASTNode const*) const':
oslcomp.cpp:(.text+0x4814): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'

...

clang: error: linker command failed with exit code 1 (use -v to see invocation)
intern/cycles/app/CMakeFiles/cycles.dir/build.make:356: recipe for target 'bin/cycles' failed
/content/lib/linux_centos7_x86_64/opencolorio/lib/libOpenColorIO.a(Config.cpp.o): In function `OpenColorIO::v1::Config::sanityCheck() const':
Config.cpp:(.text+0x7b8d): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
Config.cpp:(.text+0x7cd9): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
Config.cpp:(.text+0x7dcc): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
Config.cpp:(.text+0x8c50): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
Config.cpp:(.text+0x8d22): undefined reference to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()'
/content/lib/linux_centos7_x86_64/opencolorio/lib/libOpenColorIO.a(Config.cpp.o):Config.cpp:(.text+0x8e82): more undefined references to `std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream()' follow
/content/lib/linux_centos7_x86_64/opencolorio/lib/libOpenColorIO.a(OCIOYaml.cpp.o): In function `OpenColorIO::v1::(anonymous namespace)::save(YAML::Emitter&, std::tr1::shared_ptr<OpenColorIO::v1::Transform const>)':
OCIOYaml.cpp:(.text+0x1859): undefined reference to `std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
OCIOYaml.cpp:(.text+0x26b2): undefined reference to `std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'
OCIOYaml.cpp:(.text+0x3588): undefined reference to `std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream()'

...

clang: error: linker command failed with exit code 1 (use -v to see invocation)
source/creator/CMakeFiles/blender.dir/build.make:429: recipe for target 'bin/blender' failed

Could you try -DWITH_CXX_ABI=OFF -DWITH_CXX11_ABI=OFF ?
cd build_folder
cmake -DWITH_CXX_ABI=OFF -DWITH_CXX11_ABI=OFF .
make

Unfortunately not - it’s the same error. Note that I am now using BUILD_CMAKE_ARGS="-D WITH_CXX_ABI=OFF -D WITH_CXX11_ABI=OFF [but also] -D WITH_CYCLES_OSL=ON -D WITH_CYCLES_STANDALONE=ON [and some other switches ... ]"

Updates:

  • I managed to install both gcc-8 and gcc-9 (on Ubuntu 18.04). The key was to install gcc-9 first and gcc-8 after that. CUDA requires gcc-8 and fails with a different version, but Blender now requires a different version.

  • The build went better, but it still fails. Now with a different error!

[100%] Built target cycles
../../lib/libbf_intern_eigen.a(linear_solver.cc.o):linear_solver.cc:function Eigen::internal::sparse_time_dense_product_impl<Eigen::Transpose<Eigen::SparseMatrix<double, 0, int> >, Eigen::Matrix<double, -1, 1, 0, -1, 1>, Eigen::Matrix<double, -1, 1, 0, -1, 1>, double, 1, true>::run(Eigen::Transpose<Eigen::SparseMatrix<double, 0, int> > const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1>&, double const&) [clone ._omp_fn.0]: error: undefined reference to 'GOMP_loop_nonmonotonic_dynamic_start'
../../lib/libbf_intern_eigen.a(linear_solver.cc.o):linear_solver.cc:function Eigen::internal::sparse_time_dense_product_impl<Eigen::Transpose<Eigen::SparseMatrix<double, 0, int> >, Eigen::Matrix<double, -1, 1, 0, -1, 1>, Eigen::Matrix<double, -1, 1, 0, -1, 1>, double, 1, true>::run(Eigen::Transpose<Eigen::SparseMatrix<double, 0, int> > const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&, Eigen::Matrix<double, -1, 1, 0, -1, 1>&, double const&) [clone ._omp_fn.0]: error: undefined reference to 'GOMP_loop_nonmonotonic_dynamic_next'
collect2: error: ld returned 1 exit status
source/creator/CMakeFiles/blender.dir/build.make:428: recipe for target 'bin/blender' failed
make[3]: *** [bin/blender] Error 1
CMakeFiles/Makefile2:7914: recipe for target 'source/creator/CMakeFiles/blender.dir/all' failed
make[2]: *** [source/creator/CMakeFiles/blender.dir/all] Error 2
Makefile:162: recipe for target 'all' failed
make[1]: *** [all] Error 2
GNUmakefile:308: recipe for target 'all' failed
make: *** [all] Error 2

It seems to be related to OpenMP. I installed libomp-dev in course of previous clang attempts, but now I will try once again without it.

UPDATE I can happily report that the compilation works now. Here is the script assuming 18.04 with CUDA already installed:

sudo apt-get -qq update && sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt-get -qq update && sudo apt-get install -y build-essential git subversion cmake libx11-dev libxxf86vm-dev libxcursor-dev libxi-dev libxrandr-dev libxinerama-dev libglew-dev gcc-9 g++-9 software-properties-common && sudo apt autoremove -y

git clone https://git.blender.org/blender.git

mkdir -p lib && cd lib && svn checkout --quiet https://svn.blender.org/svnroot/bf-blender/trunk/lib/linux_centos7_x86_64

sudo apt install -y gcc-8 g++-8
ln -sf /usr/bin/gcc-8 /usr/local/cuda/bin/gcc && ln -sf /usr/bin/g++-8 /usr/local/cuda/bin/g++

cd blender && make update

CC=gcc-9 CXX=g++-9 make #with whatever arguments 
1 Like

For those having problems with GCC version on Ubuntu 18.04:
GCC version must be at least 9.3 for precompiled libraries, found 7.5.0