PixarAnimationStudios / OpenUSD

Universal Scene Description
http://www.openusd.org
Other
6.16k stars 1.23k forks source link

Build script tbb related error on Windows #2869

Open yuzeni opened 11 months ago

yuzeni commented 11 months ago

Description of Issue

When running the build script from the "x64 Native Command Prompt for VS 2022", cmake runs into an error in concurrentList.h at (133,16):

C:\src\USD\pxr\base\trace\concurrentList.h(133,16): error C2039: "construct" ist kein Member von "tbb::detail::d1::cache_aligned_allocator<pxrInternal_v0_23__pxrReserved__::TraceConcurrentList<pxrInternal_v0_23__pxrReserved__::TraceCollector::_PerThreadData>::Node>". [C:\src\USD\build\USD\pxr\base\trace\trace.vcxproj]

"ist kein Member von" means "is no member of"

This is the whole output, when I run cmake again:

C:\src\USD\build\USD>cmake --build . --config Release --target install -- /M:16
MSBuild-Version 17.8.3+195e7f5a3 für .NET Framework

  arch.vcxproj -> C:\src\USD\build\USD\pxr\base\arch\Release\usd_arch.dll
  tf.vcxproj -> C:\src\USD\build\USD\pxr\base\tf\Release\usd_tf.dll
  garch.vcxproj -> C:\src\USD\build\USD\pxr\imaging\garch\Release\usd_garch.dll
  js.vcxproj -> C:\src\USD\build\USD\pxr\base\js\Release\usd_js.dll
  gf.vcxproj -> C:\src\USD\build\USD\pxr\base\gf\Release\usd_gf.dll
  cameraUtil.vcxproj -> C:\src\USD\build\USD\pxr\imaging\cameraUtil\Release\usd_cameraUtil.dll
  collector.cpp
C:\src\USD\pxr\base\trace\concurrentList.h(133,16): error C2039: "construct" ist kein Member von "tbb::detail::d1::cache_aligned_allocator<pxrInternal_v0_23__pxrReserved__::TraceConcurrentList<pxrInternal_v0_23__pxrReserved__::TraceColl
ector::_PerThreadData>::Node>". [C:\src\USD\build\USD\pxr\base\trace\trace.vcxproj]
  (Quelldatei "../../../../../pxr/base/trace/collector.cpp" wird kompiliert)
  C:\src\USD\pxr\base\trace\concurrentList.h(144,10):
  Siehe Deklaration von "tbb::detail::d1::cache_aligned_allocator<pxrInternal_v0_23__pxrReserved__::TraceConcurrentList<pxrInternal_v0_23__pxrReserved__::TraceCollector::_PerThreadData>::Node>"
  C:\src\USD\pxr\base\trace\concurrentList.h(133,16):
  der Vorlageninstanziierungskontext (der älteste zuerst) ist
        C:\src\USD\pxr\base\trace\collector.h(618,41):
        Siehe Verweis auf die gerade kompilierte Klasse Vorlage-Instanziierung "pxrInternal_v0_23__pxrReserved__::TraceConcurrentList<pxrInternal_v0_23__pxrReserved__::TraceCollector::_PerThreadData>".
        C:\src\USD\pxr\base\trace\concurrentList.h(131,14):
        beim Kompilieren der Klasse Vorlage-Memberfunktion "pxrInternal_v0_23__pxrReserved__::TraceConcurrentList<pxrInternal_v0_23__pxrReserved__::TraceCollector::_PerThreadData>::iterator pxrInternal_v0_23__pxrReserved__::TraceConcurr
  entList<pxrInternal_v0_23__pxrReserved__::TraceCollector::_PerThreadData>::Insert(void)"
                C:\src\USD\pxr\base\trace\collector.cpp(67,20):
                Ersten Verweis auf "pxrInternal_v0_23__pxrReserved__::TraceConcurrentList<pxrInternal_v0_23__pxrReserved__::TraceCollector::_PerThreadData>::Insert" in "pxrInternal_v0_23__pxrReserved__::TraceCollector::_GetThreadData" a
  nzeigen

Content of the log.txt

2023-12-13 13:15
powershell [Net.ServicePointManager]::SecurityProtocol =             [Net.SecurityProtocolType]::Tls12; "(new-object             System.Net.WebClient).DownloadFile('https://github.com/madler/zlib/archive/v1.2.13.zip', 'v1.2.13.zip.tmp')"
2023-12-13 13:15
powershell [Net.ServicePointManager]::SecurityProtocol =             [Net.SecurityProtocolType]::Tls12; "(new-object             System.Net.WebClient).DownloadFile('https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.zip', 'boost_1_78_0.zip.tmp')"
2023-12-13 13:18
powershell [Net.ServicePointManager]::SecurityProtocol =             [Net.SecurityProtocolType]::Tls12; "(new-object             System.Net.WebClient).DownloadFile('https://github.com/oneapi-src/oneTBB/releases/download/v2020.3/tbb-2020.3-win.zip', 'tbb-2020.3-win.zip.tmp')"
2023-12-13 13:18
powershell [Net.ServicePointManager]::SecurityProtocol =             [Net.SecurityProtocolType]::Tls12; "(new-object             System.Net.WebClient).DownloadFile('https://github.com/materialx/MaterialX/archive/v1.38.7.zip', 'v1.38.7.zip.tmp')"
2023-12-13 13:20
powershell [Net.ServicePointManager]::SecurityProtocol =             [Net.SecurityProtocolType]::Tls12; "(new-object             System.Net.WebClient).DownloadFile('https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v3_5_1.zip', 'v3_5_1.zip.tmp')"

I tried it with Visual Studio 2019 as well as 2022. They both fail at the same step. I would consider myself to be a noob, so it might very well be an error on my side. Either way, I hope someone understands the cause, as I have been trying to build usd since yesterday morning :) If there is any additional information I could provide that might be helpful, please let me know!

Steps to Reproduce

  1. clone OpenUSD
  2. install Python 3.10 (through the Microsoft Store)
  3. pip3.10 install PySide6 (6.6.1) and PyOpenGL (3.1.7)
  4. open the "x64 Native Tools Command Prompt for VS 2022" as administrator
  5. C:\>python3.10 src\USD\build_scripts\build_usd.py "C:\src\USD"

System Information (OS, Hardware)

jesschimein commented 11 months ago

Filed as internal issue #USD-9094

nvmkuruc commented 1 week ago

@yuzeni Curious if this still an issue for you now that OpenUSD supports oneTBB.