3DStreamingToolkit / 3DStreamingToolkit

A toolkit for building powerful stereoscopic 3D experiences that run on the cloud and stream to devices.
MIT License
362 stars 99 forks source link

Critical error when running bin\prepare.bat #307

Open Holo-Viktor opened 5 years ago

Holo-Viktor commented 5 years ago

Report

Since practically nobody is watching the extensions repo here it is again: https://github.com/3DStreamingToolkit/webrtc-extensions-3dstk/issues/4

Environment

Issues and Steps to Reproduce

running bin\prepare.bat fails to build the zsLib.Eventing tool compiler repro:

Expected Behavior

preparing should finish without errors

Actual Behavior


Target: all (Ortc and WebRtc)
Platform: all (x64, x86, arm and win32)
Log level: 2 (warning)

Running prepare script ...

Preparing webRTC and ORTC development environment ...
Preparing development environment for ARM, x64, x86 and win32 platforms ...
COPY ortc\xplatform\templates\gn\webrtcBUILD.gn webrtc\xplatform\webrtc\BUILD.gn
COPY ortc\xplatform\templates\gn\ortcBUILD.gn webrtc\xplatform\webrtc\ortc\BUILD.gn
COPY bin\runEventCompiler.py webrtc\xplatform\webrtc\ortc\runEventCompiler.py
COPY bin\runIDLCompiler.py webrtc\xplatform\webrtc\ortc\runIDLCompiler.py

Running WebRTC prepare script ...
=================================
Preparing WebRTC development environment for arm, x64, x86 and win32 platforms ...
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) copied.
        1 file(s) copied.
In case pop-up window 'Git Credential Manager for Windows' appears after clang download, just click 'Cancel' button.
Updating Clang to 310694-2...
Creating directory D:\Repos\webrtc-extensions-3dstk\webrtc\xplatform\webrtc\third_party\llvm-build
Downloading prebuilt clang
Downloading https://commondatastorage.googleapis.com/chromium-browser-clang/Win/clang-310694-2.tgz .......... Done.
Creating directory D:\Repos\webrtc-extensions-3dstk\webrtc\xplatform\webrtc\third_party\llvm-build\Release+Asserts
clang 310694-2 unpacked
Copying C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\DIA SDK\bin\amd64\msdia140.dll to D:\Repos\webrtc-extensions-3dstk\webrtc\xplatform\webrtc\third_party\llvm-build\Release+Asserts\bin
0> Downloading buildtools\win\gn.exe...
Success!
Downloading 1 files took 34.944000 second(s)
0> Downloading buildtools\win\clang-format.exe...
Success!
Downloading 1 files took 7.302000 second(s)
Generating WebRTC projects for x64 platform ...
Generating WebRTC projects for x86 platform ...
Generating WebRTC projects for win32 platform ...
Generating WebRTC projects for win32 x64 platform ...

Success: WebRTC development environment is prepared.
=======   WebRTC prepare script summary   =======
=======   platform   =========   result   =======
            arm                 not run
            x64                 prepared
            x86                 prepared
            win32               prepared
=================================================

COPY ortc\windows\templates\libs\webrtc\webrtcForOrtc.vs2015.sln webrtc\xplatform\webrtc\webrtcForOrtc.vs2015.sln
COPY ortc\windows\templates\libs\webrtc\webrtcForOrtc.Win32.vs2015.sln webrtc\xplatform\webrtc\webrtcForOrtc.Win32.vs2015.sln

Running Curl prepare script ...
=================================
Preparing curl will take approximately 5 minutes ...
Junction created for include <<===>> download\curl-7.50.3\include
Junction created for current <<===>> download\curl-7.50.3
Building curl for x86
CPU arhitecture is x64
Selected compiler option is amd64_x86
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.9.4
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64_x86'

Microsoft (R) Program Maintenance Utility Version 14.16.27025.1
Copyright (C) Microsoft Corporation.  All rights reserved.

Could Not Find D:\Repos\webrtc-extensions-3dstk\ortc\xplatform\curl\current\winbuild\LIBCURL_OBJS.inc
Could Not Find D:\Repos\webrtc-extensions-3dstk\ortc\xplatform\curl\current\winbuild\CURL_OBJS.inc

Microsoft (R) Program Maintenance Utility Version 14.16.27025.1
Copyright (C) Microsoft Corporation.  All rights reserved.

Microsoft (R) Program Maintenance Utility Version 14.16.27025.1
Copyright (C) Microsoft Corporation.  All rights reserved.

Microsoft (R) Program Maintenance Utility Version 14.16.27025.1
Copyright (C) Microsoft Corporation.  All rights reserved.

