Install Deps Failed: USD-19.11 failed to compile (Ubuntu16.04+GCC9.3.0)

Sorry for bothering! I was following instructions on the Blender-Wiki and trying to build branch:blender-v2.83-release (cloned from https://git.blender.org/blender.git) as a Python module.

However, I could not successfully run ./build_files/build_environment/install_deps.sh with any options including usd. Since the default value of USD_VERSION in install_deps.sh is 19.11, I have also tried to change the version to 18.11, 20.02, 20.05, and 20.08-rc1 but all of them met the same problem.

Information about my envs:
Ubuntu-16.04
Python-3.7.4
GCC-9.3.0

Here is the output (massive duplicates ignored):

...

[ 37%] Built target usdSchemaExamples_headerfiles
[ 37%] Copying risOslPattern.h ...
[ 37%] Copying noticeRegistry.h ...
[ 37%] Copying risPattern.h ...
[ 37%] Copying utils.h ...
[ 37%] Copying animQueryImpl.h ...
[ 37%] Copying rmanUtilities.h ...
[ 37%] Copying cacheImpl.h ...
[ 37%] Copying skelDefinition.h ...
[ 37%] Copying rslShader.h ...
[ 37%] Copying splineAPI.h ...
[ 37%] Copying statementsAPI.h ...
[ 37%] Copying textureAPI.h ...
[ 37%] Copying tokens.h ...
[ 37%] Copying typeUtils.h ...
[ 37%] Built target usdSkel_headerfiles
[ 37%] Built target tf_headerfiles
[ 37%] Built target usdRi_headerfiles
[ 37%] Building CXX object pxr/base/lib/arch/CMakeFiles/arch.dir/initConfig.cpp.o
[ 37%] Building CXX object pxr/base/lib/arch/CMakeFiles/arch.dir/assumptions.cpp.o
[ 37%] Building CXX object pxr/base/lib/arch/CMakeFiles/arch.dir/attributes.cpp.o
[ 37%] Building CXX object pxr/base/lib/arch/CMakeFiles/arch.dir/daemon.cpp.o
[ 37%] Building CXX object pxr/base/lib/arch/CMakeFiles/arch.dir/demangle.cpp.o
[ 37%] Building CXX object pxr/base/lib/arch/CMakeFiles/arch.dir/env.cpp.o
[ 37%] Building CXX object pxr/base/lib/arch/CMakeFiles/arch.dir/error.cpp.o
[ 37%] Building CXX object pxr/base/lib/arch/CMakeFiles/arch.dir/errno.cpp.o
[ 37%] Building CXX object pxr/base/lib/arch/CMakeFiles/arch.dir/debugger.cpp.o
[ 37%] Building CXX object pxr/base/lib/arch/CMakeFiles/arch.dir/fileSystem.cpp.o
[ 37%] Building CXX object pxr/base/lib/arch/CMakeFiles/arch.dir/hash.cpp.o
[ 37%] Building CXX object pxr/base/lib/arch/CMakeFiles/arch.dir/function.cpp.o
[ 37%] Building CXX object pxr/base/lib/arch/CMakeFiles/arch.dir/library.cpp.o
[ 37%] Building CXX object pxr/base/lib/arch/CMakeFiles/arch.dir/mallocHook.cpp.o
In file included from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/inttypes.h:49,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/hash.h:32,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/hash.cpp:27:
/opt/gcc-9.3.0/include/c++/9.3.0/cinttypes:58:11: error: '::imaxdiv_t' has not been declared
   58 |   using ::imaxdiv_t;
      |           ^~~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/cinttypes:61:11: error: '::imaxabs' has not been declared
   61 |   using ::imaxabs;
      |           ^~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/cinttypes:62:11: error: '::imaxdiv' has not been declared
   62 |   using ::imaxdiv;
      |           ^~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/cinttypes:68:11: error: '::strtoimax' has not been declared
   68 |   using ::strtoimax;
      |           ^~~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/cinttypes:69:11: error: '::strtoumax' has not been declared
   69 |   using ::strtoumax;
      |           ^~~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/cinttypes:72:11: error: '::wcstoimax' has not been declared
   72 |   using ::wcstoimax;
      |           ^~~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/cinttypes:73:11: error: '::wcstoumax' has not been declared
   73 |   using ::wcstoumax;
      |           ^~~~~~~~~
pxr/base/lib/arch/CMakeFiles/arch.dir/build.make:382: recipe for target 'pxr/base/lib/arch/CMakeFiles/arch.dir/hash.cpp.o' failed
make[2]: *** [pxr/base/lib/arch/CMakeFiles/arch.dir/hash.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h:44,
                 from /opt/gcc-9.3.0/include/c++/9.3.0/bits/basic_string.h:6493,
                 from /opt/gcc-9.3.0/include/c++/9.3.0/string:55,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/errno.h:33,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/errno.cpp:26:
/opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h: In constructor '__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...)::_Save_errno::_Save_errno()':
/opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h:63:27: error: 'errno' was not declared in this scope
   63 |  _Save_errno() : _M_errno(errno) { errno = 0; }
      |                           ^~~~~
In file included from /opt/gcc-9.3.0/include/c++/9.3.0/bits/basic_string.h:6493,
                 from /opt/gcc-9.3.0/include/c++/9.3.0/string:55,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/errno.h:33,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/errno.cpp:26:
/opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h:45:1: note: 'errno' is defined in header '<cerrno>'; did you forget to '#include <cerrno>'?
   44 | #include <cerrno>
  +++ |+#include <cerrno>
   45 | 
In file included from /opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h:44,
                 from /opt/gcc-9.3.0/include/c++/9.3.0/bits/basic_string.h:6493,
                 from /opt/gcc-9.3.0/include/c++/9.3.0/string:55,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/errno.h:33,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/errno.cpp:26:
/opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h: In destructor '__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...)::_Save_errno::~_Save_errno()':
/opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h:64:23: error: 'errno' was not declared in this scope
   64 |  ~_Save_errno() { if (errno == 0) errno = _M_errno; }
      |                       ^~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h:64:23: note: 'errno' is defined in header '<cerrno>'; did you forget to '#include <cerrno>'?
/opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h: In function '_Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...)':
/opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h:84:16: error: 'errno' was not declared in this scope
   84 |       else if (errno == ERANGE
      |                ^~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h:84:16: note: 'errno' is defined in header '<cerrno>'; did you forget to '#include <cerrno>'?
In file included from /opt/gcc-9.3.0/include/c++/9.3.0/bits/basic_string.h:6493,
                 from /opt/gcc-9.3.0/include/c++/9.3.0/string:55,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/errno.h:33,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/errno.cpp:26:
/opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h:84:25: error: 'ERANGE' was not declared in this scope
   84 |       else if (errno == ERANGE
      |                         ^~~~~~
In file included from /opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h:44,
                 from /opt/gcc-9.3.0/include/c++/9.3.0/bits/basic_string.h:6493,
                 from /opt/gcc-9.3.0/include/c++/9.3.0/string:55,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/library.h:30,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/library.cpp:26:
/opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h: In constructor '__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...)::_Save_errno::_Save_errno()':
/opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h:63:27: error: 'errno' was not declared in this scope
   63 |  _Save_errno() : _M_errno(errno) { errno = 0; }
      |                           ^~~~~
In file included from /opt/gcc-9.3.0/include/c++/9.3.0/bits/basic_string.h:6493,
                 from /opt/gcc-9.3.0/include/c++/9.3.0/string:55,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/library.h:30,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/library.cpp:26:
/opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h:45:1: note: 'errno' is defined in header '<cerrno>'; did you forget to '#include <cerrno>'?
   44 | #include <cerrno>
  +++ |+#include <cerrno>
   45 | 
In file included from /opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h:44,
                 from /opt/gcc-9.3.0/include/c++/9.3.0/bits/basic_string.h:6493,
                 from /opt/gcc-9.3.0/include/c++/9.3.0/string:55,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/library.h:30,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/library.cpp:26:
/opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h: In destructor '__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...)::_Save_errno::~_Save_errno()':
/opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h:64:23: error: 'errno' was not declared in this scope
   64 |  ~_Save_errno() { if (errno == 0) errno = _M_errno; }
      |                       ^~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h:64:23: note: 'errno' is defined in header '<cerrno>'; did you forget to '#include <cerrno>'?
/opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h: In function '_Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...)':
/opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h:84:16: error: 'errno' was not declared in this scope
   84 |       else if (errno == ERANGE
      |                ^~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h:84:16: note: 'errno' is defined in header '<cerrno>'; did you forget to '#include <cerrno>'?
In file included from /opt/gcc-9.3.0/include/c++/9.3.0/bits/basic_string.h:6493,
                 from /opt/gcc-9.3.0/include/c++/9.3.0/string:55,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/library.h:30,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/library.cpp:26:
/opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h:84:25: error: 'ERANGE' was not declared in this scope
   84 |       else if (errno == ERANGE
      |                         ^~~~~~
In file included from ./inttypes.h:49,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/stackTrace.h:35,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/initConfig.cpp:27:
/opt/gcc-9.3.0/include/c++/9.3.0/cinttypes:58:11: error: '::imaxdiv_t' has not been declared
   58 |   using ::imaxdiv_t;
      |           ^~~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/cinttypes:61:11: error: '::imaxabs' has not been declared
   61 |   using ::imaxabs;
      |           ^~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/cinttypes:62:11: error: '::imaxdiv' has not been declared
   62 |   using ::imaxdiv;
      |           ^~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/cinttypes:68:11: error: '::strtoimax' has not been declared
   68 |   using ::strtoimax;
      |           ^~~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/cinttypes:69:11: error: '::strtoumax' has not been declared
   69 |   using ::strtoumax;
      |           ^~~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/cinttypes:72:11: error: '::wcstoimax' has not been declared
   72 |   using ::wcstoimax;
      |           ^~~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/cinttypes:73:11: error: '::wcstoumax' has not been declared
   73 |   using ::wcstoumax;
      |           ^~~~~~~~~
In file included from /opt/gcc-9.3.0/include/c++/9.3.0/ext/string_conversions.h:44,
                 from /opt/gcc-9.3.0/include/c++/9.3.0/bits/basic_string.h:6493,
                 from /opt/gcc-9.3.0/include/c++/9.3.0/string:55,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/errno.h:33,
                 from /home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/errno.cpp:26:
/home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/errno.cpp: In function 'std::string usdBlender__pxrReserved__::ArchStrerror()':
/home/username/src/blender-deps/USD-19.11/pxr/base/lib/arch/errno.cpp:38:25: error: 'errno' was not declared in this scope
   38 |     return ArchStrerror(errno);
      |                         ^~~~~

...


/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:83:26: error: 'ENETDOWN' was not declared in this scope
   83 |       network_down =     ENETDOWN,
      |                          ^~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:84:27: error: 'ENETRESET' was not declared in this scope
   84 |       network_reset =     ENETRESET,
      |                           ^~~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:85:32: error: 'ENETUNREACH' was not declared in this scope
   85 |       network_unreachable =    ENETUNREACH,
      |                                ^~~~~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:86:28: error: 'ENOBUFS' was not declared in this scope
   86 |       no_buffer_space =    ENOBUFS,
      |                            ^~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:87:29: error: 'ECHILD' was not declared in this scope
   87 |       no_child_process =    ECHILD,
      |                             ^~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:90:21: error: 'ENOLINK' was not declared in this scope
   90 |       no_link =     ENOLINK,
      |                     ^~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:93:30: error: 'ENOLCK' was not declared in this scope
   93 |       no_lock_available =    ENOLCK,
      |                              ^~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:96:33: error: 'ENODATA' was not declared in this scope
   96 |       no_message_available =    ENODATA,
      |                                 ^~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:99:24: error: 'ENOMSG' was not declared in this scope
   99 |       no_message =     ENOMSG,
      |                        ^~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:100:31: error: 'ENOPROTOOPT' was not declared in this scope
  100 |       no_protocol_option =    ENOPROTOOPT,
      |                               ^~~~~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:101:31: error: 'ENOSPC' was not declared in this scope
  101 |       no_space_on_device =    ENOSPC,
      |                               ^~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:104:32: error: 'ENOSR' was not declared in this scope
  104 |       no_stream_resources =    ENOSR,
      |                                ^~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:107:37: error: 'ENXIO' was not declared in this scope
  107 |       no_such_device_or_address =   ENXIO,
      |                                     ^~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:108:28: error: 'ENODEV' was not declared in this scope
  108 |       no_such_device =     ENODEV,
      |                            ^~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:109:37: error: 'ENOENT' was not declared in this scope
  109 |       no_such_file_or_directory =   ENOENT,
      |                                     ^~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:110:28: error: 'ESRCH' was not declared in this scope
  110 |       no_such_process =    ESRCH,
      |                            ^~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:111:28: error: 'ENOTDIR' was not declared in this scope
  111 |       not_a_directory =    ENOTDIR,
      |                            ^~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:112:26: error: 'ENOTSOCK' was not declared in this scope
  112 |       not_a_socket =     ENOTSOCK,
      |                          ^~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:115:26: error: 'ENOSTR' was not declared in this scope
  115 |       not_a_stream =     ENOSTR,
      |                          ^~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:118:27: error: 'ENOTCONN' was not declared in this scope
  118 |       not_connected =     ENOTCONN,
      |                           ^~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:119:30: error: 'ENOMEM' was not declared in this scope
  119 |       not_enough_memory =    ENOMEM,
      |                              ^~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:122:27: error: 'ENOTSUP' was not declared in this scope
  122 |       not_supported =     ENOTSUP,
      |                           ^~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:126:31: error: 'ECANCELED' was not declared in this scope
  126 |       operation_canceled =    ECANCELED,
      |                               ^~~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:129:34: error: 'EINPROGRESS' was not declared in this scope
  129 |       operation_in_progress =    EINPROGRESS,
      |                                  ^~~~~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:130:35: error: 'EPERM' was not declared in this scope
  130 |       operation_not_permitted =   EPERM,
      |                                   ^~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:131:35: error: 'EOPNOTSUPP' was not declared in this scope
  131 |       operation_not_supported =   EOPNOTSUPP,
      |                                   ^~~~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:132:34: error: 'EWOULDBLOCK' was not declared in this scope
  132 |       operation_would_block =    EWOULDBLOCK,
      |                                  ^~~~~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:135:24: error: 'EOWNERDEAD' was not declared in this scope
  135 |       owner_dead =     EOWNERDEAD,
      |                        ^~~~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:138:30: error: 'EACCES' was not declared in this scope
  138 |       permission_denied =    EACCES,
      |                              ^~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:141:28: error: 'EPROTO' was not declared in this scope
  141 |       protocol_error =     EPROTO,
      |                            ^~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:144:35: error: 'EPROTONOSUPPORT' was not declared in this scope
  144 |       protocol_not_supported =    EPROTONOSUPPORT,
      |                                   ^~~~~~~~~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:145:34: error: 'EROFS' was not declared in this scope; did you mean 'EOF'?
  145 |       read_only_file_system =    EROFS,
      |                                  ^~~~~
      |                                  EOF
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:146:41: error: 'EDEADLK' was not declared in this scope
  146 |       resource_deadlock_would_occur =   EDEADLK,
      |                                         ^~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:147:42: error: 'EAGAIN' was not declared in this scope
  147 |       resource_unavailable_try_again =   EAGAIN,
      |                                          ^~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:148:32: error: 'ERANGE' was not declared in this scope
  148 |       result_out_of_range =    ERANGE,
      |                                ^~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:151:34: error: 'ENOTRECOVERABLE' was not declared in this scope
  151 |       state_not_recoverable =    ENOTRECOVERABLE,
      |                                  ^~~~~~~~~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:155:28: error: 'ETIME' was not declared in this scope
  155 |       stream_timeout =     ETIME,
      |                            ^~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:159:28: error: 'ETXTBSY' was not declared in this scope
  159 |       text_file_busy =     ETXTBSY,
      |                            ^~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:162:23: error: 'ETIMEDOUT' was not declared in this scope
  162 |       timed_out =     ETIMEDOUT,
      |                       ^~~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:163:41: error: 'ENFILE' was not declared in this scope; did you mean 'FILE'?
  163 |       too_many_files_open_in_system =   ENFILE,
      |                                         ^~~~~~
      |                                         FILE
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:164:32: error: 'EMFILE' was not declared in this scope; did you mean 'FILE'?
  164 |       too_many_files_open =    EMFILE,
      |                                ^~~~~~
      |                                FILE
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:165:28: error: 'EMLINK' was not declared in this scope
  165 |       too_many_links =     EMLINK,
      |                            ^~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:166:41: error: 'ELOOP' was not declared in this scope
  166 |       too_many_symbolic_link_levels =   ELOOP,
      |                                         ^~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:169:28: error: 'EOVERFLOW' was not declared in this scope
  169 |       value_too_large =    EOVERFLOW,
      |                            ^~~~~~~~~
/opt/gcc-9.3.0/include/c++/9.3.0/x86_64-pc-linux-gnu/bits/error_constants.h:172:32: error: 'EPROTOTYPE' was not declared in this scope
  172 |       wrong_protocol_type =    EPROTOTYPE
      |                                ^~~~~~~~~~
pxr/base/lib/arch/CMakeFiles/arch.dir/build.make:317: recipe for target 'pxr/base/lib/arch/CMakeFiles/arch.dir/env.cpp.o' failed
make[2]: *** [pxr/base/lib/arch/CMakeFiles/arch.dir/env.cpp.o] Error 1
CMakeFiles/Makefile2:1117: recipe for target 'pxr/base/lib/arch/CMakeFiles/arch.dir/all' failed
make[1]: *** [pxr/base/lib/arch/CMakeFiles/arch.dir/all] Error 2
Makefile:146: recipe for target 'all' failed
make: *** [all] Error 2
ERROR! USD-19.11 failed to compile, exiting

Any suggestions will be appreciated!

The simplest solution may be to use the precompiled libraries as recommended by the build instructions, and sidestep this problem.

What I’m guessing happens is that it’s including USD’s version of inttypes.h and errno.h instead of the system includes with the same filename. But why exactly is unclear, maybe something about the way GCC 9 is installed in /opt rather than the more common /usr.

Thanks for your quick reply! I replaced --with-all option with --skip-usd to install the dependencies, and pointed deps paths to precompiled libs as your suggestion, then I managed to build the bpy.so.

However, when I imported bpy the undefined symbol occurred:

Python 3.7.4 (default, Aug 13 2019, 12:35:49) 
[GCC 7.3.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import bpy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /data/documents/git/blender-git/build_linux/bin/bpy.so: undefined symbol: _ZN25usdBlender__pxrReserved__8UsdStage9CreateNewERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS0_14InitialLoadSetE

By the way, I confirmed that in CMakeCache.txt those paths were specified like:

 744 //Universal Scene Description (USD) header files
 745 USD_INCLUDE_DIR:PATH=/data/documents/git/blender-git/lib/linux_centos7_x86_64.2/usd/include
 746 
 747 //Universal Scene Description (USD) monolithic library
 748 USD_LIBRARY:FILEPATH=/data/documents/git/blender-git/lib/linux_centos7_x86_64.2/usd/lib/libusd_m.a

I am having exact same problem here building 2.83.2 on windows. Despite following the building guide precisely, the build fails with following errors:

Error (active) E0135 class “usdBlender__pxrReserved__::UsdShadeMaterial” has no member “Bind” bf_usd D:\LIB_Projects\Blender-Build\blender\source\blender\io\usd\intern\usd_writer_mesh.cc 347

Error C2039 ‘Bind’: is not a member of ‘usdBlender__pxrReserved__::UsdShadeMaterial’ bf_usd D:\LIB_Projects\Blender-Build\blender\source\blender\io\usd\intern\usd_writer_mesh.cc 347

Seems like USD is indeed the culprit here.

I’m a bit confused, you use either the precompiled libraries or install_deps.sh, not both. To be clear, by precompiled libraries I refer to this:
https://wiki.blender.org/wiki/Building_Blender/Linux/Ubuntu#Download_Libraries

If you are using precompiled libraries just for USD and not all library dependencies, you will have problems since that mixes different C++ ABIs, which gives link errors like that involving strings.

With precompiled libraries checked out in the right directory, if you do a clean build and wipe the build directory, it should automatically pick up everything, and not use any system libraries or libraries installed through install_deps.sh.

This is a different error. What may be happening is that you are building 2.83 with the libraries for 2.90, rather than the older libraries for 2.83?

Normally running make update will check out the appropriate libraries, which should work in the blender-v2.83-release branch. I’m not sure if works automatically in tags, we may have to fix that.

I did following process:

  • Downloaded source using git clone
  • Checked out 2.83.2 branch
  • Executed make update, which succeeded without errors
  • Executed make, which failed

I managed to bypass aforementioned errors by changing WITH_USD:BOOL to OFF in CMakeCache.txt, but I then encountered further errors with embree and OIDN.

So this is probably indeed more systematic error of using libs for 2.90. I am able to successfully build 2.90 without any errors, but I can’t build 2.83.2 even if i run make update.

Yes, v2.83.2 is a tag and I think make update doesn’t work well with that. I’ll look at fixing that.

As a workaround, you can checkout blender-v2.83-release, run make update, then checkout v2.83.2 and run make.

I’ve committed a fix for this. But it will be only for the future v2.83.3 tag I think, since tags are supposed to be frozen and modifying them might cause someone problems.

2 Likes

Thanks a lot! I am still trying to get a successful 2.83 build on windows but now I am running into some SVN errors when doing subsequent make update after checking out 2.83 release branch. What’s curious is that the issues persisted even after I completely deleted and re-downloaded the lib folder.


So now I am in the process of trying the whole process from start to finish in completely different folder, as I may have corrupted something.

I am 99% sure this is error on my side though.

EDIT:

svn: E155009: Failed to run the WC DB work queue associated with ‘D:\LIB_Projects\Blender_Source\lib\win64_vc15\xr_openxr_sdk\lib’, work item 22052 (file-install python/37/DLLs/_lzma.pyd 1 0 1 1)
svn: E720005: Can’t move ‘D:\LIB_Projects\Blender_Source\lib\win64_vc15.svn\tmp\svn-2D6C8B1C’ to ‘D:\LIB_Projects\Blender_Source\lib\win64_vc15\python\37\DLLs_lzma.pyd’: Access is denied.
C:\Program Files\TortoiseSVN\bin\svn.exe --non-interactive update D:/LIB_Projects/Blender_Source/blender…\lib\win64_vc15
svn: E155037: Previous operation has not finished; run ‘cleanup’ if it was interrupted

When I do make update for master, instead of 2.83 release though, make update succeeds :confused:

EDIT2: Finally managed a sucessful make update, but for some reason it took several SVN cleanup commands in succession to finally happen.

Thanks for your advice, still under the blender-v2.83-release branch, currently I removed the folders of both ~/src/blender-deps and /opt/lib, and pointed all deps to the precompiled. But here comes another error:

[ 12%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/BulletDynamics/Featherstone/btMultiBodyConstraintSolver.cpp.o
[ 12%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/BulletDynamics/Featherstone/btMultiBodyDynamicsWorld.cpp.o
[ 12%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/grid4d.cpp.o
[ 12%] Building CXX object extern/quadriflow/CMakeFiles/extern_quadriflow.dir/src/subdivide.cpp.o
[ 12%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/BulletDynamics/Featherstone/btMultiBodyJointLimitConstraint.cpp.o
[ 12%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/BulletDynamics/Featherstone/btMultiBodyJointMotor.cpp.o
[ 12%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/BulletDynamics/Featherstone/btMultiBodyPoint2Point.cpp.o
[ 12%] Building CXX object extern/quadriflow/CMakeFiles/extern_quadriflow.dir/3rd/lemon-1.3.1/lemon/arg_parser.cc.o
[ 12%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/BulletDynamics/MLCPSolvers/btDantzigLCP.cpp.o
[ 12%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/gradient_checker.cc.o
[ 12%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/gradient_checking_cost_function.cc.o
[ 12%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/BulletDynamics/MLCPSolvers/btLemkeAlgorithm.cpp.o
[ 12%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/BulletDynamics/MLCPSolvers/btMLCPSolver.cpp.o
[ 12%] Building CXX object extern/quadriflow/CMakeFiles/extern_quadriflow.dir/3rd/lemon-1.3.1/lemon/base.cc.o
[ 12%] Building CXX object extern/quadriflow/CMakeFiles/extern_quadriflow.dir/3rd/lemon-1.3.1/lemon/color.cc.o
[ 12%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/gradient_problem.cc.o
[ 12%] Building CXX object extern/quadriflow/CMakeFiles/extern_quadriflow.dir/3rd/lemon-1.3.1/lemon/lp_base.cc.o
[ 13%] Building CXX object extern/quadriflow/CMakeFiles/extern_quadriflow.dir/3rd/lemon-1.3.1/lemon/lp_skeleton.cc.o
[ 13%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/gradient_problem_solver.cc.o
[ 13%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/BulletDynamics/Vehicle/btRaycastVehicle.cpp.o
[ 13%] Building CXX object extern/quadriflow/CMakeFiles/extern_quadriflow.dir/3rd/lemon-1.3.1/lemon/random.cc.o
[ 13%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/grid4d.h.reg.cpp.o
[ 13%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/BulletDynamics/Vehicle/btWheelInfo.cpp.o
[ 13%] Building CXX object extern/quadriflow/CMakeFiles/extern_quadriflow.dir/3rd/lemon-1.3.1/lemon/bits/windows.cc.o
[ 13%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/implicit_schur_complement.cc.o
[ 13%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/is_close.cc.o
[ 13%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/BulletSoftBody/btDefaultSoftBodySolver.cpp.o
[ 13%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/BulletSoftBody/btSoftBody.cpp.o
[ 13%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/BulletSoftBody/btSoftBodyConcaveCollisionAlgorithm.cpp.o
[ 13%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/BulletSoftBody/btSoftBodyHelpers.cpp.o
[ 13%] Linking CXX static library ../../lib/libextern_quadriflow.a
[ 13%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/BulletSoftBody/btSoftBodyRigidBodyCollisionConfiguration.cpp.o
[ 13%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/kernel.cpp.o
[ 13%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/BulletSoftBody/btSoftRigidCollisionAlgorithm.cpp.o
[ 13%] Built target extern_quadriflow
[ 13%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/BulletSoftBody/btSoftRigidDynamicsWorld.cpp.o
[ 14%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/iterative_schur_complement_solver.cc.o
[ 14%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/lapack.cc.o
[ 14%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/kernel.h.reg.cpp.o
[ 14%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/levelset.cpp.o
[ 14%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/levelset.h.reg.cpp.o
[ 14%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/mesh.cpp.o
[ 14%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/levenberg_marquardt_strategy.cc.o
[ 14%] Linking CXX static library ../../lib/libbf_intern_openvdb.a
[ 14%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/linear_least_squares_problems.cc.o
[ 14%] Built target bf_intern_openvdb
[ 14%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/linear_operator.cc.o
[ 14%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/linear_solver.cc.o
[ 14%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/mesh.h.reg.cpp.o
[ 14%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/line_search.cc.o
[ 14%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/line_search_direction.cc.o
[ 14%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/line_search_minimizer.cc.o
[ 14%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/movingobs.cpp.o
[ 14%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/BulletSoftBody/btSoftSoftCollisionAlgorithm.cpp.o
[ 14%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/LinearMath/btAlignedAllocator.cpp.o
[ 14%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/movingobs.h.reg.cpp.o
[ 14%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/LinearMath/btConvexHull.cpp.o
[ 14%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/LinearMath/btConvexHullComputer.cpp.o
[ 14%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/multigrid.cpp.o
[ 14%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/line_search_preprocessor.cc.o
[ 14%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/LinearMath/btGeometryUtil.cpp.o
[ 14%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/LinearMath/btPolarDecomposition.cpp.o
[ 14%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/LinearMath/btQuickprof.cpp.o
[ 14%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/local_parameterization.cc.o
[ 14%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/multigrid.h.reg.cpp.o
[ 14%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/loss_function.cc.o
[ 14%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/LinearMath/btSerializer.cpp.o
[ 14%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/noisefield.cpp.o
[ 14%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/noisefield.h.reg.cpp.o
[ 14%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/low_rank_inverse_hessian.cc.o
[ 14%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/minimizer.cc.o
[ 14%] Building CXX object extern/bullet2/CMakeFiles/extern_bullet.dir/src/LinearMath/btVector3.cpp.o
[ 14%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/normal_prior.cc.o
[ 15%] Linking CXX static library ../../lib/libextern_bullet.a
[ 15%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/particle.cpp.o
[ 15%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/particle.h.reg.cpp.o
[ 15%] Built target extern_bullet
[ 15%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/plugin/advection.cpp.o
[ 15%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/plugin/apic.cpp.o
[ 15%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/parameter_block_ordering.cc.o
[ 15%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/plugin/extforces.cpp.o
[ 15%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/partitioned_matrix_view.cc.o
[ 15%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/plugin/fire.cpp.o
[ 15%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/polynomial.cc.o
[ 15%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/plugin/flip.cpp.o
[ 15%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/plugin/fluidguiding.cpp.o
[ 15%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/plugin/initplugins.cpp.o
[ 15%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/plugin/kepsilon.cpp.o
[ 15%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/preconditioner.cc.o
[ 15%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/preprocessor.cc.o
[ 15%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/plugin/meshplugins.cpp.o
[ 15%] Linking CXX static library ../../lib/libbf_intern_libmv.a
[ 15%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/plugin/pressure.cpp.o
[ 15%] Built target bf_intern_libmv
[ 15%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/plugin/ptsplugins.cpp.o
[ 15%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/plugin/secondaryparticles.cpp.o
[ 15%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/plugin/surfaceturbulence.cpp.o
[ 15%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/plugin/vortexplugins.cpp.o
[ 15%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/plugin/waveletturbulence.cpp.o
[ 15%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/problem.cc.o
[ 15%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/problem_impl.cc.o
[ 15%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/program.cc.o
[ 15%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/plugin/waves.cpp.o
[ 15%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/python/defines.py.reg.cpp.o
[ 16%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/registration.cpp.o
[ 16%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/shapes.cpp.o
[ 16%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/shapes.h.reg.cpp.o
[ 16%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/reorder_program.cc.o
[ 16%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/test.cpp.o
[ 16%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/timing.cpp.o
[ 16%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/residual_block.cc.o
[ 16%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/timing.h.reg.cpp.o
[ 16%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/turbulencepart.cpp.o
[ 16%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/residual_block_utils.cc.o
[ 16%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/schur_complement_solver.cc.o
[ 16%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/turbulencepart.h.reg.cpp.o
[ 16%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/vortexpart.cpp.o
[ 16%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/schur_eliminator.cc.o
[ 16%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/vortexpart.h.reg.cpp.o
[ 16%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/schur_jacobi_preconditioner.cc.o
[ 16%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/vortexsheet.cpp.o
[ 16%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/scratch_evaluate_preparer.cc.o
[ 16%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/solver.cc.o
[ 16%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/solver_utils.cc.o
[ 16%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/preprocessed/vortexsheet.h.reg.cpp.o
[ 16%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/sparse_matrix.cc.o
[ 16%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/helper/pwrapper/pclass.cpp.o
[ 16%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/sparse_normal_cholesky_solver.cc.o
[ 16%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/split.cc.o
[ 16%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/stringprintf.cc.o
[ 16%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/triplet_sparse_matrix.cc.o
[ 16%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/trust_region_minimizer.cc.o
[ 16%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/trust_region_preprocessor.cc.o
[ 16%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/trust_region_step_evaluator.cc.o
[ 16%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/helper/pwrapper/pconvert.cpp.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/trust_region_strategy.cc.o
[ 17%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/helper/pwrapper/pvec3.cpp.o
[ 17%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/helper/pwrapper/registry.cpp.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/types.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/wall_time.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/partitioned_matrix_view_2_2_2.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/partitioned_matrix_view_2_2_3.cc.o
[ 17%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/helper/util/simpleimage.cpp.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/partitioned_matrix_view_2_2_4.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/partitioned_matrix_view_2_2_d.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/partitioned_matrix_view_2_3_3.cc.o
[ 17%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/helper/util/vector4d.cpp.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/partitioned_matrix_view_2_3_4.cc.o
[ 17%] Building CXX object extern/mantaflow/CMakeFiles/extern_mantaflow.dir/helper/util/vectorbase.cpp.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/partitioned_matrix_view_2_3_6.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/partitioned_matrix_view_2_3_9.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/partitioned_matrix_view_2_3_d.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/partitioned_matrix_view_2_4_3.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/partitioned_matrix_view_2_4_4.cc.o
[ 17%] Linking CXX static library ../../lib/libextern_mantaflow.a
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/partitioned_matrix_view_2_4_8.cc.o
[ 17%] Built target extern_mantaflow
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/partitioned_matrix_view_2_4_9.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/partitioned_matrix_view_2_4_d.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/partitioned_matrix_view_2_d_d.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/partitioned_matrix_view_4_4_2.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/partitioned_matrix_view_4_4_3.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/partitioned_matrix_view_4_4_4.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/partitioned_matrix_view_4_4_d.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/schur_eliminator_2_2_2.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/schur_eliminator_2_2_3.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/schur_eliminator_2_2_4.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/schur_eliminator_2_2_d.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/schur_eliminator_2_3_3.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/schur_eliminator_2_3_4.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/schur_eliminator_2_3_6.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/schur_eliminator_2_3_9.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/schur_eliminator_2_3_d.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/schur_eliminator_2_4_3.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/schur_eliminator_2_4_4.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/schur_eliminator_2_4_8.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/schur_eliminator_2_4_9.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/schur_eliminator_2_4_d.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/schur_eliminator_2_d_d.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/schur_eliminator_4_4_2.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/schur_eliminator_4_4_3.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/schur_eliminator_4_4_4.cc.o
[ 17%] Building CXX object extern/ceres/CMakeFiles/extern_ceres.dir/internal/ceres/generated/schur_eliminator_4_4_d.cc.o
[ 18%] Linking CXX static library ../../lib/libextern_ceres.a
[ 18%] Built target extern_ceres
Makefile:179: recipe for target 'all' failed
make[1]: *** [all] Error 2
GNUmakefile:310: recipe for target 'all' failed
make: *** [all] Error 2

Again, I located the problem at:

Scanning dependencies of target bf_editor_armature
make[3]: *** No rule to make target '/home/username/documents/git/blender-git/lib/linux_centos7_x86_64/png/lib/libpng/libpng.a', needed by 'bin/datatoc_icon'.  Stop.
CMakeFiles/Makefile2:4316: recipe for target 'source/blender/datatoc/CMakeFiles/datatoc_icon.dir/all' failed
make[2]: *** [source/blender/datatoc/CMakeFiles/datatoc_icon.dir/all] Error 2
make[2]: *** Waiting for unfinished jobs....

But I quite sure that in the CMakeCache.txt:

 639 //Path to a library.
 640 PNG_LIBRARY_DEBUG:FILEPATH=PNG_LIBRARY_DEBUG-NOTFOUND
 641 
 642 //Path to a library.
 643 PNG_LIBRARY_RELEASE:FILEPATH=/home/username/documents/git/blender-git/lib/linux_centos7_x86_64/png/lib/libpng/libpng.a
 644 
 645 //Path to a file.
 646 PNG_PNG_INCLUDE_DIR:PATH=/home/username/documents/git/blender-git/lib/linux_centos7_x86_64/png/include

The path is supposed to be /home/username/documents/git/blender-git/lib/linux_centos7_x86_64/png/lib/libpng.a (no libpng directory in between).

1 Like

Thank you so much! Now everything works well in my Ubuntu-16.04.

Here is my entire solution: @2020-07-14, under git:branch=blender-v2.83-release

[step-0] install gcc-9.3.0 or later (might need unset LD_*, LIBRARY_*, C*, INCLUDE_* or some other env-vars), deactivate all conda envs, and append library and include paths to env-vars if needed
[step-1] git clone repo & checkout the branch & follow Blender-Wiki’s instruction
[step-2] DON’T touch install_deps.sh, use all precompiled libs provided by svn
[step-3] use gcc-9.3.0 installed at /opt/gcc-9.3.0/...
and REMEMBER after cmake .. ALWAYS check …/build_linux/CMakeCache.txt and check all libraries pointed to your local locations
[step-4] in my case, check:
(1) openMP dynamic & static libs locations
(2) re-direct all libs needed to ../lib/linux_centos7_x86_64 svn precompiled
(3) use WITH_MEM_JEMALLOC=OFF to avoid “cannot allocate memory in static TLS block” runtime error
(4) add other tags for building as a PyModule
thus finally:
make -j12 BUILD_CMAKE_ARGS="-D OpenMP_LIBRARIES=/opt/gcc-9.3.0/lib64/libgomp.so
-D OpenMP_gomp_LIBRARY=/opt/gcc-9.3.0/lib64/libgomp.a
-D PNG_LIBRARY_RELEASE=/path-of-git/blender-git/lib/linux_centos7_x86_64/png/lib/libpng16.a
-D WITH_MEM_JEMALLOC=OFF
-D WITH_PYTHON_INSTALL=OFF
-D WITH_AUDASPACE=OFF
-D WITH_PYTHON_MODULE=ON"

:slight_smile: I wish it would be helpful to other people.

1 Like