Ion

Related tags

Graphics ion
Overview

Ion

Ion is a portable suite of libraries and tools for building client applications, especially graphical ones. It is small, fast, robust, and is cross-platform across many platforms and devices, including desktops, mobile devices, browsers, and other embedded platforms.

For more details and a fair amount of documentation see https://google.github.io/ion.

Why Use Ion?

  • Small: < 500k binary size on mobile platforms, often much smaller
  • Powerful: Tools for faster productivity when developing applications
    • Robust, portable application infrastructure aids in:
    • Object lifetime management
    • Memory allocation
    • Application start-up and static instances
    • Threading
    • Run-time setting editing
    • Automatic performance instrumentation
    • More!
  • Tools for graphics:
    • Analyze graphics scenes to find performance bottleneck
    • Trace all OpenGL calls and examine their arguments
    • Use scene resources in multiple contexts, automatically
    • Run-time graphics state introspection
    • Run-time shader editing: change your shaders and immediately see the results
  • Fast graphics: Minimal overhead between your application and OpenGL / ES
  • Tested: Well-tested and facilitates testing your application
    • ~100% test coverage
    • Black- and white-box tested, unit tests and integration tests
    • Mock implementation of OpenGL API allows direct renderer unit tests and validation
    • Integrated Remote: extensible API allows changing arbitrary application settings on-the-fly for faster development, testing, and debugging
  • Cross-platform:
    • Desktop: Linux, Mac OSX, Windows (OpenGL)
    • Handheld: Android (ARM, x86 MIPS), iOS (ARM and x86), and their 64-bit variants
    • Browser: Emscripten/asm.js, NaCl / pNaCl
  • Cross-functional
    • Used by many teams across Google, running on billions of devices through multiple Google products

NOTE: This is not an official Google product.