Junction created for x86-release-dll <<===>> current\builds\libcurl-vc14-x86-release-dll-ipv6-sspi-winssl
Junction created for x86-debug-dll <<===>> current\builds\libcurl-vc14-x86-debug-dll-ipv6-sspi-winssl
Junction created for x86-release-static <<===>> current\builds\libcurl-vc14-x86-release-static-ipv6-sspi-winssl
Junction created for x86-debug-static <<===>> current\builds\libcurl-vc14-x86-debug-static-ipv6-sspi-winssl
        1 file(s) moved.
        1 file(s) moved.
        1 file(s) moved.
        1 file(s) moved.
        1 file(s) moved.
Building curl for x64
CPU arhitecture is x64
Selected compiler option is amd64
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.9.4
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'

Microsoft (R) Program Maintenance Utility Version 14.16.27025.1
Copyright (C) Microsoft Corporation.  All rights reserved.

Microsoft (R) Program Maintenance Utility Version 14.16.27025.1
Copyright (C) Microsoft Corporation.  All rights reserved.

Microsoft (R) Program Maintenance Utility Version 14.16.27025.1
Copyright (C) Microsoft Corporation.  All rights reserved.

Microsoft (R) Program Maintenance Utility Version 14.16.27025.1
Copyright (C) Microsoft Corporation.  All rights reserved.

Junction created for x64-release-dll <<===>> current\builds\libcurl-vc14-x64-release-dll-ipv6-sspi-winssl
Junction created for x64-debug-dll <<===>> current\builds\libcurl-vc14-x64-debug-dll-ipv6-sspi-winssl
Junction created for x64-release-static <<===>> current\builds\libcurl-vc14-x64-release-static-ipv6-sspi-winssl
Junction created for x64-debug-static <<===>> current\builds\libcurl-vc14-x64-debug-static-ipv6-sspi-winssl
        1 file(s) moved.
        1 file(s) moved.
        1 file(s) moved.
        1 file(s) moved.
        1 file(s) moved.
Curl is ready
Total execution time: 00:07:43 (463s total)

Running eventing preparation script ...
=================================
Platform: x64
Building eventing tool compiler ...
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.9.4
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64_x86'

CRITICAL ERROR: Building zsLib.Eventing.Tool.Compiler projects for x86 has failed

FAILURE: Eventing preparations has failed

Total execution time: 00:03:45 (225s total)```
rishi-rranjan commented 5 years ago

I have been able to compile it number of times recently with SDK 17763 with following steps:

  1. Set DEPOT_TOOLS_WIN_TOOLCHAIN to 0 as per https://chromium.googlesource.com/chromium/src/+/master/docs/windows_build_instructions.md
  2. git clone --recursive git@bitbucket.org:gridrasterproduct/webrtc-extensions-3dstk-fork.git
  3. cd webrtc-extensions-3dstk-fork
  4. Make sure to remove any local Python. I was having problem with local and python version that is downloaded by Chromium.
  5. Install http://strawberryperl.com/
  6. Install debugging tools also after installing VS 2017 Windows SDK. 7.Opened the solution projects in webrtc-extensions-3dstk-fork\webrtc\windows\solutions using VS 2017 and retargetted them to 10.0.17663.0 .
  7. bin\prepare.bat
  8. Running bin\build3DSTKLibs.bat was giving bunch of errors about redefinition. The issue is a known issue with webrtc-uwp with latest SDK. It has been fixed with a single file change. Merged https://raw.githubusercontent.com/webrtc-uwp/webrtc-windows/Robin/m66-msidl/third_party/winuwp_compat/winuwp_compat_std.h to webrtc/windows/third_party/winuwp_compat/winuwp_compat_std.h.
  9. With above changes, bin\build3DSTKLibs.bat build completed from VS 2017. Note that this took couple of hours to complete.
rishi-rranjan commented 5 years ago

Today it failed for me also with same error as reported in this bug. But even with this error, libraries compile without any issue.

anderm commented 5 years ago

@Holo-Viktor - thanks for posting this, we have not done any testing above Windows SDK 16299 so you will experience some issues unless you change the solution target like @rishi-rranjan explained. The final error is new so we will look into it but you should still be able to compile the library with no issues.

To test the library manually, you can open the webrtc\windows\solutions\WebRtc.sln and build the Org.WebRtc.Uwp project. If you are interested in building the native side only, after you run bin\prepare.bat, you can open webrtc\xplatform\webrtc\out\win_x64_(configuration)\all.sln and compile the webrtc project. Everything should compile successfully.