Comments
  • iOS build is failing

    iOS build is failing

    Currently, the iOS build is not successful.

    I'm running this command: python build.py -o ios -c Release

    using the compiler provided by Xcode (Version 7.2)

    clang++ -v
    Apple LLVM version 7.0.2 (clang-700.1.81)
    Target: x86_64-apple-darwin15.3.0
    Thread model: posix
    

    and getting the following error message:

    ** BUILD FAILED **
    
    
    The following build commands failed:
        CompileC ion/gyp-out/ios/Release/obj/external_ios.build/Release-iphoneos/ionzlib.build/Objects-normal/armv7/zip.o ion/third_party/zlib/src/contrib/minizip/zip.c normal armv7 c com.apple.compilers.llvm.clang.1_0.compiler
    (1 failure)
    ERROR: Build failed.
    

    Cheers

    opened by SebastianKeller 2
  • ANDROID Build fails on ubuntu 16.10 (x64)

    ANDROID Build fails on ubuntu 16.10 (x64)

    Hi all.

    Output of ./build.sh --os android show a lot dependencies issues. How can I fixed them?.

    FAILED: if [ ! -e gen/libgearsdemo.so -o ! -e gen/libgearsdemo.so.TOC ]; then /opt/android/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -shared -Wl,--fix-cortex-a8 -march=armv7-a -mthumb --sysroot=/opt/android/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9 -B /opt/android/ndk/platforms/android-21/arch-arm/usr/lib -Wl,-L/opt/android/ndk/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a -Wl,--gc-sections -Wl,--no-undefined,-z,nocopyreloc -Wl,-dynamic-linker,/system/bin/linker -lc -lm -ldl -llog -lstdc++ -lgcc -g -o gen/libgearsdemo.so -Wl,-soname=libgearsdemo.so @gen/libgearsdemo.so.rsp && { /opt/android/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-readelf -d gen/libgearsdemo.so | grep SONAME ; /opt/android/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-nm -gD -f p gen/libgearsdemo.so | cut -f1-2 -d' '; } > gen/libgearsdemo.so.TOC; else /opt/android/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -shared -Wl,--fix-cortex-a8 -march=armv7-a -mthumb --sysroot=/opt/android/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9 -B /opt/android/ndk/platforms/android-21/arch-arm/usr/lib -Wl,-L/opt/android/ndk/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a -Wl,--gc-sections -Wl,--no-undefined,-z,nocopyreloc -Wl,-dynamic-linker,/system/bin/linker -lc -lm -ldl -llog -lstdc++ -lgcc -g -o gen/libgearsdemo.so -Wl,-soname=libgearsdemo.so @gen/libgearsdemo.so.rsp && { /opt/android/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-readelf -d gen/libgearsdemo.so | grep SONAME ; /opt/android/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-nm -gD -f p gen/libgearsdemo.so | cut -f1-2 -d' '; } > gen/libgearsdemo.so.tmp && if ! cmp -s gen/libgearsdemo.so.tmp gen/libgearsdemo.so.TOC; then mv gen/libgearsdemo.so.tmp gen/libgearsdemo.so.TOC ; fi; fi ../../../ion/base/shareable.h:41: error: undefined reference to 'std::basic_ostream<char, std::char_traits >& std::operator<< <char, std::char_traits, std::allocator >(std::basic_ostream<char, std::char_traits >&, std::basic_string<char, std::char_traits, std::allocator > const&)' ../../../ion/base/shareable.h:41: error: undefined reference to 'std::basic_ostream<char, std::char_traits >& std::operator<< std::char_traits(std::basic_ostream<char, std::char_traits >&, char const_)' ../../../ion/base/shareable.h:41: error: undefined reference to 'std::ostream::operator<<(int)' ../../../ion/base/shareable.h:41: error: undefined reference to 'std::basic_ostream<char, std::char_traits >& std::operator<< std::char_traits(std::basic_ostream<char, std::char_traits >&, char const_)' ../../../ion/base/shareable.h:41: error: undefined reference to 'std::basic_ostream<char, std::char_traits >& std::operator<< std::char_traits(std::basic_ostream<char, std::char_traits >&, char const_)' ../../../ion/base/shareable.h:41: error: undefined reference to 'std::basic_ostream<char, std::char_traits >& std::operator<< std::char_traits(std::basic_ostream<char, std::char_traits >&, char const_)' ../../../ion/base/shareable.h:41: error: undefined reference to 'std::ostream::operator<<(int)'

    and so hundred line more.

    Thanks in advanced.

    Best regards

    opened by malcalde 1
  • Android builds not working (multiple issues)

    Android builds not working (multiple issues)

    Fails to build for android on Linux Mint 17.3 by doing build:

    1. cd ion/
    2. edit dev/android_common.gypi to have the corrects paths to my created standalone ndk toolchain
    3. ./build.sh -o android-arm

    Issues that I have found:

    • Fails because the folder android/ and the expected files jniutil.h, jniutil.cc and trace.cc does not exist under port/. (Can get further by editing port/port.gyp to remove the reference to the three files).
    • Fails because of a hardocded url to the ndk in ion/external/external.gyp. It's the paths to cpu-features.h and cpu-features.cc.
    • Fails when about to create the apk because it expects to find a template AndroidManifest.xml.in in ion/dev/.
    opened by Discordia 1
  • Fails to build with clang-3.4

    Fails to build with clang-3.4

    Building on Linux Mint 17.3 (Rosa) with the default version of clang from the package manager: 3.4 fail. It fails because the warning no-unused-local-typedefs is not supported on clang-3.4. By removing the -Wno-unused-local-typedefs from two places in ion/gfx/gfx.gyp it builds successfully.

    opened by Discordia 1
  • Use references when joining threads in KillAllThreads

    Use references when joining threads in KillAllThreads

    opened by dlrobertson 1
  • Add dependencies and git submodules to BUILDING

    Add dependencies and git submodules to BUILDING

    Still running into the following:

    /usr/bin/../lib/gcc/x86_64-linux-gnu/5.2.1/../../../../include/c++/5.2.1/bits/atomic_base.h:354: undefined reference to `__atomic_is_lock_free' clang: error: linker command failed with exit code 1 (use -v to see invocation) [4/334] CXX obj/ion/base/tests/ionbase_test.datetime_test.o ninja: build stopped: subcommand failed.

    opened by RobLoach 1
  • Security Policy violation Binary Artifacts

    Security Policy violation Binary Artifacts

    This issue was automatically created by Allstar.

    Security Policy Violation Project is out of compliance with Binary Artifacts policy: binaries present in source code

    Rule Description Binary Artifacts are an increased security risk in your repository. Binary artifacts cannot be reviewed, allowing the introduction of possibly obsolete or maliciously subverted executables. For more information see the Security Scorecards Documentation for Binary Artifacts.

    Remediation Steps To remediate, remove the generated executable artifacts from the repository.

    Artifacts Found

    • third_party/ninja/files/bin/ninja-linux64
    • third_party/ninja/files/bin/ninja.exe

    Additional Information This policy is drawn from Security Scorecards, which is a tool that scores a project's adherence to security best practices. You may wish to run a Scorecards scan directly on this repository for more details.


    Allstar has been installed on all Google managed GitHub orgs. Policies are gradually being rolled out and enforced by the GOSST and OSPO teams. Learn more at http://go/allstar

    This issue will auto resolve when the policy is in compliance.

    Issue created by Allstar. See https://github.com/ossf/allstar/ for more information. For questions specific to the repository, please contact the owner or maintainer.

    allstar 
    opened by allstar-app[bot] 24
  • Does ionremote work on Windows x64?

    Does ionremote work on Windows x64?

    I'm using ion (mainly ionmath) for a while in another project that I build with Bazel on windows. with a few small changes (https://github.com/google/ion/compare/master...MrMabulous:master) ion builds successfully using Visual Studio 2019's MSVC.

    now I wanted to give ionremote a try but I'm getting linker errors when trying to create an ion::remote::RemoteServer

    ionremote.lib(ionremote.remoteserver.obj) : error LNK2019: unresolved external symbol "bool __cdecl IonRemoteGetUri::RegisterAssets(void)" ([email protected]@@YA_NXZ) referenced in function "void __cdecl ion::remote::`anonymous namespace'::RegisterAssetsForRemoteServer(void)" ([email protected][email protected]@[email protected]@YAXXZ)
    ionremote.lib(ionremote.remoteserver.obj) : error LNK2019: unresolved external symbol "bool __cdecl IonRemoteRoot::RegisterAssets(void)" ([email protected]@@YA_NXZ) referenced in function "void __cdecl ion::remote::`anonymous namespace'::RegisterAssetsForRemoteServer(void)" ([email protected][email protected]@[email protected]@YAXXZ)
    ionremote.lib(ionremote.nodegraphhandler.obj) : error LNK2019: unresolved external symbol "void __cdecl IonRemoteNodeGraphRoot::RegisterAssetsOnce(void)" ([email protected]@@YAXXZ) referenced in function "public: __cdecl ion::remote::NodeGraphHandler::NodeGraphHandler(void)" ([email protected]@[email protected]@[email protected])
    ionremote.lib(ionremote.calltracehandler.obj) : error LNK2019: unresolved external symbol "void __cdecl IonRemoteCallTraceRoot::RegisterAssetsOnce(void)" ([email protected]@@YAXXZ) referenced in function "public: __cdecl ion::remote::CallTraceHandler::CallTraceHandler(void)" ([email protected]@[email protected]@[email protected])
    ionremote.lib(ionremote.resourcehandler.obj) : error LNK2019: unresolved external symbol "void __cdecl IonRemoteResourcesRoot::RegisterAssetsOnce(void)" ([email protected]@@YAXXZ) referenced in function "public: __cdecl ion::remote::ResourceHandler::ResourceHandler(class ion::base::SharedPtr<class ion::gfx::Renderer> const &)" ([email protected]@[email protected]@[email protected][email protected]@[email protected]@@@[email protected]@@Z)
    ionremote.lib(ionremote.settinghandler.obj) : error LNK2019: unresolved external symbol "void __cdecl IonRemoteSettingsRoot::RegisterAssetsOnce(void)" ([email protected]@@YAXXZ) referenced in function "public: __cdecl ion::remote::SettingHandler::SettingHandler(void)" ([email protected]@[email protected]@[email protected])
    ionremote.lib(ionremote.shaderhandler.obj) : error LNK2019: unresolved external symbol "void __cdecl IonRemoteShadersRoot::RegisterAssetsOnce(void)" ([email protected]@@YAXXZ) referenced in function "public: __cdecl ion::remote::ShaderHandler::ShaderHandler(class ion::base::SharedPtr<class ion::gfxutils::ShaderManager> const &,class ion::base::SharedPtr<class ion::gfx::Renderer> const &)" ([email protected]@[email protected]@[email protected][email protected]@[email protected]@@@[email protected]@[email protected]@[email protected]@@@[email protected]@Z)
    ionremote.lib(ionremote.tracinghandler.obj) : error LNK2019: unresolved external symbol "void __cdecl IonRemoteTracingRoot::RegisterAssetsOnce(void)" ([email protected]@@YAXXZ) referenced in function "public: __cdecl ion::remote::TracingHandler::TracingHandler(class ion::base::SharedPtr<class ion::gfxutils::Frame> const &,class ion::base::SharedPtr<class ion::gfx::Renderer> const &)" ([email protected]@[email protected]@[email protected][email protected]@[email protected]@@@[email protected]@[email protected]@[email protected]@@@[email protected]@Z)
    ionportgfx.lib(ionportgfx.wglcontext.obj) : error LNK2019: unresolved external symbol __imp_wglCreateContext referenced in function "public: bool __cdecl ion::portgfx::`anonymous namespace'::WglContext::InitOwned(class ion::portgfx::A0xe74b9e20::WglContext const *)" ([email protected]@[email protected]@[email protected]@[email protected]@Z)
    ionportgfx.lib(ionportgfx.wglcontext.obj) : error LNK2019: unresolved external symbol __imp_wglDeleteContext referenced in function "public: virtual __cdecl ion::portgfx::`anonymous namespace'::WglContext::~WglContext(void)" ([email protected][email protected]@[email protected]@[email protected])
    ionportgfx.lib(ionportgfx.wglcontext.obj) : error LNK2019: unresolved external symbol __imp_wglGetCurrentContext referenced in function "public: static unsigned __int64 __cdecl ion::portgfx::GlContext::GetCurrentGlContextId(void)" ([email protected]@[email protected]@@SA_KXZ)
    ionportgfx.lib(ionportgfx.wglcontext.obj) : error LNK2019: unresolved external symbol __imp_wglGetCurrentDC referenced in function "public: bool __cdecl ion::portgfx::`anonymous namespace'::WglContext::InitWrapped(void)" ([email protected]@[email protected]@[email protected]@QEAA_NXZ)
    ionportgfx.lib(ionportgfx.wglcontext.obj) : error LNK2019: unresolved external symbol __imp_wglGetProcAddress referenced in function "private: void * __cdecl ion::portgfx::`anonymous namespace'::WglContext::GetProcAddressImpl(char const *,bool)const " ([email protected]@[email protected]@[email protected]@[email protected])
    ionportgfx.lib(ionportgfx.wglcontext.obj) : error LNK2019: unresolved external symbol __imp_wglMakeCurrent referenced in function "public: virtual void __cdecl ion::portgfx::`anonymous namespace'::WglContext::ClearCurrentContextImpl(void)" ([email protected]@[email protected]@[email protected]@UEAAXXZ)
    ionportgfx.lib(ionportgfx.wglcontext.obj) : error LNK2019: unresolved external symbol __imp_wglShareLists referenced in function "public: bool __cdecl ion::portgfx::`anonymous namespace'::WglContext::InitOwned(class ion::portgfx::A0xe74b9e20::WglContext const *)" ([email protected]@[email protected]@[email protected]@[email protected]@Z)
    ionportgfx.lib(ionportgfx.wglcontext.obj) : error LNK2019: unresolved external symbol __imp_SwapBuffers referenced in function "public: virtual void __cdecl ion::portgfx::`anonymous namespace'::WglContext::SwapBuffers(void)" ([email protected]@[email protected]@[email protected]@UEAAXXZ)
    ionportgfx.lib(ionportgfx.window_win32.obj) : error LNK2019: unresolved external symbol __imp_ChoosePixelFormat referenced in function "public: static class std::unique_ptr<class ion::portgfx::WindowWin32,struct std::default_delete<class ion::portgfx::WindowWin32> > __cdecl ion::portgfx::WindowWin32::Create(int,int,int,int)" ([email protected]@[email protected]@@[email protected]@[email protected]@@[email protected]@[email protected]@@@[email protected]@@[email protected]@[email protected])
    ionportgfx.lib(ionportgfx.window_win32.obj) : error LNK2019: unresolved external symbol __imp_SetPixelFormat referenced in function "public: static class std::unique_ptr<class ion::portgfx::WindowWin32,struct std::default_delete<class ion::portgfx::WindowWin32> > __cdecl ion::portgfx::WindowWin32::Create(int,int,int,int)" ([email protected]@[email protected]@@[email protected]@[email protected]@@[email protected]@[email protected]@@@[email protected]@@[email protected]@[email protected])
    ionportgfx.lib(ionportgfx.window_win32.obj) : error LNK2019: unresolved external symbol __imp_DefWindowProcW referenced in function "public: __cdecl ion::portgfx::`anonymous namespace'::IonWindowClass::IonWindowClass(void)" ([email protected][email protected]@[email protected]@[email protected])
    ionportgfx.lib(ionportgfx.window_win32.obj) : error LNK2019: unresolved external symbol __imp_UnregisterClassA referenced in function "private: virtual __cdecl ion::base::StaticDeleter<class ion::portgfx::`anonymous namespace'::IonWindowClass>::~StaticDeleter<class ion::portgfx::`anonymous namespace'::IonWindowClass>(void)" ([email protected]@[email protected]@[email protected]@@[email protected]@@[email protected])
    ionportgfx.lib(ionportgfx.window_win32.obj) : error LNK2019: unresolved external symbol __imp_RegisterClassExA referenced in function "public: __cdecl ion::portgfx::`anonymous namespace'::IonWindowClass::IonWindowClass(void)" ([email protected][email protected]@[email protected]@[email protected])
    ionportgfx.lib(ionportgfx.window_win32.obj) : error LNK2019: unresolved external symbol __imp_CreateWindowExA referenced in function "public: static class std::unique_ptr<class ion::portgfx::WindowWin32,struct std::default_delete<class ion::portgfx::WindowWin32> > __cdecl ion::portgfx::WindowWin32::Create(int,int,int,int)" ([email protected]@[email protected]@@[email protected]@[email protected]@@[email protected]@[email protected]@@@[email protected]@@[email protected]@[email protected])
    ionportgfx.lib(ionportgfx.window_win32.obj) : error LNK2019: unresolved external symbol __imp_DestroyWindow referenced in function "public: __cdecl std::unique_ptr<class ion::portgfx::WindowWin32,struct std::default_delete<class ion::portgfx::WindowWin32> >::~unique_ptr<class ion::portgfx::WindowWin32,struct std::default_delete<class ion::portgfx::WindowWin32> >(void)" ([email protected]@[email protected]@@[email protected]@[email protected]@@@[email protected]@@[email protected]@[email protected])
    ionportgfx.lib(ionportgfx.window_win32.obj) : error LNK2019: unresolved external symbol __imp_GetDC referenced in function "public: static class std::unique_ptr<class ion::portgfx::WindowWin32,struct std::default_delete<class ion::portgfx::WindowWin32> > __cdecl ion::portgfx::WindowWin32::Create(int,int,int,int)" ([email protected]@[email protected]@@[email protected]@[email protected]@@[email protected]@[email protected]@@@[email protected]@@[email protected]@[email protected])
    ionprofile.lib(ionprofile.calltracemanager.obj) : error LNK2019: unresolved external symbol "void __cdecl ion::analytics::OutputBenchmarkPretty(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool,class ion::analytics::Benchmark const &,class std::basic_ostream<char,struct std::char_traits<char> > &)" ([email protected]@[email protected]@[email protected][email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected][email protected]@[email protected]@@[email protected]@Z) referenced in function "public: virtual __cdecl ion::profile::CallTraceManager::~CallTraceManager(void)" ([email protected]@[email protected]@[email protected])
    

    I suspect this has something to do with zipasset_generator.gypi and the iad files in remote/res not working correctly? (though I'm not getting any errors when compiling ion).

    Is ionremote supposed to work on Windows at all?

    opened by MrMabulous 0
  • Document abandonment and point to alternatives

    Document abandonment and point to alternatives

    @davejrichardson @oon3m0oo I happened across this project just now, and it sounded interesting until I noticed how old & dead it was. Being the contributors, could you take a couple minutes to document the abandoned status of the project and point to any "spiritual" successors, if any?

    opened by bryceschober 0
  • select_build_output_files_for_ion_bazel_platform does not ref OSX outputs path

    select_build_output_files_for_ion_bazel_platform does not ref OSX outputs path

    After successfully building Ion on OSX 10.13.4 the build results are located in gyp-out/mac-ninja; yet the select_build_output_files_for_ion_bazel_platform in ion.bz does not reference this directory. Should it?

    opened by haysclark 0
  • Build failed on Win 10 64bit:  ninja: fatal: CreateProcess: The system cannot find the file specified.

    Build failed on Win 10 64bit: ninja: fatal: CreateProcess: The system cannot find the file specified.

    I'm following this guide to build Ion to use with Seurat: https://github.com/googlevr/seurat/blob/master/BUILDING.md

    Build on Windows: c:\Seurat>git clone https://github.com/google/Ion third_party\ion c:\Seurat>cd third_party\ion c:\Seurat\third_party\ion>git submodule init c:\Seurat\third_party\ion>git submodule update c:\Seurat\third_party\ion>ion\build.bat -c opt_x64

    I'm trying to build on Win 10 64bit but failed at step run build.bat.

    > C:\Users\Ben\Desktop\seurat\third_party\ion
    ion\build.bat -c opt_x64
    
    python.exe -u C:\Users\Ben\Desktop\seurat\third_party\ion\ion\\build.py -c opt_x64
    ERROR: Could not determine what you want to build. Try specifying a gyp file or directory containing one.
    

    Then I tried to cd to seurat\third_party\ion\ion and rerun:

    > C:\Users\Ben\Desktop\seurat\third_party\ion\ion
    build.bat -c opt_x64
    
    python.exe -u C:\Users\Ben\Desktop\seurat\third_party\ion\ion\\build.py
    INFO: Running gyp...
    gyp -D OS=win -D build_py=C:\Users\Ben\Desktop\seurat\third_party\ion\ion\build.py -D flavor= -D gyp_out_os_dir=C:\Users\Ben\Desktop\seurat\third_party\ion\gyp-out\win-ninja -D host_os=win -D python=C:\Python27\python.exe -D target_arch= -D windows_possible_configurations=dbg_x86 Default dbg_x64 opt_x64 opt_x86 prod_x64 prod_x86 -G output_dir=C:\Users\Ben\Desktop\seurat\third_party\ion\gyp-out\win-ninja -G ninja_use_custom_environment_files -f ninja --no-parallel -I C:\Users\Ben\Desktop\seurat\third_party\ion\ion\dev/os.gypi --check --suffix=_win --depth=C:\Users\Ben\Desktop\seurat\third_party\ion --no-duplicate-basename-check C:\Users\Ben\Desktop\seurat\third_party\ion\ion\ion.gyp
    INFO: Building...
    C:\Users\Ben\Desktop\seurat\third_party\ion\third_party/ninja/files/bin\ninja.exe -j 32 -C C:\Users\Ben\Desktop\seurat\third_party\ion\gyp-out\win-ninja\dbg_x86
    ninja: warning: multiple rules generate C:/Users/Ben/Desktop/seurat/third_party/ion/gyp-out/win-ninja/dbg_x86/environment.x86. builds involving this target will not be correct; continuing anyway [-w dupbuild=warn]
    ninja: warning: multiple rules generate C:/Users/Ben/Desktop/seurat/third_party/ion/gyp-out/win-ninja/dbg_x86/environment.x64. builds involving this target will not be correct; continuing anyway [-w dupbuild=warn]
    ninja: Entering directory `C:\Users\Ben\Desktop\seurat\third_party\ion\gyp-out\win-ninja\dbg_x86'
    [1/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-math.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-ot-math.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-math.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-ot-math.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-math.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [2/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-common.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-common.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-common.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-common.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-common.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [3/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-font.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-font.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-font.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-font.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-font.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [4/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-shape-complex-khmer.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-ot-shape-complex-khmer.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-shape-complex-khmer.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-ot-shape-complex-khmer.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-shape-complex-khmer.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [5/942] CXX obj\third_party\icu\icu4c\source\common\ionicu.bmpset.obj
    FAILED: obj/third_party/icu/icu4c/source/common/ionicu.bmpset.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\icu\icu4c\source\common\ionicu.bmpset.obj.rsp /c ..\..\..\third_party\icu\icu4c\source\common\bmpset.cpp /Foobj\third_party\icu\icu4c\source\common\ionicu.bmpset.obj /Fdobj\ion\external\ionicu.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [6/942] CC obj\third_party\freetype2\src\winfonts\ionfreetype2.winfnt.obj
    FAILED: obj/third_party/freetype2/src/winfonts/ionfreetype2.winfnt.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\freetype2\src\winfonts\ionfreetype2.winfnt.obj.rsp /c ..\..\..\third_party\freetype2\src\winfonts\winfnt.c /Foobj\third_party\freetype2\src\winfonts\ionfreetype2.winfnt.obj /Fdobj\ion\external\ionfreetype2.c.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [7/942] CXX obj\third_party\icu\icu4c\source\common\ionicu.brkeng.obj
    FAILED: obj/third_party/icu/icu4c/source/common/ionicu.brkeng.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\icu\icu4c\source\common\ionicu.brkeng.obj.rsp /c ..\..\..\third_party\icu\icu4c\source\common\brkeng.cpp /Foobj\third_party\icu\icu4c\source\common\ionicu.brkeng.obj /Fdobj\ion\external\ionicu.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [8/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-ft.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-ft.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-ft.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-ft.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-ft.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [9/942] CXX obj\third_party\icu\icu4c\source\common\ionicu.appendable.obj
    FAILED: obj/third_party/icu/icu4c/source/common/ionicu.appendable.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\icu\icu4c\source\common\ionicu.appendable.obj.rsp /c ..\..\..\third_party\icu\icu4c\source\common\appendable.cpp /Foobj\third_party\icu\icu4c\source\common\ionicu.appendable.obj /Fdobj\ion\external\ionicu.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [10/942] CXX obj\third_party\icu\icu4c\source\common\ionicu.dictbe.obj
    FAILED: obj/third_party/icu/icu4c/source/common/ionicu.dictbe.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\icu\icu4c\source\common\ionicu.dictbe.obj.rsp /c ..\..\..\third_party\icu\icu4c\source\common\dictbe.cpp /Foobj\third_party\icu\icu4c\source\common\ionicu.dictbe.obj /Fdobj\ion\external\ionicu.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [11/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-blob.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-blob.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-blob.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-blob.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-blob.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [12/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-aat-layout.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-aat-layout.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-aat-layout.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-aat-layout.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-aat-layout.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [13/942] CC obj\third_party\freetype2\src\type1\ionfreetype2.type1.obj
    FAILED: obj/third_party/freetype2/src/type1/ionfreetype2.type1.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\freetype2\src\type1\ionfreetype2.type1.obj.rsp /c ..\..\..\third_party\freetype2\src\type1\type1.c /Foobj\third_party\freetype2\src\type1\ionfreetype2.type1.obj /Fdobj\ion\external\ionfreetype2.c.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [14/942] CC obj\third_party\freetype2\src\type42\ionfreetype2.type42.obj
    FAILED: obj/third_party/freetype2/src/type42/ionfreetype2.type42.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\freetype2\src\type42\ionfreetype2.type42.obj.rsp /c ..\..\..\third_party\freetype2\src\type42\type42.c /Foobj\third_party\freetype2\src\type42\ionfreetype2.type42.obj /Fdobj\ion\external\ionfreetype2.c.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [15/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-icu.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-icu.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-icu.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-icu.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-icu.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [16/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-color.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-ot-color.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-color.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-ot-color.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-color.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [17/942] CC obj\third_party\freetype2\src\base\ionfreetype2.ftsystem.obj
    FAILED: obj/third_party/freetype2/src/base/ionfreetype2.ftsystem.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\freetype2\src\base\ionfreetype2.ftsystem.obj.rsp /c ..\..\..\third_party\freetype2\src\base\ftsystem.c /Foobj\third_party\freetype2\src\base\ionfreetype2.ftsystem.obj /Fdobj\ion\external\ionfreetype2.c.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [18/942] CC obj\third_party\freetype2\src\truetype\ionfreetype2.truetype.obj
    FAILED: obj/third_party/freetype2/src/truetype/ionfreetype2.truetype.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\freetype2\src\truetype\ionfreetype2.truetype.obj.rsp /c ..\..\..\third_party\freetype2\src\truetype\truetype.c /Foobj\third_party\freetype2\src\truetype\ionfreetype2.truetype.obj /Fdobj\ion\external\ionfreetype2.c.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [19/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-buffer.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-buffer.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-buffer.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-buffer.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-buffer.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [20/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-face.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-face.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-face.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-face.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-face.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [21/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-fallback-shape.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-fallback-shape.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-fallback-shape.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-fallback-shape.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-fallback-shape.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [22/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-font.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-ot-font.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-font.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-ot-font.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-font.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [23/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-layout.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-ot-layout.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-layout.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-ot-layout.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-layout.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [24/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-shape-complex-arabic.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-ot-shape-complex-arabic.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-shape-complex-arabic.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-ot-shape-complex-arabic.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-shape-complex-arabic.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [25/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-buffer-serialize.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-buffer-serialize.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-buffer-serialize.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-buffer-serialize.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-buffer-serialize.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [26/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-map.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-ot-map.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-map.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-ot-map.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-map.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [27/942] CXX obj\third_party\icu\icu4c\source\common\ionicu.brkiter.obj
    FAILED: obj/third_party/icu/icu4c/source/common/ionicu.brkiter.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\icu\icu4c\source\common\ionicu.brkiter.obj.rsp /c ..\..\..\third_party\icu\icu4c\source\common\brkiter.cpp /Foobj\third_party\icu\icu4c\source\common\ionicu.brkiter.obj /Fdobj\ion\external\ionicu.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [28/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-shape-complex-use.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-ot-shape-complex-use.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-shape-complex-use.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-ot-shape-complex-use.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-shape-complex-use.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [29/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-shape-normalize.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-ot-shape-normalize.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-shape-normalize.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-ot-shape-normalize.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-shape-normalize.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [30/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-shape-fallback.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-ot-shape-fallback.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-shape-fallback.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-ot-shape-fallback.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-shape-fallback.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [31/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-shape.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-ot-shape.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-shape.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-ot-shape.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-shape.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    [32/942] CXX obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-shape-complex-tibetan.obj
    FAILED: obj/third_party/harfbuzz/src/ionharfbuzz.hb-ot-shape-complex-tibetan.obj
    ninja -t msvc -e environment.x86 -- cl.exe /nologo /showIncludes /FC @obj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-shape-complex-tibetan.obj.rsp /c ..\..\..\third_party\harfbuzz\src\hb-ot-shape-complex-tibetan.cc /Foobj\third_party\harfbuzz\src\ionharfbuzz.hb-ot-shape-complex-tibetan.obj /Fdobj\ion\external\ionharfbuzz.cc.pdb
    ninja: fatal: CreateProcess: The system cannot find the file specified.
    
    
    ninja: build stopped: subcommand failed.
    ERROR: Build failed.
    

    Any help is greatly appreciated!

    opened by Ben-Mack 3
Owner
Google
Google ❤️ Open Source
Google