GithubHelp home page GithubHelp logo

facebookresearch / vrs Goto Github PK

View Code? Open in Web Editor NEW
296.0 23.0 53.0 73.81 MB

VRS is a file format optimized to record & playback streams of sensor data, such as images, audio samples, and any other discrete sensors (IMU, temperature, etc), stored in per-device streams of timestamped records.

Home Page: https://facebookresearch.github.io/vrs/

License: Apache License 2.0

C++ 96.31% C 0.82% CMake 1.98% JavaScript 0.54% CSS 0.14% Dockerfile 0.06% Python 0.14%

vrs's Introduction

What is VRS?

VRS is a file format optimized to record & playback streams of sensor data, such as images, audio samples, and any other discrete sensors (IMU, temperature, etc), stored in per-device streams of time-stamped records.

VRS was first created to record images and sensor data from early prototypes of the Quest device, to develop the device’s positional tracking system now known as Insight, and Quest's hand tracking software. It is also the file format used by the Aria glasses.

Main features

  • VRS files contain multiple streams of time-sorted records generated by a set of sensors(camera, IMU, thermometer, GPS, etc), typically one set of sensors per stream.
  • The file and each stream contain an independent set of tags, which are string name/value pairs that describe them.
  • Streams may contain Configuration, State and Data records, each with a timestamp in a common time domain for the whole file.
    Typically, streams contain with one Configuration and one State record, followed one to millions of Data records.
  • Records are structured as a succession of typed content blocks.
    Typical content blocks are metadata, image, audio and custom content blocks.
  • Metadata content blocks contain raw sensor data described once per stream, making the file format very efficient. The marginal cost of adding 1 byte of data to each metadata content block of a stream is 1 byte per record (or less, when lossless compression happens).
  • Records can be losslessly compressed using lz4 or zstd, which can be fast enough to compress while recording on device.
  • Multiple threads can create records concurrently for the same file, without CPU contention.
  • VRS supports huge file size (tested with multi terabytes use cases).
  • VRS supports chunked files: auto-chunking on creation, automated chunk detection for playback.
  • Playback is optimized for timestamp order, which is key for network streaming.
  • Random-access playback is supported.
  • Custom FileHandler implementations can add support for cloud storage streaming.

Documentation

The VRS documentation explains how VRS works. It is complemented by the API documentation, while the sample code and the sample apps below demonstrate in code how to use the API.

We plan on having a VRS Users group dedicated on discussing VRS usage. Stay tuned for details.

Getting Started

To work with VRS files, the vrs open source project provides a C++ library with external open source dependencies such as boost, fmt, lz4, zstd, xxhash, and googletest for unit tests. To build & run VRS, you’ll need a C++17 compiler, such as a recent enough version of clang or Visual Studio.

The simplest way to build VRS is to install the libraries on your system using some package system, such as Brew on macOS, or apt on Ubuntu, and then use cmake to build & test. VRS supports many other platforms such as Windows, Android, iOS and other flavors of Linux, but we currently only provide instructions for macOS, Ubuntu and Windows. You can also build VRS in a container or isolated environment and avoid installing any library on your system.

Instructions (macOS and Ubuntu and container)

Install build tools & libraries (macOS)

  • install Brew, following the instruction on Brew’s web site.
  • install tools & libraries:
    brew install cmake git ninja ccache boost fmt libpng jpeg-turbo libjpeg-dev lz4 zstd xxhash glog googletest
    brew install qt5 portaudio pybind11
    brew install node doxygen
    

Install build tools & libraries (Ubuntu)

These instructions are validated using Ubuntu 20.04, whereas Ubuntu 18.04 doesn't install recent enough versions of cmake, fmt, lz4, and zstd, and is therefore not supported.

  • install tools & libraries:
    sudo apt-get install cmake git ninja-build ccache libgtest-dev libfmt-dev libturbojpeg-dev libpng-dev
    sudo apt-get install liblz4-dev libzstd-dev libxxhash-dev
    sudo apt-get install libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-date-time-dev
    sudo apt-get install qtbase5-dev portaudio19-dev
    sudo apt-get install npm doxygen
    

Build & run (macOS & Linux)

  • Run cmake:
cmake -S <path_to_vrs_folder> -B <path_to_build_folder> -G Ninja

If you want to build vrsplayer, you need to specify where your installation of Qt is. Where Qt is depends on how you've installed it, using a package manager such as Brew or APT, or downloading it directly from Qt's official website.

To tell cmake where to find Qt, you can either add -DCMAKE_PREFIX_PATH=<path_to_qt> to the cmake command above, or set the environment variable QT_DIR=<path_to_qt> to point to your Qt installation (same path). As a sanity check, you should be able to find the qmake tool at <path_to_qt>/bin/qmake.

Note: We ran into strange build issues when Qt5 and Qt6 were both installed at the same time via Brew on macOS, but uninstalling either fixed the problem.

Qt 5 or Qt 6

At this time, vrsplayer is mostly tested using Qt 5.15.3 LTS, but the code has been updated to build and run with Qt 6.3.0. However, testing with Qt 6 was pretty superficial.

  • Build everything & run tests:
cd <path_to_build_folder>
ninja all
ctest -j8
  • To include VRS in your cmake project:
cd <path_to_build_folder>
ninja install # install VRS on your system as a library cmake can find

In your cmake project (probably one your project's CMakeLists.txt files):

find_package(vrslib REQUIRED) # find the vrs package, break if not found

add_executable(your_app your_app.cpp) # that's your app
target_link_libraries(your_app vrs::vrslib) # so your app can use the vrs includes and libraries

You can then use VRS in your your_app.cpp code:

#include <vrs/RecordFileReader.h>

int main() {
  vrs::RecordFileReader reader;
  if (reader.openFile("myfile.vrs") == 0) {
    do something...
  }
  return 0;
}

Container build & Usage

  • Build VRS in a container and use it on your local data:
cd <path_to_vrs_folder>
podman/docker build . -t vrs
podman/docker run -it --volume <your_local_data>:/data vrs:latest

Build and run using Pixi - macOS/Linux/Windows - experimental

You can build VRS in isolation using pixi on and for your local platform (Linux, macOS Intel/Silicon, Windows with VisualStudio 2019) using the exact same command lines. Pixi is a convenient package and environment manager that simplifies the logic to compile and run projects by defining dependencies and tasks in a single pixi.toml file for all platforms.

  • install pixi following the instructions from its website.
  • compile VRS and run its unit tests (using the defined pixi tasks). Pixi will collect the dependencies for your platform, run cmake, compile and run the unit tests:
    pixi run test
    
  • run the vrs CLI tool in the isolated environment:
    pixi run vrs
    pixi run vrs <i.e. test.vrs> # command line parameters will be forwarded to pixi
    
  • run vrs CLI tool in the manually launch pixi environment:
    pixi shell
    ./build/tools/vrs/vrs
    

Sample Code

  • The sample code demonstrates the basics to record and read a VRS file, then how to work with RecordFormat and DataLayout definitions. The code is extensively documented, functional, compiles but isn’t meant to be run.
  • The sample apps are fully functional apps demonstrate how to create, then read, a VRS file with 3 types of streams.
    • a metadata stream
    • a stream with metadata and uncompressed images
    • a stream with audio images

Tools

The vrs command line tool allows you to inspect and extract data out of VRS files. It can create new VRS files by generating a modified copy of an original recording. It can also extract images, dump metadata for human or computer consumption (json). The vrs command line tool can be found in the cmake build folder at oss/tools/vrs/vrs. It has many options, documented here.

vrsplayer is a GUI tool which can "play" VRS files as multi-stream video files and audio files. It also provides ways to visualize record's metadata as they are played. It can be found in the cmake build folder at oss/tools/vrsplayer/vrsplayer. For more information, see the vrsplayer documentation.

Python interface

pyvrs is a python interface for VRS library. You can install it via pip

pip install vrs

Contributing

We welcome contributions! See CONTRIBUTING for details on how to get started, and our code of conduct.

License

VRS is released under the Apache 2.0 license.

vrsplayer requires an installation of Qt 5.15+ or Qt 6.3+ on your system, maybe using Brew (macOS) or APT (Linux), as demonstrated above, or using an official distribution from Qt's official website. If found, vrsplayer will be built and will link dynamically against the LGPL v3 Qt libraries at runtime.

We provide no pre-built binaries, so you must build vrsplayer from source to use it.

vrs's People

Contributors

georges-berenger avatar kiminoue7 avatar seaotocinclus avatar r-barnes avatar antonk52 avatar facebook-github-bot avatar h-friederich avatar jknoxville avatar dependabot[bot] avatar vsevolodshorinatmeta avatar vitaut avatar fskarakas avatar scramsby avatar kruton avatar jurajh-fb avatar puturelu avatar roach-meta avatar 4refr0nt avatar steveonorato avatar pieterv avatar leapally avatar nickcharron avatar maxouellet avatar luciang avatar kiran1228 avatar splhack avatar johnhenning avatar jaisanliang avatar jakebolam avatar geof23 avatar

Stargazers

 avatar  avatar MilkClouds avatar  avatar zzh avatar Allen Guo avatar Vladislav Sorokin avatar  avatar Suren Atoyan avatar Matthew avatar Catalina avatar Yuhei avatar Stefan Otte avatar james avatar Devendra Tewari avatar Alan Szmyt avatar zhihanjiang avatar Kyunghoon Kim avatar Simon avatar Christen Millerdurai avatar  avatar Henrik Westphal avatar Rajkumar CV avatar Tom Fleet avatar  avatar Lihao Ye avatar Christian Frisson avatar arbenede avatar Shabbir Hasan avatar  avatar Michael Schock avatar Martin Salo avatar Than Lwin Aung avatar Alpri Else avatar Ajinkya Puar avatar  avatar Alex Wu avatar  avatar Thibault LAURIANO avatar Justin Townsend avatar Zijun Xu avatar EreQ avatar Kyle Wascher avatar Silvio Traversaro avatar Sivan Ding avatar Mike avatar  avatar  avatar maky avatar  avatar Realcat avatar FeiXue avatar Ninon Lizé Masclef avatar Chengbo Zheng avatar  avatar  avatar yangchao avatar Földi Tamás avatar  avatar Stan Soo avatar Shaminuzzaman Bhuiyan avatar  avatar Chris Kuethe avatar Chao Qu avatar Vivek Bagaria avatar ROMEL G MANZANO avatar Nathan avatar dadalala avatar Maximilian Olschewski avatar Rasul Karimov avatar Sai Marpaka avatar FredericBRHong avatar Daniel Waldow avatar ❌Em Dawg❌ avatar zuble avatar Yongseung avatar Anton Lammert avatar Hertz avatar KZ avatar AJAY SAHU avatar  avatar Jeff Carpenter avatar Hyung-il Kim avatar Lahav Lipson avatar Mosam avatar Chelsea Kay avatar Mohan Kumar S avatar  avatar  avatar Boris Bogaerts avatar  avatar  avatar Matthew Ormson avatar  avatar Stephen Karl Larroque avatar David Dias avatar Chandler avatar Summy avatar Joya Chen avatar Yuan-Man avatar

Watchers

 avatar SANKAR N avatar Mike avatar  avatar Romain Janvier avatar Julian Straub avatar  avatar  avatar Cami Williams avatar Zijian Wang avatar Andre Nguyen avatar Jonathan Huber avatar Kiran Somasundaram avatar Kairsten Fay avatar  avatar Giseop Kim avatar  avatar Arun Sathiya avatar  avatar  avatar  avatar  avatar  avatar

vrs's Issues

Amendments to README.md.


🚀 Feature

After our tests,only in ubuntu 20.04 and later to compile the code correctly. So we recommend adding a minimum system version support in REAME.md.

Motivation & Examples

Since many people have a system version of 18.04, specifying the minimum system version will save a lot of time!!!

ZSTD_c_compressionLevel’ was not declared

Instructions To Reproduce the 🐛 Bug:

I'm trying to compile this on colab and here is the error I got

  1. Full runnable code or full changes you made:

No change

  1. What exact command you run:
!mkdir /content/vrs/build
!cmake -S /content/vrs -B /content/vrs/build '-GCodeBlocks - Ninja'
!cd /content/vrs/build; ninja all; ninja install
  1. Full logs or other relevant observations:
...
/content/vrs/vrs/Compressor.cpp:176:46: error: ‘ZSTD_c_compressionLevel’ was not declared in this scope
         ZSTD_CCtx_setParameter(zstdContext_, ZSTD_c_compressionLevel, compressionLevel));
                                                                        ^
  1. please simplify the steps as much as possible so they do not require
    additional resources to run, such as a private dataset.

Expected behavior:

No error

Issue with rapidjson when building

Hi, really nice library! ☄️

When building the project I got the following error from cmake:

fatal: could not create work tree dir '/rapidjson': Read-only file system
/usr/bin/cd: line 4: cd: /rapidjson: No such file or directory
CMake Error at /usr/local/lib/cmake/vrslib/cmake/FindRapidjsonLib.cmake:33 (message):
  Could not setup rapidjson external dependency at /rapidjson
Call Stack (most recent call first):
  /usr/local/lib/cmake/vrslib/cmake/LibrariesSetup.cmake:29 (find_package)
  /usr/local/lib/cmake/vrslib/vrslibConfig.cmake:45 (include)
  /Users/x/.../CMakeLists.txt:20 (find_package)

After reading a bit of the cmake code and the python library I realized what was missing is the following line:

set(EXTERNAL_DEPENDENCIES_DIR "${CMAKE_BINARY_DIR}/external")

It looks like it is either something specific to my environment (MacOS) or something missing from the docs. Also currently the make files triggers a git clone on clean build, it'd be nice if that could be changed as it slows down builds and adds a networking dependency 🙏

setGlobalLogLevel does not work

When setting in the main function arvr::logging::setGloablLogLevel(arvr::logging::level::Info), the output is unchanged where all level of log withXR_LOG is outputing information. Ideally, setting different log levels should be able to filter out certain levels.

Is there any way to replace video stream in a vrs file?

Hi, thank you for the amazing work. We want to mosaic the people's face in the video stream of a vrs, but we can only find the way to extract image from a vrs file rather than write to it.

Could you provide some guidelines to achieve it? Many thanks.

How is the audio recording stored?

Hi folks,

Amazing work here. But I have trouble reading the microphone recordings. So I can get the audio data by using readDataRecordByTime(mic_stream_id, timestamp), and got a matrix with dimensions (number of timestamps) X 28672. I know there are 7 microphones, and I assume the recordings from the 7 channels are stored like (mic0, mic1,...mic6) sample-wise, but I also observe the class is called stereoaudiorecordable class, and there seem to be repetitions of the same sound block, and they are 4096 samples apart. After taking every other block of 4096 samples, the one-mic recording still sounds weird. I used the everyday activity file in the sample dataset. How can I correctly extract data from each microphone? Thank you very much!

Update: I got most of it, but have one question: is the cutoff time 0.65?
I used the time stamps provided in the CSV file "timestamp_map" which I think is not for microphones. 4096 samples equal to 85333 ms, while the interval between neighboring timestamps is 33333.3 ms which is shorter than 85333. That's why I am seeing repeating blocks of 28672 samples either every two or three blocks. I plotted many and found a pattern that retrieved the Nth recording if the fraction of the time difference (timestamp[i] - timestamp[0])*1e-3/(4096/fs)/1e6 is less than 0.65 (the integer of the time difference is N), or it'll be (N+1)th. This assigns an index for each block read from the time stamps, so I can only choose the unique ones. I got a decent recording that sounds like normal speech. Just want to double-check, is the cutoff fraction 0.65 correct? Or is it some other number?

Thank you. Much appreciate any response from your team!

Unable to build VRS on my Mac

Instructions To Reproduce the 🐛 Bug:

  1. Full runnable code or full changes you made:
    None

  2. What exact command you run:

brew install cmake ninja ccache boost fmt cereal libpng jpeg lz4 zstd xxhash googletest
brew install node doxygen
cmake -S vrs -B vrs_build  '-GCodeBlocks - Ninja'
cd vrs_build
ninja all
  1. Full logs or other relevant observations:
-- The CXX compiler identification is AppleClang 13.1.6.13160021
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- CMAKE_CXX_COMPILER: /Library/Developer/CommandLineTools/usr/bin/c++
-- CMAKE_CXX_COMPILER_VERSION: 13.1.6.13160021
-- CCACHE enabled
-- Found Boost: /Users/mathiasl/.brew/lib/cmake/Boost-1.78.0/BoostConfig.cmake (found version "1.78.0") found components: filesystem chrono date_time system thread
-- Found Fmt: /Users/mathiasl/.brew/lib/libfmt.dylib
-- Found Cereal: /Users/mathiasl/.brew/include
-- Found Lz4: /Users/mathiasl/.brew/lib/liblz4.dylib
-- Found Zstd: /Users/mathiasl/.brew/lib/libzstd.dylib
-- Found xxHash: /Users/mathiasl/.brew/lib/libxxhash.dylib
-- Found Png: /Users/mathiasl/.brew/lib/libpng.dylib
-- Found Jpeg: /Users/mathiasl/.brew/lib/libjpeg.dylib
-- Found GTest: /Users/mathiasl/.brew/anaconda3/lib/cmake/GTest/GTestConfig.cmake (found version "1.10.0")
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/mathiasl/Projects/cvpr_release_data/src/vrs_build
(base) mathiasl-mbp:src mathiasl$ cd vrs_build/
(base) mathiasl-mbp:vrs_build mathiasl$ ninja all
[48/132] Linking CXX executable vrs/helpers/test_vrs_helpers
FAILED: vrs/helpers/test_vrs_helpers vrs/helpers/test_vrs_helpers[1]_tests.cmake /Users/mathiasl/Projects/cvpr_release_data/src/vrs_build/vrs/helpers/test_vrs_helpers[1]_tests.cmake
: && /Users/mathiasl/.brew/bin/ccache /Library/Developer/CommandLineTools/usr/bin/c++ -O3 -DNDEBUG -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names  vrs/helpers/CMakeFiles/test_vrs_helpers.dir/test/StringsTest.cpp.o -o vrs/helpers/test_vrs_helpers  vrs/helpers/libvrs_helpers.a  vrs/os/libvrs_os.a  vrs/oss/logging/libvrs_logging.a  /Users/mathiasl/.brew/lib/libfmt.dylib  /Users/mathiasl/.brew/lib/libboost_system-mt.dylib  /Users/mathiasl/.brew/lib/libboost_filesystem-mt.dylib  /Users/mathiasl/.brew/lib/libboost_atomic-mt.dylib  /Users/mathiasl/.brew/lib/libboost_thread-mt.dylib  /Users/mathiasl/.brew/lib/libboost_chrono-mt.dylib  /Users/mathiasl/.brew/lib/libboost_date_time-mt.dylib  /Users/mathiasl/.brew/anaconda3/lib/libgtest_main.1.10.0.dylib  /Users/mathiasl/.brew/anaconda3/lib/libgtest.1.10.0.dylib && cd /Users/mathiasl/Projects/cvpr_release_data/src/vrs_build/vrs/helpers && /Users/mathiasl/.brew/Cellar/cmake/3.23.1_1/bin/cmake -D TEST_TARGET=test_vrs_helpers -D TEST_EXECUTABLE=/Users/mathiasl/Projects/cvpr_release_data/src/vrs_build/vrs/helpers/test_vrs_helpers -D TEST_EXECUTOR= -D TEST_WORKING_DIR=/Users/mathiasl/Projects/cvpr_release_data/src/vrs_build/vrs/helpers -D TEST_EXTRA_ARGS= -D TEST_PROPERTIES= -D TEST_PREFIX= -D TEST_SUFFIX= -D TEST_FILTER= -D NO_PRETTY_TYPES=FALSE -D NO_PRETTY_VALUES=FALSE -D TEST_LIST=test_vrs_helpers_TESTS -D CTEST_FILE=/Users/mathiasl/Projects/cvpr_release_data/src/vrs_build/vrs/helpers/test_vrs_helpers[1]_tests.cmake -D TEST_DISCOVERY_TIMEOUT=5 -D TEST_XML_OUTPUT_DIR= -P /Users/mathiasl/.brew/Cellar/cmake/3.23.1_1/share/cmake/Modules/GoogleTestAddTests.cmake
Undefined symbols for architecture x86_64:
  "typeinfo for testing::Test", referenced from:
      typeinfo for StringsHelpersTester in StringsTest.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
[55/132] Building CXX object vrs/utils/CMakeFiles/test_vrs_utils.dir/test/FilteredFileReaderTest.cpp.o
FAILED: vrs/utils/CMakeFiles/test_vrs_utils.dir/test/FilteredFileReaderTest.cpp.o
/Users/mathiasl/.brew/bin/ccache /Library/Developer/CommandLineTools/usr/bin/c++ -DGTEST_LINKED_AS_SHARED_LIBRARY=1 -DOSS_BUILD_MODE -I/Users/mathiasl/Projects/cvpr_release_data/src/vrs -I/Users/mathiasl/Projects/cvpr_release_data/src/vrs/vrs/oss -isystem /Users/mathiasl/.brew/anaconda3/include -O3 -DNDEBUG -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk -std=c++17 -MD -MT vrs/utils/CMakeFiles/test_vrs_utils.dir/test/FilteredFileReaderTest.cpp.o -MF vrs/utils/CMakeFiles/test_vrs_utils.dir/test/FilteredFileReaderTest.cpp.o.d -o vrs/utils/CMakeFiles/test_vrs_utils.dir/test/FilteredFileReaderTest.cpp.o -c /Users/mathiasl/Projects/cvpr_release_data/src/vrs/vrs/utils/test/FilteredFileReaderTest.cpp
In file included from /Users/mathiasl/Projects/cvpr_release_data/src/vrs/vrs/utils/test/FilteredFileReaderTest.cpp:25:
In file included from /Users/mathiasl/Projects/cvpr_release_data/src/vrs/vrs/utils/FilteredFileReader.h:27:
In file included from /Users/mathiasl/Projects/cvpr_release_data/src/vrs/vrs/RecordFileReader.h:33:
In file included from /Users/mathiasl/Projects/cvpr_release_data/src/vrs/vrs/RecordReaders.h:21:
/Users/mathiasl/Projects/cvpr_release_data/src/vrs/vrs/ErrorCode.h:22:10: fatal error: 'fmt/format.h' file not found
#include <fmt/format.h>
         ^~~~~~~~~~~~~~
1 error generated.
[58/132] Building CXX object vrs/utils/CMakeFiles/test_vrs_utils.dir/test/PixelFrameTest.cpp.o
FAILED: vrs/utils/CMakeFiles/test_vrs_utils.dir/test/PixelFrameTest.cpp.o
/Users/mathiasl/.brew/bin/ccache /Library/Developer/CommandLineTools/usr/bin/c++ -DGTEST_LINKED_AS_SHARED_LIBRARY=1 -DOSS_BUILD_MODE -I/Users/mathiasl/Projects/cvpr_release_data/src/vrs -I/Users/mathiasl/Projects/cvpr_release_data/src/vrs/vrs/oss -isystem /Users/mathiasl/.brew/anaconda3/include -O3 -DNDEBUG -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk -std=c++17 -MD -MT vrs/utils/CMakeFiles/test_vrs_utils.dir/test/PixelFrameTest.cpp.o -MF vrs/utils/CMakeFiles/test_vrs_utils.dir/test/PixelFrameTest.cpp.o.d -o vrs/utils/CMakeFiles/test_vrs_utils.dir/test/PixelFrameTest.cpp.o -c /Users/mathiasl/Projects/cvpr_release_data/src/vrs/vrs/utils/test/PixelFrameTest.cpp
In file included from /Users/mathiasl/Projects/cvpr_release_data/src/vrs/vrs/utils/test/PixelFrameTest.cpp:24:
In file included from /Users/mathiasl/Projects/cvpr_release_data/src/vrs/vrs/RecordFileReader.h:33:
In file included from /Users/mathiasl/Projects/cvpr_release_data/src/vrs/vrs/RecordReaders.h:21:
/Users/mathiasl/Projects/cvpr_release_data/src/vrs/vrs/ErrorCode.h:22:10: fatal error: 'fmt/format.h' file not found
#include <fmt/format.h>
         ^~~~~~~~~~~~~~
1 error generated.
[65/132] Building CXX object vrs/CMakeFiles/vrslib.dir/DataLayout.cpp.o
ninja: build stopped: subcommand failed.

Build error on macOS 12.6 using Podman 4.2.1

While building Aria Data Tools on macOS 12.6 using Podman 4.2.1 using this command:

podman build . --network=host -t aria_data_tools
I encounter this build error with VRS:
Cloning into 'vrs'...
HEAD is now at afa85d1 Fix unit test memory leak
-- The CXX compiler identification is GNU 9.4.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- CMAKE_CXX_COMPILER: /usr/bin/c++
-- CMAKE_CXX_COMPILER_VERSION: 9.4.0
-- Found Boost: /usr/lib/aarch64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found version "1.71.0") found components: filesystem chrono date_time system thread 
-- Found Lz4: /usr/lib/aarch64-linux-gnu/liblz4.so  
-- Found Zstd: /usr/lib/aarch64-linux-gnu/libzstd.so  
-- Found xxHash: /usr/lib/aarch64-linux-gnu/libxxhash.so  
-- Found ZLIB: /usr/lib/aarch64-linux-gnu/libz.so (found version "1.2.11") 
-- Found PNG: /usr/lib/aarch64-linux-gnu/libpng.so (found version "1.6.37") 
-- Found JPEG: /usr/lib/aarch64-linux-gnu/libjpeg.so (found version "80") 
-- Found TurboJpeg: /usr/lib/aarch64-linux-gnu/libturbojpeg.so  
-- Found GTest: /usr/lib/aarch64-linux-gnu/libgtest.a  
-- Could NOT find QT (missing: QT_DIR)
CMake Warning at tools/vrsplayer/CMakeLists.txt:50 (message):
  Qt5 or Qt6 were not found, so vrsplayer will not be included.


-- /tmp/vrs/pyvrs/vrs_bindings/Pybind11.cpp;/tmp/vrs/pyvrs/vrs_bindings/VrsBindings.cpp;/tmp/vrs/pyvrs/vrs_bindings/VrsBindings.h;/tmp/vrs/pyvrs/vrs_bindings/reader/AsyncVRSReader.cpp;/tmp/vrs/pyvrs/vrs_bindings/reader/AsyncVRSReader.h;/tmp/vrs/pyvrs/vrs_bindings/reader/FactoryHelper.hpp;/tmp/vrs/pyvrs/vrs_bindings/reader/FilteredFileReader.cpp;/tmp/vrs/pyvrs/vrs_bindings/reader/FilteredFileReader.h;/tmp/vrs/pyvrs/vrs_bindings/reader/MultiVRSReader.cpp;/tmp/vrs/pyvrs/vrs_bindings/reader/MultiVRSReader.h;/tmp/vrs/pyvrs/vrs_bindings/reader/Reader.cpp;/tmp/vrs/pyvrs/vrs_bindings/reader/Reader.h;/tmp/vrs/pyvrs/vrs_bindings/reader/VRSReader.cpp;/tmp/vrs/pyvrs/vrs_bindings/reader/VRSReader.h;/tmp/vrs/pyvrs/vrs_bindings/utils/PyBuffer.cpp;/tmp/vrs/pyvrs/vrs_bindings/utils/PyBuffer.h;/tmp/vrs/pyvrs/vrs_bindings/utils/PyExceptions.cpp;/tmp/vrs/pyvrs/vrs_bindings/utils/PyExceptions.h;/tmp/vrs/pyvrs/vrs_bindings/utils/PyRecord.cpp;/tmp/vrs/pyvrs/vrs_bindings/utils/PyRecord.h;/tmp/vrs/pyvrs/vrs_bindings/utils/PyUtils.cpp;/tmp/vrs/pyvrs/vrs_bindings/utils/PyUtils.h;/tmp/vrs/pyvrs/vrs_bindings/utils/Utils.cpp;/tmp/vrs/pyvrs/vrs_bindings/utils/Utils.h
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.8.10", minimum required is "3.6") 
-- Found PythonLibs: /usr/lib/aarch64-linux-gnu/libpython3.8.so
-- Performing Test HAS_FLTO
-- Performing Test HAS_FLTO - Success
-- Found pybind11: /usr/local/include (found version "2.10.0")
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/vrs_Build
Scanning dependencies of target vrs_logging
[  0%] Building CXX object vrs/oss/logging/CMakeFiles/vrs_logging.dir/Checks.cpp.o
[  1%] Building CXX object vrs/oss/logging/CMakeFiles/vrs_logging.dir/Log.cpp.o
[  2%] Linking CXX static library libvrs_logging.a
[  2%] Built target vrs_logging
Scanning dependencies of target vrs_utils_xxhash
[  3%] Building CXX object vrs/utils/xxhash/CMakeFiles/vrs_utils_xxhash.dir/xxhash.cpp.o
[  3%] Linking CXX static library libvrs_utils_xxhash.a
[  3%] Built target vrs_utils_xxhash
Scanning dependencies of target vrs_os
[  3%] Building CXX object vrs/os/CMakeFiles/vrs_os.dir/Event.cpp.o
[  4%] Building CXX object vrs/os/CMakeFiles/vrs_os.dir/Semaphore.cpp.o
[  5%] Building CXX object vrs/os/CMakeFiles/vrs_os.dir/System.cpp.o
[  5%] Building CXX object vrs/os/CMakeFiles/vrs_os.dir/Time.cpp.o
[  6%] Building CXX object vrs/os/CMakeFiles/vrs_os.dir/Utils.cpp.o
[  7%] Linking CXX static library libvrs_os.a
[  7%] Built target vrs_os
Scanning dependencies of target vrs_helpers
[  7%] Building CXX object vrs/helpers/CMakeFiles/vrs_helpers.dir/MemBuffer.cpp.o
[  8%] Building CXX object vrs/helpers/CMakeFiles/vrs_helpers.dir/Strings.cpp.o
/tmp/vrs/vrs/helpers/Strings.cpp: In function 'std::string vrs::helpers::humanReadableTimestamp(double, uint8_t)':
/tmp/vrs/vrs/helpers/Strings.cpp:177:1: warning: control reaches end of non-void function [-Wreturn-type]
  177 | }
      | ^
[  9%] Linking CXX static library libvrs_helpers.a
[  9%] Built target vrs_helpers
Scanning dependencies of target vrslib
[ 10%] Building CXX object vrs/CMakeFiles/vrslib.dir/Compressor.cpp.o
[ 10%] Building CXX object vrs/CMakeFiles/vrslib.dir/ContentBlockReader.cpp.o
[ 11%] Building CXX object vrs/CMakeFiles/vrslib.dir/DataLayout.cpp.o
[ 12%] Building CXX object vrs/CMakeFiles/vrslib.dir/DataLayoutConventions.cpp.o
[ 12%] Building CXX object vrs/CMakeFiles/vrslib.dir/DataReference.cpp.o
[ 13%] Building CXX object vrs/CMakeFiles/vrslib.dir/DataSource.cpp.o
[ 14%] Building CXX object vrs/CMakeFiles/vrslib.dir/Decompressor.cpp.o
[ 14%] Building CXX object vrs/CMakeFiles/vrslib.dir/DescriptionRecord.cpp.o
[ 15%] Building CXX object vrs/CMakeFiles/vrslib.dir/DiskFile.cpp.o
[ 16%] Building CXX object vrs/CMakeFiles/vrslib.dir/ErrorCode.cpp.o
[ 16%] Building CXX object vrs/CMakeFiles/vrslib.dir/FileCache.cpp.o
[ 17%] Building CXX object vrs/CMakeFiles/vrslib.dir/FileDetailsCache.cpp.o
[ 18%] Building CXX object vrs/CMakeFiles/vrslib.dir/FileFormat.cpp.o
[ 18%] Building CXX object vrs/CMakeFiles/vrslib.dir/FileHandler.cpp.o
[ 19%] Building CXX object vrs/CMakeFiles/vrslib.dir/FileHandlerFactory.cpp.o
[ 20%] Building CXX object vrs/CMakeFiles/vrslib.dir/IndexRecord.cpp.o
[ 20%] Building CXX object vrs/CMakeFiles/vrslib.dir/LegacyFormatsProvider.cpp.o
[ 21%] Building CXX object vrs/CMakeFiles/vrslib.dir/MultiRecordFileReader.cpp.o
[ 22%] Building CXX object vrs/CMakeFiles/vrslib.dir/ProgressLogger.cpp.o
[ 22%] Building CXX object vrs/CMakeFiles/vrslib.dir/Record.cpp.o
[ 23%] Building CXX object vrs/CMakeFiles/vrslib.dir/RecordFileReader.cpp.o
[ 24%] Building CXX object vrs/CMakeFiles/vrslib.dir/RecordFileWriter.cpp.o
[ 24%] Building CXX object vrs/CMakeFiles/vrslib.dir/RecordFormat.cpp.o
[ 25%] Building CXX object vrs/CMakeFiles/vrslib.dir/RecordFormatStreamPlayer.cpp.o
[ 26%] Building CXX object vrs/CMakeFiles/vrslib.dir/RecordManager.cpp.o
[ 26%] Building CXX object vrs/CMakeFiles/vrslib.dir/RecordReaders.cpp.o
[ 27%] Building CXX object vrs/CMakeFiles/vrslib.dir/Recordable.cpp.o
[ 28%] Building CXX object vrs/CMakeFiles/vrslib.dir/StreamId.cpp.o
[ 28%] Building CXX object vrs/CMakeFiles/vrslib.dir/TagConventions.cpp.o
[ 29%] Building CXX object vrs/CMakeFiles/vrslib.dir/TagsRecord.cpp.o
[ 30%] Building CXX object vrs/CMakeFiles/vrslib.dir/TelemetryLogger.cpp.o
[ 31%] Linking CXX static library libvrslib.a
[ 31%] Built target vrslib
Scanning dependencies of target test_vrs_helpers
[ 32%] Building CXX object vrs/helpers/CMakeFiles/test_vrs_helpers.dir/test/StringsTest.cpp.o
[ 33%] Linking CXX executable test_vrs_helpers
[ 33%] Built target test_vrs_helpers
Scanning dependencies of target vrs_oss_testdatadir
[ 33%] Building CXX object vrs/oss/TestDataDir/CMakeFiles/vrs_oss_testdatadir.dir/TestDataDir.cpp.o
[ 34%] Linking CXX static library libvrs_oss_testdatadir.a
[ 34%] Built target vrs_oss_testdatadir
Scanning dependencies of target test_vrs_os
[ 34%] Building CXX object vrs/os/CMakeFiles/test_vrs_os.dir/test/TimeTest.cpp.o
[ 35%] Building CXX object vrs/os/CMakeFiles/test_vrs_os.dir/test/EventUnitTest.cpp.o
[ 36%] Building CXX object vrs/os/CMakeFiles/test_vrs_os.dir/test/UtilsTest.cpp.o
[ 36%] Linking CXX executable test_vrs_os
[ 36%] Built target test_vrs_os
Scanning dependencies of target vrs_utils_converters
[ 36%] Building CXX object vrs/utils/converters/CMakeFiles/vrs_utils_converters.dir/Raw10ToGrey10Converter.cpp.o
/tmp/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp: In function 'void vrs::utils::{anonymous}::convertVectorized(uint16_t*, const uint8_t*, size_t, size_t, size_t, bool)':
/tmp/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:68:53: note: use '-flax-vector-conversions' to permit conversions between vectors with differing element types or numbers of subparts
   68 |       const uint8x16_t r = vqtbl1q_s8(encoded, rshuf);
      |                                                     ^
/tmp/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:68:39: error: cannot convert 'const uint8x16_t' {aka 'const __vector(16) unsigned char'} to 'int8x16_t' {aka '__vector(16) signed char'}
   68 |       const uint8x16_t r = vqtbl1q_s8(encoded, rshuf);
      |                                       ^~~~~~~
      |                                       |
      |                                       const uint8x16_t {aka const __vector(16) unsigned char}
In file included from /tmp/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:20:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_neon.h:11389:23: note:   initializing argument 1 of 'int8x16_t vqtbl1q_s8(int8x16_t, uint8x16_t)'
11389 | vqtbl1q_s8 (int8x16_t a, uint8x16_t b)
      |             ~~~~~~~~~~^
/tmp/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:69:41: error: cannot convert 'const uint8x16_t' {aka 'const __vector(16) unsigned char'} to 'int8x16_t' {aka '__vector(16) signed char'}
   69 |       const uint8x16_t mIn = vqtbl1q_s8(encoded, pshuf);
      |                                         ^~~~~~~
      |                                         |
      |                                         const uint8x16_t {aka const __vector(16) unsigned char}
In file included from /tmp/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:20:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_neon.h:11389:23: note:   initializing argument 1 of 'int8x16_t vqtbl1q_s8(int8x16_t, uint8x16_t)'
11389 | vqtbl1q_s8 (int8x16_t a, uint8x16_t b)
      |             ~~~~~~~~~~^
/tmp/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:70:39: error: cannot convert 'const uint8x16_t' {aka 'const __vector(16) unsigned char'} to 'uint16x8_t' {aka '__vector(8) short unsigned int'}
   70 |       const auto pixels = vshlq_n_u16(mIn, 2);
      |                                       ^~~
      |                                       |
      |                                       const uint8x16_t {aka const __vector(16) unsigned char}
In file included from /tmp/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:20:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_neon.h:26976:25: note:   initializing argument 1 of 'uint16x8_t vshlq_n_u16(uint16x8_t, int)'
26976 | vshlq_n_u16 (uint16x8_t __a, const int __b)
      |              ~~~~~~~~~~~^~~
/tmp/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:71:47: error: cannot convert 'const uint8x16_t' {aka 'const __vector(16) unsigned char'} to 'uint16x8_t' {aka '__vector(8) short unsigned int'}
   71 |       const auto fracts = vshlq_u16(vandq_u16(r, mask), rsh);
      |                                               ^
      |                                               |
      |                                               const uint8x16_t {aka const __vector(16) unsigned char}
In file included from /tmp/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:20:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_neon.h:1586:23: note:   initializing argument 1 of 'uint16x8_t vandq_u16(uint16x8_t, uint16x8_t)'
 1586 | vandq_u16 (uint16x8_t __a, uint16x8_t __b)
      |            ~~~~~~~~~~~^~~
/tmp/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:86:41: error: cannot convert 'const uint8x16_t' {aka 'const __vector(16) unsigned char'} to 'int8x16_t' {aka '__vector(16) signed char'}
   86 |         const uint8x16_t r = vqtbl1q_s8(encoded, rshuf);
      |                                         ^~~~~~~
      |                                         |
      |                                         const uint8x16_t {aka const __vector(16) unsigned char}
In file included from /tmp/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:20:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_neon.h:11389:23: note:   initializing argument 1 of 'int8x16_t vqtbl1q_s8(int8x16_t, uint8x16_t)'
11389 | vqtbl1q_s8 (int8x16_t a, uint8x16_t b)
      |             ~~~~~~~~~~^
/tmp/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:87:43: error: cannot convert 'const uint8x16_t' {aka 'const __vector(16) unsigned char'} to 'int8x16_t' {aka '__vector(16) signed char'}
   87 |         const uint8x16_t mIn = vqtbl1q_s8(encoded, pshuf);
      |                                           ^~~~~~~
      |                                           |
      |                                           const uint8x16_t {aka const __vector(16) unsigned char}
In file included from /tmp/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:20:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_neon.h:11389:23: note:   initializing argument 1 of 'int8x16_t vqtbl1q_s8(int8x16_t, uint8x16_t)'
11389 | vqtbl1q_s8 (int8x16_t a, uint8x16_t b)
      |             ~~~~~~~~~~^
/tmp/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:88:41: error: cannot convert 'const uint8x16_t' {aka 'const __vector(16) unsigned char'} to 'uint16x8_t' {aka '__vector(8) short unsigned int'}
   88 |         const auto pixels = vshlq_n_u16(mIn, 2);
      |                                         ^~~
      |                                         |
      |                                         const uint8x16_t {aka const __vector(16) unsigned char}
In file included from /tmp/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:20:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_neon.h:26976:25: note:   initializing argument 1 of 'uint16x8_t vshlq_n_u16(uint16x8_t, int)'
26976 | vshlq_n_u16 (uint16x8_t __a, const int __b)
      |              ~~~~~~~~~~~^~~
/tmp/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:89:49: error: cannot convert 'const uint8x16_t' {aka 'const __vector(16) unsigned char'} to 'uint16x8_t' {aka '__vector(8) short unsigned int'}
   89 |         const auto fracts = vshlq_u16(vandq_u16(r, mask), rsh);
      |                                                 ^
      |                                                 |
      |                                                 const uint8x16_t {aka const __vector(16) unsigned char}
In file included from /tmp/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:20:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_neon.h:1586:23: note:   initializing argument 1 of 'uint16x8_t vandq_u16(uint16x8_t, uint16x8_t)'
 1586 | vandq_u16 (uint16x8_t __a, uint16x8_t __b)
      |            ~~~~~~~~~~~^~~
make[2]: *** [vrs/utils/converters/CMakeFiles/vrs_utils_converters.dir/build.make:63: vrs/utils/converters/CMakeFiles/vrs_utils_converters.dir/Raw10ToGrey10Converter.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:762: vrs/utils/converters/CMakeFiles/vrs_utils_converters.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
--> 3bc7963150d
STEP 6/9: RUN mkdir /opt/aria_data_tools_Build; cd /opt/aria_data_tools_Build; cmake -DCMAKE_BUILD_TYPE=RELEASE /opt/aria_data_tools/src;
-- The CXX compiler identification is GNU 9.4.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:31 (find_package):
  By not providing "Findvrslib.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "vrslib", but
  CMake did not find one.

  Could not find a package configuration file provided by "vrslib" with any
  of the following names:

    vrslibConfig.cmake
    vrslib-config.cmake

  Add the installation prefix of "vrslib" to CMAKE_PREFIX_PATH or set
  "vrslib_DIR" to a directory containing one of the above files.  If "vrslib"
  provides a separate development package or SDK, be sure it has been
  installed.


-- Configuring incomplete, errors occurred!
See also "/opt/aria_data_tools_Build/CMakeFiles/CMakeOutput.log".
Error: error building at STEP "RUN mkdir /opt/aria_data_tools_Build; cd /opt/aria_data_tools_Build; cmake -DCMAKE_BUILD_TYPE=RELEASE /opt/aria_data_tools/src;": error while running runtime: exit status 1

Building VRS with

podman build . -t vrs
results in the same error:
STEP 7/7: RUN cd /opt/vrs_Build; ninja all; ctest -j;
[1/160] Building CXX object vrs/CMakeFiles/vrslib.dir/Compressor.cpp.o
[2/160] Building CXX object vrs/CMakeFiles/vrslib.dir/ContentBlockReader.cpp.o
[3/160] Building CXX object vrs/CMakeFiles/vrslib.dir/DataLayoutConventions.cpp.o
[4/160] Building CXX object vrs/CMakeFiles/vrslib.dir/DataReference.cpp.o
[5/160] Building CXX object vrs/CMakeFiles/vrslib.dir/DataSource.cpp.o
[6/160] Building CXX object vrs/CMakeFiles/vrslib.dir/Decompressor.cpp.o
[7/160] Building CXX object vrs/CMakeFiles/vrslib.dir/DescriptionRecord.cpp.o
[8/160] Building CXX object vrs/CMakeFiles/vrslib.dir/DiskFile.cpp.o
[9/160] Building CXX object vrs/CMakeFiles/vrslib.dir/ErrorCode.cpp.o
[10/160] Building CXX object vrs/CMakeFiles/vrslib.dir/FileCache.cpp.o
[11/160] Building CXX object vrs/CMakeFiles/vrslib.dir/FileDetailsCache.cpp.o
[12/160] Building CXX object vrs/CMakeFiles/vrslib.dir/FileFormat.cpp.o
[13/160] Building CXX object vrs/CMakeFiles/vrslib.dir/FileHandler.cpp.o
[14/160] Building CXX object vrs/CMakeFiles/vrslib.dir/FileHandlerFactory.cpp.o
[15/160] Building CXX object vrs/CMakeFiles/vrslib.dir/DataLayout.cpp.o
[16/160] Building CXX object vrs/CMakeFiles/vrslib.dir/LegacyFormatsProvider.cpp.o
[17/160] Building CXX object vrs/CMakeFiles/vrslib.dir/IndexRecord.cpp.o
[18/160] Building CXX object vrs/CMakeFiles/vrslib.dir/ProgressLogger.cpp.o
[19/160] Building CXX object vrs/CMakeFiles/vrslib.dir/MultiRecordFileReader.cpp.o
[20/160] Building CXX object vrs/CMakeFiles/vrslib.dir/Record.cpp.o
[21/160] Building CXX object vrs/CMakeFiles/vrslib.dir/RecordFileReader.cpp.o
[22/160] Building CXX object vrs/CMakeFiles/vrslib.dir/RecordFileWriter.cpp.o
[23/160] Building CXX object vrs/CMakeFiles/vrslib.dir/RecordFormat.cpp.o
[24/160] Building CXX object vrs/CMakeFiles/vrslib.dir/RecordManager.cpp.o
[25/160] Building CXX object vrs/CMakeFiles/vrslib.dir/RecordReaders.cpp.o
[26/160] Building CXX object vrs/CMakeFiles/vrslib.dir/RecordFormatStreamPlayer.cpp.o
[27/160] Building CXX object vrs/CMakeFiles/vrslib.dir/Recordable.cpp.o
[28/160] Building CXX object vrs/CMakeFiles/vrslib.dir/StreamId.cpp.o
[29/160] Building CXX object vrs/CMakeFiles/vrslib.dir/TagConventions.cpp.o
[30/160] Building CXX object vrs/CMakeFiles/vrslib.dir/TelemetryLogger.cpp.o
[31/160] Building CXX object vrs/CMakeFiles/vrslib.dir/TagsRecord.cpp.o
[32/160] Building CXX object vrs/helpers/CMakeFiles/test_vrs_helpers.dir/test/StringsTest.cpp.o
[33/160] Building CXX object vrs/utils/CMakeFiles/test_vrs_utils.dir/test/FilteredFileReaderTest.cpp.o
[34/160] Building CXX object vrs/helpers/CMakeFiles/vrs_helpers.dir/MemBuffer.cpp.o
[35/160] Building CXX object vrs/helpers/CMakeFiles/vrs_helpers.dir/Strings.cpp.o
/opt/vrs/vrs/helpers/Strings.cpp: In function 'std::string vrs::helpers::humanReadableTimestamp(double, uint8_t)':
/opt/vrs/vrs/helpers/Strings.cpp:177:1: warning: control reaches end of non-void function [-Wreturn-type]
  177 | }
      | ^
[36/160] Building CXX object vrs/os/CMakeFiles/test_vrs_os.dir/test/TimeTest.cpp.o
[37/160] Building CXX object vrs/os/CMakeFiles/test_vrs_os.dir/test/EventUnitTest.cpp.o
[38/160] Building CXX object vrs/os/CMakeFiles/test_vrs_os.dir/test/UtilsTest.cpp.o
[39/160] Building CXX object vrs/os/CMakeFiles/vrs_os.dir/Event.cpp.o
[40/160] Building CXX object vrs/os/CMakeFiles/vrs_os.dir/Semaphore.cpp.o
[41/160] Building CXX object vrs/os/CMakeFiles/vrs_os.dir/Time.cpp.o
[42/160] Building CXX object vrs/os/CMakeFiles/vrs_os.dir/System.cpp.o
[43/160] Building CXX object vrs/os/CMakeFiles/vrs_os.dir/Utils.cpp.o
[44/160] Building CXX object vrs/oss/logging/CMakeFiles/vrs_logging.dir/Checks.cpp.o
[45/160] Building CXX object vrs/oss/TestDataDir/CMakeFiles/vrs_oss_testdatadir.dir/TestDataDir.cpp.o
[46/160] Building CXX object vrs/oss/logging/CMakeFiles/vrs_logging.dir/Log.cpp.o
[47/160] Linking CXX static library vrs/oss/logging/libvrs_logging.a
[48/160] Linking CXX static library vrs/os/libvrs_os.a
[49/160] Linking CXX static library vrs/helpers/libvrs_helpers.a
[50/160] Linking CXX executable vrs/helpers/test_vrs_helpers
[51/160] Linking CXX static library vrs/oss/TestDataDir/libvrs_oss_testdatadir.a
[52/160] Linking CXX executable vrs/os/test_vrs_os
[53/160] Building CXX object pyvrs/CMakeFiles/vrsbindings.dir/vrs_bindings/VrsBindings.cpp.o
[54/160] Building CXX object pyvrs/CMakeFiles/vrsbindings.dir/vrs_bindings/Pybind11.cpp.o
[55/160] Building CXX object vrs/utils/CMakeFiles/test_vrs_utils.dir/test/PixelFrameTest.cpp.o
[56/160] Building CXX object vrs/utils/CMakeFiles/test_vrs_utils.dir/test/FrameRateEstimatorTest.cpp.o
[57/160] Building CXX object vrs/utils/CMakeFiles/vrs_utils.dir/AudioExtractor.cpp.o
[58/160] Building CXX object vrs/utils/CMakeFiles/vrs_utils.dir/DataExtractor.cpp.o
[59/160] Building CXX object vrs/utils/CMakeFiles/vrs_utils.dir/DecoderFactory.cpp.o
[60/160] Building CXX object vrs/utils/CMakeFiles/vrs_utils.dir/FilterCopy.cpp.o
[61/160] Building CXX object vrs/utils/CMakeFiles/vrs_utils.dir/FilterCopyHelpers.cpp.o
[62/160] Building CXX object vrs/utils/CMakeFiles/vrs_utils.dir/FrameRateEstimator.cpp.o
[63/160] Building CXX object vrs/utils/CMakeFiles/vrs_utils.dir/FilteredFileReader.cpp.o
[64/160] Building CXX object vrs/utils/CMakeFiles/vrs_utils.dir/PixelFrame.cpp.o
[65/160] Building CXX object vrs/utils/CMakeFiles/vrs_utils.dir/ImageExtractor.cpp.o
[66/160] Building CXX object vrs/utils/CMakeFiles/vrs_utils.dir/PixelFrameJpeg.cpp.o
[67/160] Building CXX object vrs/utils/CMakeFiles/vrs_utils.dir/PixelFrameJxl.cpp.o
[68/160] Building CXX object vrs/utils/CMakeFiles/vrs_utils.dir/PixelFramePng.cpp.o
[69/160] Building CXX object vrs/utils/CMakeFiles/vrs_utils.dir/RecordFileInfo.cpp.o
[70/160] Building CXX object vrs/utils/CMakeFiles/vrs_utils.dir/ThrottleHelpers.cpp.o
[71/160] Building CXX object vrs/utils/CMakeFiles/vrs_utils.dir/Validation.cpp.o
[72/160] Building CXX object vrs/utils/CMakeFiles/vrs_utils.dir/VideoFrameHandler.cpp.o
[73/160] Building CXX object vrs/utils/converters/CMakeFiles/test_vrs_utils_converters.dir/test/Raw10ToGrey10ConverterTest.cpp.o
[74/160] Building CXX object vrs/utils/converters/CMakeFiles/vrs_utils_converters.dir/Raw10ToGrey10Converter.cpp.o
FAILED: vrs/utils/converters/CMakeFiles/vrs_utils_converters.dir/Raw10ToGrey10Converter.cpp.o 
/usr/bin/ccache /usr/bin/c++  -DFMT_LOCALE -DOSS_BUILD_MODE -I/opt/vrs -I/opt/vrs/vrs/oss -O3 -DNDEBUG -fPIC   -std=c++17 -MD -MT vrs/utils/converters/CMakeFiles/vrs_utils_converters.dir/Raw10ToGrey10Converter.cpp.o -MF vrs/utils/converters/CMakeFiles/vrs_utils_converters.dir/Raw10ToGrey10Converter.cpp.o.d -o vrs/utils/converters/CMakeFiles/vrs_utils_converters.dir/Raw10ToGrey10Converter.cpp.o -c /opt/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp
/opt/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp: In function 'void vrs::utils::{anonymous}::convertVectorized(uint16_t*, const uint8_t*, size_t, size_t, size_t, bool)':
/opt/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:68:53: note: use '-flax-vector-conversions' to permit conversions between vectors with differing element types or numbers of subparts
   68 |       const uint8x16_t r = vqtbl1q_s8(encoded, rshuf);
      |                                                     ^
/opt/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:68:39: error: cannot convert 'const uint8x16_t' {aka 'const __vector(16) unsigned char'} to 'int8x16_t' {aka '__vector(16) signed char'}
   68 |       const uint8x16_t r = vqtbl1q_s8(encoded, rshuf);
      |                                       ^~~~~~~
      |                                       |
      |                                       const uint8x16_t {aka const __vector(16) unsigned char}
In file included from /opt/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:20:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_neon.h:11389:23: note:   initializing argument 1 of 'int8x16_t vqtbl1q_s8(int8x16_t, uint8x16_t)'
11389 | vqtbl1q_s8 (int8x16_t a, uint8x16_t b)
      |             ~~~~~~~~~~^
/opt/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:69:41: error: cannot convert 'const uint8x16_t' {aka 'const __vector(16) unsigned char'} to 'int8x16_t' {aka '__vector(16) signed char'}
   69 |       const uint8x16_t mIn = vqtbl1q_s8(encoded, pshuf);
      |                                         ^~~~~~~
      |                                         |
      |                                         const uint8x16_t {aka const __vector(16) unsigned char}
In file included from /opt/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:20:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_neon.h:11389:23: note:   initializing argument 1 of 'int8x16_t vqtbl1q_s8(int8x16_t, uint8x16_t)'
11389 | vqtbl1q_s8 (int8x16_t a, uint8x16_t b)
      |             ~~~~~~~~~~^
/opt/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:70:39: error: cannot convert 'const uint8x16_t' {aka 'const __vector(16) unsigned char'} to 'uint16x8_t' {aka '__vector(8) short unsigned int'}
   70 |       const auto pixels = vshlq_n_u16(mIn, 2);
      |                                       ^~~
      |                                       |
      |                                       const uint8x16_t {aka const __vector(16) unsigned char}
In file included from /opt/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:20:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_neon.h:26976:25: note:   initializing argument 1 of 'uint16x8_t vshlq_n_u16(uint16x8_t, int)'
26976 | vshlq_n_u16 (uint16x8_t __a, const int __b)
      |              ~~~~~~~~~~~^~~
/opt/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:71:47: error: cannot convert 'const uint8x16_t' {aka 'const __vector(16) unsigned char'} to 'uint16x8_t' {aka '__vector(8) short unsigned int'}
   71 |       const auto fracts = vshlq_u16(vandq_u16(r, mask), rsh);
      |                                               ^
      |                                               |
      |                                               const uint8x16_t {aka const __vector(16) unsigned char}
In file included from /opt/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:20:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_neon.h:1586:23: note:   initializing argument 1 of 'uint16x8_t vandq_u16(uint16x8_t, uint16x8_t)'
 1586 | vandq_u16 (uint16x8_t __a, uint16x8_t __b)
      |            ~~~~~~~~~~~^~~
/opt/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:86:41: error: cannot convert 'const uint8x16_t' {aka 'const __vector(16) unsigned char'} to 'int8x16_t' {aka '__vector(16) signed char'}
   86 |         const uint8x16_t r = vqtbl1q_s8(encoded, rshuf);
      |                                         ^~~~~~~
      |                                         |
      |                                         const uint8x16_t {aka const __vector(16) unsigned char}
In file included from /opt/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:20:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_neon.h:11389:23: note:   initializing argument 1 of 'int8x16_t vqtbl1q_s8(int8x16_t, uint8x16_t)'
11389 | vqtbl1q_s8 (int8x16_t a, uint8x16_t b)
      |             ~~~~~~~~~~^
/opt/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:87:43: error: cannot convert 'const uint8x16_t' {aka 'const __vector(16) unsigned char'} to 'int8x16_t' {aka '__vector(16) signed char'}
   87 |         const uint8x16_t mIn = vqtbl1q_s8(encoded, pshuf);
      |                                           ^~~~~~~
      |                                           |
      |                                           const uint8x16_t {aka const __vector(16) unsigned char}
In file included from /opt/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:20:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_neon.h:11389:23: note:   initializing argument 1 of 'int8x16_t vqtbl1q_s8(int8x16_t, uint8x16_t)'
11389 | vqtbl1q_s8 (int8x16_t a, uint8x16_t b)
      |             ~~~~~~~~~~^
/opt/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:88:41: error: cannot convert 'const uint8x16_t' {aka 'const __vector(16) unsigned char'} to 'uint16x8_t' {aka '__vector(8) short unsigned int'}
   88 |         const auto pixels = vshlq_n_u16(mIn, 2);
      |                                         ^~~
      |                                         |
      |                                         const uint8x16_t {aka const __vector(16) unsigned char}
In file included from /opt/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:20:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_neon.h:26976:25: note:   initializing argument 1 of 'uint16x8_t vshlq_n_u16(uint16x8_t, int)'
26976 | vshlq_n_u16 (uint16x8_t __a, const int __b)
      |              ~~~~~~~~~~~^~~
/opt/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:89:49: error: cannot convert 'const uint8x16_t' {aka 'const __vector(16) unsigned char'} to 'uint16x8_t' {aka '__vector(8) short unsigned int'}
   89 |         const auto fracts = vshlq_u16(vandq_u16(r, mask), rsh);
      |                                                 ^
      |                                                 |
      |                                                 const uint8x16_t {aka const __vector(16) unsigned char}
In file included from /opt/vrs/vrs/utils/converters/Raw10ToGrey10Converter.cpp:20:
/usr/lib/gcc/aarch64-linux-gnu/9/include/arm_neon.h:1586:23: note:   initializing argument 1 of 'uint16x8_t vandq_u16(uint16x8_t, uint16x8_t)'
 1586 | vandq_u16 (uint16x8_t __a, uint16x8_t __b)
      |            ~~~~~~~~~~~^~~
[75/160] Building CXX object vrs/utils/CMakeFiles/vrs_utils.dir/VideoRecordFormatStreamPlayer.cpp.o
ninja: build stopped: subcommand failed.
Test project /opt/vrs_Build
      Start  1: StringsHelpersTester.strcasecmpTest
 1/40 Test  #1: StringsHelpersTester.strcasecmpTest .........................   Passed    0.00 sec
      Start  2: StringsHelpersTester.strncasecmpTest
 2/40 Test  #2: StringsHelpersTester.strncasecmpTest ........................   Passed    0.00 sec
      Start  3: StringsHelpersTester.trim
 3/40 Test  #3: StringsHelpersTester.trim ...................................   Passed    0.00 sec
      Start  4: StringsHelpersTester.startsWith
 4/40 Test  #4: StringsHelpersTester.startsWith .............................   Passed    0.00 sec
      Start  5: StringsHelpersTester.endsWith
 5/40 Test  #5: StringsHelpersTester.endsWith ...............................   Passed    0.00 sec
      Start  6: StringsHelpersTester.makePrintableTest
 6/40 Test  #6: StringsHelpersTester.makePrintableTest ......................   Passed    0.00 sec
      Start  7: StringsHelpersTester.humanReadableDurationTest
 7/40 Test  #7: StringsHelpersTester.humanReadableDurationTest ..............   Passed    0.00 sec
      Start  8: StringsHelpersTester.getValueTest
 8/40 Test  #8: StringsHelpersTester.getValueTest ...........................   Passed    0.00 sec
      Start  9: StringsHelpersTester.humanReadableTimestampTest
 9/40 Test  #9: StringsHelpersTester.humanReadableTimestampTest .............   Passed    0.00 sec
      Start 10: StringsHelpersTester.readUnsignedInt32
10/40 Test #10: StringsHelpersTester.readUnsignedInt32 ......................   Passed    0.00 sec
      Start 11: TimeTest.getCurrentTimeSecTest
11/40 Test #11: TimeTest.getCurrentTimeSecTest ..............................   Passed    1.00 sec
      Start 12: TimeTest.getCurrentTimeSecSinceEpoch
12/40 Test #12: TimeTest.getCurrentTimeSecSinceEpoch ........................   Passed    0.00 sec
      Start 13: EventTest.WaitAndDispatchUnicast
13/40 Test #13: EventTest.WaitAndDispatchUnicast ............................   Passed    0.05 sec
      Start 14: EventTest.WaitAndDispatchBroadcast
14/40 Test #14: EventTest.WaitAndDispatchBroadcast ..........................   Passed    0.05 sec
      Start 15: EventTest.DispatchAndWaitUnicast
15/40 Test #15: EventTest.DispatchAndWaitUnicast ............................   Passed    0.06 sec
      Start 16: EventTest.DispatchAndWaitBroadcast
16/40 Test #16: EventTest.DispatchAndWaitBroadcast ..........................   Passed    0.06 sec
      Start 17: EventTest.DispatchAndWaitWithLookbackUnicast
17/40 Test #17: EventTest.DispatchAndWaitWithLookbackUnicast ................   Passed    0.06 sec
      Start 18: EventTest.DispatchAndWaitWithLookbackBroadcast
18/40 Test #18: EventTest.DispatchAndWaitWithLookbackBroadcast ..............   Passed    0.07 sec
      Start 19: EventTest.NumPastEventsUnicast
19/40 Test #19: EventTest.NumPastEventsUnicast ..............................   Passed    0.06 sec
      Start 20: EventTest.NumPastEventsBroadcast
20/40 Test #20: EventTest.NumPastEventsBroadcast ............................   Passed    0.06 sec
      Start 21: EventTest.SpuriousWakeupUnicast
21/40 Test #21: EventTest.SpuriousWakeupUnicast .............................   Passed    2.12 sec
      Start 22: EventTest.SpuriousWakeupBroadcast
22/40 Test #22: EventTest.SpuriousWakeupBroadcast ...........................   Passed    2.13 sec
      Start 23: EventTest.MultipleListenersUnicast
23/40 Test #23: EventTest.MultipleListenersUnicast ..........................   Passed    0.51 sec
      Start 24: EventTest.MultipleListenersBroadcast
24/40 Test #24: EventTest.MultipleListenersBroadcast ........................   Passed    0.52 sec
      Start 25: FileTest.testDataDirExistsTest
25/40 Test #25: FileTest.testDataDirExistsTest ..............................   Passed    0.01 sec
      Start 26: FileTest.testOsIsDir
26/40 Test #26: FileTest.testOsIsDir ........................................   Passed    0.01 sec
      Start 27: FileTest.testIsFile
27/40 Test #27: FileTest.testIsFile .........................................   Passed    0.01 sec
      Start 28: FileTest.testPathExists
28/40 Test #28: FileTest.testPathExists .....................................   Passed    0.01 sec
      Start 29: FileTest.testGetFileSize
29/40 Test #29: FileTest.testGetFileSize ....................................   Passed    0.00 sec
      Start 30: FileTest.testSanitize
30/40 Test #30: FileTest.testSanitize .......................................   Passed    0.01 sec
      Start 31: FileTest.testGetFilename
31/40 Test #31: FileTest.testGetFilename ....................................   Passed    0.00 sec
      Start 32: FileTest.testFileResize
32/40 Test #32: FileTest.testFileResize .....................................   Passed    0.00 sec
      Start 33: FileTest.testListDir
33/40 Test #33: FileTest.testListDir ........................................   Passed    0.00 sec
      Start 34: GetCurrentExecutablePathTest.testGetCurrentExecutablePath
Unable to find executable: test_vrs_utils_NOT_BUILT
Unable to find executable: test_vrs_utils_converters_NOT_BUILT
Unable to find executable: test_vrs_utils_xxhash_NOT_BUILT
Unable to find executable: test_vrslib_NOT_BUILT
Unable to find executable: test_vrslib_file_tests_NOT_BUILT
Unable to find executable: test_vrscli_NOT_BUILT
34/40 Test #34: GetCurrentExecutablePathTest.testGetCurrentExecutablePath ...   Passed    0.00 sec
      Start 35: test_vrs_utils_NOT_BUILT
Could not find executable test_vrs_utils_NOT_BUILT
Looked in the following places:
test_vrs_utils_NOT_BUILT
test_vrs_utils_NOT_BUILT
Release/test_vrs_utils_NOT_BUILT
Release/test_vrs_utils_NOT_BUILT
Debug/test_vrs_utils_NOT_BUILT
Debug/test_vrs_utils_NOT_BUILT
MinSizeRel/test_vrs_utils_NOT_BUILT
MinSizeRel/test_vrs_utils_NOT_BUILT
RelWithDebInfo/test_vrs_utils_NOT_BUILT
RelWithDebInfo/test_vrs_utils_NOT_BUILT
Deployment/test_vrs_utils_NOT_BUILT
Deployment/test_vrs_utils_NOT_BUILT
Development/test_vrs_utils_NOT_BUILT
Development/test_vrs_utils_NOT_BUILT
35/40 Test #35: test_vrs_utils_NOT_BUILT ....................................***Not Run   0.00 sec
      Start 36: test_vrs_utils_converters_NOT_BUILT
Could not find executable test_vrs_utils_converters_NOT_BUILT
Looked in the following places:
test_vrs_utils_converters_NOT_BUILT
test_vrs_utils_converters_NOT_BUILT
Release/test_vrs_utils_converters_NOT_BUILT
Release/test_vrs_utils_converters_NOT_BUILT
Debug/test_vrs_utils_converters_NOT_BUILT
Debug/test_vrs_utils_converters_NOT_BUILT
MinSizeRel/test_vrs_utils_converters_NOT_BUILT
MinSizeRel/test_vrs_utils_converters_NOT_BUILT
RelWithDebInfo/test_vrs_utils_converters_NOT_BUILT
RelWithDebInfo/test_vrs_utils_converters_NOT_BUILT
Deployment/test_vrs_utils_converters_NOT_BUILT
Deployment/test_vrs_utils_converters_NOT_BUILT
Development/test_vrs_utils_converters_NOT_BUILT
Development/test_vrs_utils_converters_NOT_BUILT
36/40 Test #36: test_vrs_utils_converters_NOT_BUILT .........................***Not Run   0.00 sec
      Start 37: test_vrs_utils_xxhash_NOT_BUILT
Could not find executable test_vrs_utils_xxhash_NOT_BUILT
Looked in the following places:
test_vrs_utils_xxhash_NOT_BUILT
test_vrs_utils_xxhash_NOT_BUILT
Release/test_vrs_utils_xxhash_NOT_BUILT
Release/test_vrs_utils_xxhash_NOT_BUILT
Debug/test_vrs_utils_xxhash_NOT_BUILT
Debug/test_vrs_utils_xxhash_NOT_BUILT
MinSizeRel/test_vrs_utils_xxhash_NOT_BUILT
MinSizeRel/test_vrs_utils_xxhash_NOT_BUILT
RelWithDebInfo/test_vrs_utils_xxhash_NOT_BUILT
RelWithDebInfo/test_vrs_utils_xxhash_NOT_BUILT
Deployment/test_vrs_utils_xxhash_NOT_BUILT
Deployment/test_vrs_utils_xxhash_NOT_BUILT
Development/test_vrs_utils_xxhash_NOT_BUILT
Development/test_vrs_utils_xxhash_NOT_BUILT
37/40 Test #37: test_vrs_utils_xxhash_NOT_BUILT .............................***Not Run   0.00 sec
      Start 38: test_vrslib_NOT_BUILT
Could not find executable test_vrslib_NOT_BUILT
Looked in the following places:
test_vrslib_NOT_BUILT
test_vrslib_NOT_BUILT
Release/test_vrslib_NOT_BUILT
Release/test_vrslib_NOT_BUILT
Debug/test_vrslib_NOT_BUILT
Debug/test_vrslib_NOT_BUILT
MinSizeRel/test_vrslib_NOT_BUILT
MinSizeRel/test_vrslib_NOT_BUILT
RelWithDebInfo/test_vrslib_NOT_BUILT
RelWithDebInfo/test_vrslib_NOT_BUILT
Deployment/test_vrslib_NOT_BUILT
Deployment/test_vrslib_NOT_BUILT
Development/test_vrslib_NOT_BUILT
Development/test_vrslib_NOT_BUILT
38/40 Test #38: test_vrslib_NOT_BUILT .......................................***Not Run   0.00 sec
      Start 39: test_vrslib_file_tests_NOT_BUILT
Could not find executable test_vrslib_file_tests_NOT_BUILT
Looked in the following places:
test_vrslib_file_tests_NOT_BUILT
test_vrslib_file_tests_NOT_BUILT
Release/test_vrslib_file_tests_NOT_BUILT
Release/test_vrslib_file_tests_NOT_BUILT
Debug/test_vrslib_file_tests_NOT_BUILT
Debug/test_vrslib_file_tests_NOT_BUILT
MinSizeRel/test_vrslib_file_tests_NOT_BUILT
MinSizeRel/test_vrslib_file_tests_NOT_BUILT
RelWithDebInfo/test_vrslib_file_tests_NOT_BUILT
RelWithDebInfo/test_vrslib_file_tests_NOT_BUILT
Deployment/test_vrslib_file_tests_NOT_BUILT
Deployment/test_vrslib_file_tests_NOT_BUILT
Development/test_vrslib_file_tests_NOT_BUILT
Development/test_vrslib_file_tests_NOT_BUILT
39/40 Test #39: test_vrslib_file_tests_NOT_BUILT ............................***Not Run   0.00 sec
      Start 40: test_vrscli_NOT_BUILT
Could not find executable test_vrscli_NOT_BUILT
Looked in the following places:
test_vrscli_NOT_BUILT
test_vrscli_NOT_BUILT
Release/test_vrscli_NOT_BUILT
Release/test_vrscli_NOT_BUILT
Debug/test_vrscli_NOT_BUILT
Debug/test_vrscli_NOT_BUILT
MinSizeRel/test_vrscli_NOT_BUILT
MinSizeRel/test_vrscli_NOT_BUILT
RelWithDebInfo/test_vrscli_NOT_BUILT
RelWithDebInfo/test_vrscli_NOT_BUILT
Deployment/test_vrscli_NOT_BUILT
Deployment/test_vrscli_NOT_BUILT
Development/test_vrscli_NOT_BUILT
Development/test_vrscli_NOT_BUILT
40/40 Test #40: test_vrscli_NOT_BUILT .......................................***Not Run   0.00 sec

85% tests passed, 6 tests failed out of 40

Total Test time (real) =   6.87 sec

The following tests FAILED:
	 35 - test_vrs_utils_NOT_BUILT (Not Run)
	 36 - test_vrs_utils_converters_NOT_BUILT (Not Run)
	 37 - test_vrs_utils_xxhash_NOT_BUILT (Not Run)
	 38 - test_vrslib_NOT_BUILT (Not Run)
	 39 - test_vrslib_file_tests_NOT_BUILT (Not Run)
	 40 - test_vrscli_NOT_BUILT (Not Run)
Errors while running CTest
Error: error building at STEP "RUN cd /opt/vrs_Build; ninja all; ctest -j;": error while running runtime: exit status 8

The full Podman build output for VRS is in this text file.

Build error when installing in a conda environment

Instructions To Reproduce the 🐛 Bug:

I'm trying to build vrs in a conda environment on Ubuntu 20.04.2 on a machine that I don't have root access to. I'm also not very familiar with cmake or ninja.

  1. Full runnable code or full changes you made:

None

  1. What exact command you run:

I had to install several dependencies via conda rather than apt-get:

conda install -c conda-forge libjpeg-turbo xxhash cereal fmt portaudio

then I set $LIB and $INCLUDE so that cmake could find these packages:

export LIB=$LIB:$CONDA_PREFIX/lib
export INCLUDE=$INCLUDE:$CONDA_PREFIX/include

cmake then runs without error:

cmake -S . -B _build '-GCodeBlocks - Ninja'

(Notably this fails about failing to find headers/libraries if I don't set $INCLUDE/$LIB as above)

However trying to build with ninja fails:

cd _build
ninja all

It claims that it can't find xxhash.h and fmt/format.h (see full log below) despite cmake finding those files on the previous step; I can also see the headers installed via conda here:

ls $CONDA_PREFIX/include/xxhash.h
ls $CONDA_PREFIX/include/fmt/format.h

I suspect that somehow cmake is not propagating these header paths to ninja, but I don't know enough about how cmake an ninja work to fix it myself.

  1. Full logs or other relevant observations:

Output from cmake:

-- The CXX compiler identification is GNU 9.3.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- CMAKE_CXX_COMPILER: /usr/bin/c++
-- CMAKE_CXX_COMPILER_VERSION: 9.3.0
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found version "1.71.0") found components: filesystem chrono date_time system thread
-- Found Lz4: /private/home/jcjohns/.conda/envs/arnerf/lib/liblz4.so
-- Found Zstd: /private/home/jcjohns/.conda/envs/arnerf/lib/libzstd.so
-- Found xxHash: /private/home/jcjohns/.conda/envs/arnerf/lib/libxxhash.so
-- Found ZLIB: /private/home/jcjohns/.conda/envs/arnerf/lib/libz.so (found version "1.2.12")
-- Found PNG: /private/home/jcjohns/.conda/envs/arnerf/lib/libpng.so (found version "1.6.37")
-- Found JPEG: /private/home/jcjohns/.conda/envs/arnerf/lib/libjpeg.so (found version "80")
-- Found TurboJpeg: /private/home/jcjohns/.conda/envs/arnerf/lib/libturbojpeg.so
-- Found GTest: /usr/lib/x86_64-linux-gnu/libgtest.a
-- Found Qt5, including vrsplayer target
-- Found PortAudio: /private/home/jcjohns/.conda/envs/arnerf/lib/libportaudio.so
-- /private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/Pybind11.cpp;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/VrsBindings.cpp;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/VrsBindings.h;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/reader/AsyncVRSReader.cpp;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/reader/AsyncVRSReader.h;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/reader/FactoryHelper.hpp;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/reader/FilteredFileReader.cpp;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/reader/FilteredFileReader.h;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/reader/MultiVRSReader.cpp;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/reader/MultiVRSReader.h;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/reader/Reader.cpp;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/reader/Reader.h;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/reader/VRSReader.cpp;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/reader/VRSReader.h;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/utils/PyBuffer.cpp;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/utils/PyBuffer.h;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/utils/PyExceptions.cpp;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/utils/PyExceptions.h;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/utils/PyRecord.cpp;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/utils/PyRecord.h;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/utils/PyUtils.cpp;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/utils/PyUtils.h;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/utils/Utils.cpp;/private/home/jcjohns/code/vrs/pyvrs/vrs_bindings/utils/Utils.h
-- Found PythonInterp: /private/home/jcjohns/.conda/envs/arnerf/bin/python (found version "3.8.8")
-- Found PythonLibs: /private/home/jcjohns/.conda/envs/arnerf/lib/libpython3.8.so
-- Performing Test HAS_FLTO
-- Performing Test HAS_FLTO - Success
-- Found pybind11: /private/home/jcjohns/.conda/envs/arnerf/include (found version "2.9.2")
-- Configuring done
-- Generating done
-- Build files have been written to: /private/home/jcjohns/code/vrs/_build

Output from ninja all

[5/82] Building CXX object vrs/utils/CMakeFiles/test_vrs_utils.dir/test/PixelFrameTest.cpp.o
FAILED: vrs/utils/CMakeFiles/test_vrs_utils.dir/test/PixelFrameTest.cpp.o
/usr/bin/c++  -DOSS_BUILD_MODE -I../ -I../vrs/oss -O3 -DNDEBUG -fPIE   -std=c++17 -MD -MT vrs/utils/CMakeFiles/test_vrs_utils.dir/test/PixelFrameTest.cpp.o -MF vrs/utils/CMakeFiles/test_vrs_utils.dir/test/PixelFrameTest.cpp.o.d -o vrs/utils/CMakeFiles/test_vrs_utils.dir/test/PixelFrameTest.cpp.o -c ../vrs/utils/test/PixelFrameTest.cpp
In file included from ../vrs/RecordReaders.h:21,
                 from ../vrs/RecordFileReader.h:33,
                 from ../vrs/utils/test/PixelFrameTest.cpp:24:
../vrs/ErrorCode.h:22:10: fatal error: fmt/format.h: No such file or directory
   22 | #include <fmt/format.h>
      |          ^~~~~~~~~~~~~~
compilation terminated.
[6/82] Building CXX object vrs/utils/CMakeFiles/test_vrs_utils.dir/test/FrameRateEstimatorTest.cpp.o
FAILED: vrs/utils/CMakeFiles/test_vrs_utils.dir/test/FrameRateEstimatorTest.cpp.o
/usr/bin/c++  -DOSS_BUILD_MODE -I../ -I../vrs/oss -O3 -DNDEBUG -fPIE   -std=c++17 -MD -MT vrs/utils/CMakeFiles/test_vrs_utils.dir/test/FrameRateEstimatorTest.cpp.o -MF vrs/utils/CMakeFiles/test_vrs_utils.dir/test/FrameRateEstimatorTest.cpp.o.d -o vrs/utils/CMakeFiles/test_vrs_utils.dir/test/FrameRateEstimatorTest.cpp.o -c ../vrs/utils/test/FrameRateEstimatorTest.cpp
In file included from ../vrs/RecordReaders.h:21,
                 from ../vrs/RecordFileReader.h:33,
                 from ../vrs/utils/FilteredFileReader.h:27,
                 from ../vrs/utils/test/FrameRateEstimatorTest.cpp:22:
../vrs/ErrorCode.h:22:10: fatal error: fmt/format.h: No such file or directory
   22 | #include <fmt/format.h>
      |          ^~~~~~~~~~~~~~
compilation terminated.
[7/82] Building CXX object vrs/utils/xxhash/CMakeFiles/test_vrs_utils_xxhash.dir/test/xxhashTest.cpp.o
FAILED: vrs/utils/xxhash/CMakeFiles/test_vrs_utils_xxhash.dir/test/xxhashTest.cpp.o
/usr/bin/c++   -I../ -O3 -DNDEBUG -fPIE   -std=c++17 -MD -MT vrs/utils/xxhash/CMakeFiles/test_vrs_utils_xxhash.dir/test/xxhashTest.cpp.o -MF vrs/utils/xxhash/CMakeFiles/test_vrs_utils_xxhash.dir/test/xxhashTest.cpp.o.d -o vrs/utils/xxhash/CMakeFiles/test_vrs_utils_xxhash.dir/test/xxhashTest.cpp.o -c ../vrs/utils/xxhash/test/xxhashTest.cpp
In file included from ../vrs/utils/xxhash/test/xxhashTest.cpp:21:
../vrs/utils/xxhash/xxhash.h:21:10: fatal error: xxhash.h: No such file or directory
   21 | #include <xxhash.h>
      |          ^~~~~~~~~~
compilation terminated.
[9/82] Building CXX object vrs/utils/CMakeFiles/test_vrs_utils.dir/test/FilteredFileReaderTest.cpp.o
FAILED: vrs/utils/CMakeFiles/test_vrs_utils.dir/test/FilteredFileReaderTest.cpp.o
/usr/bin/c++  -DOSS_BUILD_MODE -I../ -I../vrs/oss -O3 -DNDEBUG -fPIE   -std=c++17 -MD -MT vrs/utils/CMakeFiles/test_vrs_utils.dir/test/FilteredFileReaderTest.cpp.o -MF vrs/utils/CMakeFiles/test_vrs_utils.dir/test/FilteredFileReaderTest.cpp.o.d -o vrs/utils/CMakeFiles/test_vrs_utils.dir/test/FilteredFileReaderTest.cpp.o -c ../vrs/utils/test/FilteredFileReaderTest.cpp
In file included from ../vrs/RecordReaders.h:21,
                 from ../vrs/RecordFileReader.h:33,
                 from ../vrs/utils/FilteredFileReader.h:27,
                 from ../vrs/utils/test/FilteredFileReaderTest.cpp:25:
../vrs/ErrorCode.h:22:10: fatal error: fmt/format.h: No such file or directory
   22 | #include <fmt/format.h>
      |          ^~~~~~~~~~~~~~
compilation terminated.
[47/82] Building CXX object vrs/CMakeFiles/vrslib.dir/DataLayout.cpp.o
ninja: build stopped: subcommand failed.

Run ninja error when using ubuntu 18.04

Hello,I'm trying to get this VRS library to build with ubuntu 18.04.

The cmake compilation part is fine. However, while executing the ninja all command, the following two problems occurred:
1.Appeared in jDocumentToJsonStringPretty function template instantiation of compile errors.

error log:
/usr/include/cereal/external/rapidjson/prettywriter.h:199:25: error: ‘fb_rapidjson::GenericStringBuffer[fb_rapidjson::UTF8&lt;](fb_rapidjson::UTF8%3C) >* fb_rapidjson::Writer[fb_rapidjson::GenericStringBufferfb_rapidjson::utf8&lt;&lt; &gt; &gt;::os_’ is protected within this context](fb_rapidjson::GenericStringBuffer%3Cfb_rapidjson::UTF8%3C)
I solved this part of the problem by referring to the method given by mBORowS2 in the last issue.

2.An error of “fatal error: vrs/os/CompilerAttributes.h: No such file or directory” has occurred.

error log:

I made sure all the required libraries were installed, such as LZ4, ZSTD, etc.

full log:

[2/85] Building CXX object vrs/oss/log...MakeFiles/vrs_logging.dir/Checks.cpp.o
FAILED: vrs/oss/logging/CMakeFiles/vrs_logging.dir/Checks.cpp.o 
/usr/bin/ccache /usr/bin/c++  -I"/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/oss/logging/'~/ffsnow_zhang/vrs/VRS_Code'" -O3 -DNDEBUG -fPIC -std=c++1z -MD -MT vrs/oss/logging/CMakeFiles/vrs_logging.dir/Checks.cpp.o -MF vrs/oss/logging/CMakeFiles/vrs_logging.dir/Checks.cpp.o.d -o vrs/oss/logging/CMakeFiles/vrs_logging.dir/Checks.cpp.o -c /home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/oss/logging/Checks.cpp
In file included from /home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/oss/logging/Checks.cpp:17:0:
/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/oss/logging/Checks.h:23:10: fatal error: vrs/os/CompilerAttributes.h: No such file or directory
 #include <vrs/os/CompilerAttributes.h>
          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
[3/85] Building CXX object vrs/utils/C...rs_utils.dir/test/PixelFrameTest.cpp.o
FAILED: vrs/utils/CMakeFiles/test_vrs_utils.dir/test/PixelFrameTest.cpp.o 
/usr/bin/ccache /usr/bin/c++ -DOSS_BUILD_MODE -I/home/patrick/ffsnow_zhang/vrs/VRS_Code -I/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/oss -O3 -DNDEBUG -fPIE -std=c++1z -MD -MT vrs/utils/CMakeFiles/test_vrs_utils.dir/test/PixelFrameTest.cpp.o -MF vrs/utils/CMakeFiles/test_vrs_utils.dir/test/PixelFrameTest.cpp.o.d -o vrs/utils/CMakeFiles/test_vrs_utils.dir/test/PixelFrameTest.cpp.o -c /home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/utils/test/PixelFrameTest.cpp
ccache: error: Failed to create temporary file for /home/patrick/.ccache/6/d/3af26ea0fbd669c82720343da0570b-2835.manifest.tmp: Permission denied
[4/85] Building CXX object vrs/CMakeFiles/vrslib.dir/Decompressor.cpp.o
FAILED: vrs/CMakeFiles/vrslib.dir/Decompressor.cpp.o 
/usr/bin/ccache /usr/bin/c++ -DCEREAL_RAPIDJSON_NAMESPACE=fb_rapidjson -DCEREAL_RAPIDJSON_PARSE_DEFAULT_FLAGS="kParseFullPrecisionFlag|kParseNanAndInfFlag" -DCEREAL_RAPIDJSON_WRITE_DEFAULT_FLAGS=kWriteNoFlags -DCEREAL_THREAD_SAFE=1 -DOSS_BUILD_MODE -I/home/patrick/ffsnow_zhang/vrs/VRS_Code -I/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/oss -O3 -DNDEBUG -fPIC -std=c++1z -MD -MT vrs/CMakeFiles/vrslib.dir/Decompressor.cpp.o -MF vrs/CMakeFiles/vrslib.dir/Decompressor.cpp.o.d -o vrs/CMakeFiles/vrslib.dir/Decompressor.cpp.o -c /home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/Decompressor.cpp
/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/Decompressor.cpp: In member function ‘void vrs::Decompressor::Lz4Decompressor::resetContext()’:
/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/Decompressor.cpp:57:5: error: ‘LZ4F_resetDecompressionContext’ was not declared in this scope
     LZ4F_resetDecompressionContext(context_);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/Decompressor.cpp:57:5: note: suggested alternative: ‘LZ4F_freeDecompressionContext’
     LZ4F_resetDecompressionContext(context_);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     LZ4F_freeDecompressionContext
[5/85] Building CXX object vrs/CMakeFiles/vrslib.dir/Compressor.cpp.o
FAILED: vrs/CMakeFiles/vrslib.dir/Compressor.cpp.o 
/usr/bin/ccache /usr/bin/c++ -DCEREAL_RAPIDJSON_NAMESPACE=fb_rapidjson -DCEREAL_RAPIDJSON_PARSE_DEFAULT_FLAGS="kParseFullPrecisionFlag|kParseNanAndInfFlag" -DCEREAL_RAPIDJSON_WRITE_DEFAULT_FLAGS=kWriteNoFlags -DCEREAL_THREAD_SAFE=1 -DOSS_BUILD_MODE -I/home/patrick/ffsnow_zhang/vrs/VRS_Code -I/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/oss -O3 -DNDEBUG -fPIC -std=c++1z -MD -MT vrs/CMakeFiles/vrslib.dir/Compressor.cpp.o -MF vrs/CMakeFiles/vrslib.dir/Compressor.cpp.o.d -o vrs/CMakeFiles/vrslib.dir/Compressor.cpp.o -c /home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/Compressor.cpp
/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/Compressor.cpp: In member function ‘int vrs::Compressor::CompressorImpl::startFrame(size_t, vrs::CompressionPreset)’:
/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/Compressor.cpp:178:9: error: ‘ZSTD_CCtx_setParameter’ was not declared in this scope
         ZSTD_CCtx_setParameter(zstdContext_, compressionLevel, compressionLevel));
         ^
/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/Compressor.cpp:97:15: note: in definition of macro ‘IF_ZCOMP_ERROR_LOG_AND_RETURN’
     zresult = operation__;                                                               \
               ^~~~~~~~~~~
/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/Compressor.cpp:178:9: note: suggested alternative: ‘ZSTD_CCtx_s’
         ZSTD_CCtx_setParameter(zstdContext_, compressionLevel, compressionLevel));
         ^
/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/Compressor.cpp:97:15: note: in definition of macro ‘IF_ZCOMP_ERROR_LOG_AND_RETURN’
     zresult = operation__;                                                               \
               ^~~~~~~~~~~
/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/Compressor.cpp:180:35: error: ‘ZSTD_CCtx_setPledgedSrcSize’ was not declared in this scope
     IF_ZCOMP_ERROR_LOG_AND_RETURN(ZSTD_CCtx_setPledgedSrcSize(zstdContext_, dataSize));
                                   ^
/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/Compressor.cpp:97:15: note: in definition of macro ‘IF_ZCOMP_ERROR_LOG_AND_RETURN’
     zresult = operation__;                                                               \
               ^~~~~~~~~~~
/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/Compressor.cpp: In member function ‘int vrs::Compressor::CompressorImpl::addFrameData(vrs::WriteFileHandler&, ZSTD_inBuffer_s*, ZSTD_outBuffer_s*, uint32_t&, size_t, bool)’:
/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/Compressor.cpp:195:62: error: expected primary-expression before ‘:’ token
           zstdContext_, output, input, endFrame ? ZSTD_DDict : ZSTD_e_continue));
                                                              ^
/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/Compressor.cpp:97:15: note: in definition of macro ‘IF_ZCOMP_ERROR_LOG_AND_RETURN’
     zresult = operation__;                                                               \
               ^~~~~~~~~~~
/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/Compressor.cpp:195:64: error: ‘ZSTD_e_continue’ was not declared in this scope
           zstdContext_, output, input, endFrame ? ZSTD_DDict : ZSTD_e_continue));
                                                                ^
/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/Compressor.cpp:97:15: note: in definition of macro ‘IF_ZCOMP_ERROR_LOG_AND_RETURN’
     zresult = operation__;                                                               \
               ^~~~~~~~~~~
/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/Compressor.cpp:199:41: error: ‘ZSTD_reset_session_only’ was not declared in this scope
           ZSTD_CCtx_reset(zstdContext_, ZSTD_reset_session_only);
                                         ^~~~~~~~~~~~~~~~~~~~~~~
/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/Compressor.cpp:199:11: error: ‘ZSTD_CCtx_reset’ was not declared in this scope
           ZSTD_CCtx_reset(zstdContext_, ZSTD_reset_session_only);
           ^~~~~~~~~~~~~~~
/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/Compressor.cpp:199:11: note: suggested alternative: ‘ZSTD_CCtx_s’
           ZSTD_CCtx_reset(zstdContext_, ZSTD_reset_session_only);
           ^~~~~~~~~~~~~~~
           ZSTD_CCtx_s
[10/85] Building CXX object vrs/test/C...r/file_tests/DeviceSimulatorTest.cpp.o
FAILED: vrs/test/CMakeFiles/test_vrslib_file_tests.dir/file_tests/DeviceSimulatorTest.cpp.o 
/usr/bin/ccache /usr/bin/c++ -DCEREAL_RAPIDJSON_NAMESPACE=fb_rapidjson -DCEREAL_RAPIDJSON_PARSE_DEFAULT_FLAGS="kParseFullPrecisionFlag|kParseNanAndInfFlag" -DCEREAL_RAPIDJSON_WRITE_DEFAULT_FLAGS=kWriteNoFlags -DCEREAL_THREAD_SAFE=1 -DGTEST_BUILD -DOSS_BUILD_MODE -I/home/patrick/ffsnow_zhang/vrs/VRS_Code -I/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/oss -O3 -DNDEBUG -fPIE -std=c++1z -MD -MT vrs/test/CMakeFiles/test_vrslib_file_tests.dir/file_tests/DeviceSimulatorTest.cpp.o -MF vrs/test/CMakeFiles/test_vrslib_file_tests.dir/file_tests/DeviceSimulatorTest.cpp.o.d -o vrs/test/CMakeFiles/test_vrslib_file_tests.dir/file_tests/DeviceSimulatorTest.cpp.o -c /home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/test/file_tests/DeviceSimulatorTest.cpp
ccache: error: Failed to create temporary file for /home/patrick/.ccache/2/9/dff9a6c676ac569d76c4b5f36999bb-3804549.o.tmp.stdout: Permission denied
[11/85] Building CXX object vrs/test/C..._helpers.dir/helpers/TestProcess.cpp.o
FAILED: vrs/test/CMakeFiles/vrs_test_helpers.dir/helpers/TestProcess.cpp.o 
/usr/bin/ccache /usr/bin/c++ -DCEREAL_RAPIDJSON_NAMESPACE=fb_rapidjson -DCEREAL_RAPIDJSON_PARSE_DEFAULT_FLAGS="kParseFullPrecisionFlag|kParseNanAndInfFlag" -DCEREAL_RAPIDJSON_WRITE_DEFAULT_FLAGS=kWriteNoFlags -DCEREAL_THREAD_SAFE=1 -DGTEST_BUILD -DOSS_BUILD_MODE -I/home/patrick/ffsnow_zhang/vrs/VRS_Code -I/home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/oss -O3 -DNDEBUG -fPIC -std=c++1z -MD -MT vrs/test/CMakeFiles/vrs_test_helpers.dir/helpers/TestProcess.cpp.o -MF vrs/test/CMakeFiles/vrs_test_helpers.dir/helpers/TestProcess.cpp.o.d -o vrs/test/CMakeFiles/vrs_test_helpers.dir/helpers/TestProcess.cpp.o -c /home/patrick/ffsnow_zhang/vrs/VRS_Code/vrs/test/helpers/TestProcess.cpp
ccache: error: Failed to create temporary file for /home/patrick/.ccache/2/9/a560c75fee96c5a57956dbff8466da-3765.manifest.tmp: Permission denied
ninja: build stopped: subcommand failed.

Any help would be greatly appreciated T_T

VRS image/video support

As far as you've made public, no video support is present yet.
Is there any plans for it? Especially h264?

Mac M1 Build Issue

Unable to build vrs on my Apple Mac M1

Instructions To Reproduce the 🐛 Bug:

  1. Full runnable code or full changes you made:
    Added set (CMAKE_CXX_STANDARD 11) to vrs/CMakeLists.txt, to make use of C++11
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 235bb7c..15b060f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -12,6 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.

+set (CMAKE_CXX_STANDARD 11)
 cmake_minimum_required(VERSION 3.16)
  1. What exact command you run:
cmake -S vrs -B vrs_build '-GCodeBlocks - Ninja'
cd vrs_build
ninja all
  1. Full logs or other relevant observations:
(base) bash-3.2$ cmake -S vrs -B vrs_build '-GCodeBlocks - Ninja'
-- The CXX compiler identification is AppleClang 14.0.3.14030022
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- CMAKE_CXX_COMPILER: /Library/Developer/CommandLineTools/usr/bin/c++
-- CMAKE_CXX_COMPILER_VERSION: 14.0.3.14030022
-- CCACHE enabled
-- Found Boost: /opt/homebrew/lib/cmake/Boost-1.81.0/BoostConfig.cmake (found version "1.81.0") found components: filesystem chrono date_time system thread
-- Found Lz4: /opt/homebrew/lib/liblz4.dylib
-- Found Zstd: /opt/homebrew/lib/libzstd.dylib
-- Found xxHash: /opt/homebrew/lib/libxxhash.dylib
-- Found ZLIB: /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/lib/libz.tbd (found version "1.2.11")
-- Found PNG: /opt/homebrew/lib/libpng.dylib (found version "1.6.39")
-- Found JPEG: /opt/homebrew/lib/libjpeg.dylib (found version "80")
-- Found TurboJpeg: /opt/homebrew/lib/libturbojpeg.dylib
-- Found GTest: /opt/homebrew/anaconda3/lib/cmake/GTest/GTestConfig.cmake (found version "1.10.0")
-- Could NOT find QT (missing: QT_DIR)
CMake Warning at tools/vrsplayer/CMakeLists.txt:50 (message):
  Qt5 or Qt6 were not found, so vrsplayer will not be included.


-- Configuring done (2.2s)
-- Generating done (0.1s)
-- Build files have been written to: /Users/mathiasl/src/vrs_build
(base) bash-3.2$ cd vrs_build/
(base) bash-3.2$ ninja all
[76/137] Linking CXX executable vrs/helpers/test_vrs_helpers
FAILED: vrs/helpers/test_vrs_helpers vrs/helpers/test_vrs_helpers[1]_tests.cmake /Users/mathiasl/src/vrs_build/vrs/helpers/test_vrs_helpers[1]_tests.cmake
: && /opt/homebrew/bin/ccache /Library/Developer/CommandLineTools/usr/bin/c++ -O3 -DNDEBUG -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names  vrs/helpers/CMakeFiles/test_vrs_helpers.dir/test/StringsTest.cpp.o -o vrs/helpers/test_vrs_helpers  vrs/helpers/libvrs_helpers.a  vrs/os/libvrs_os.a  vrs/oss/logging/libvrs_logging.a  /opt/homebrew/lib/libfmt.10.0.0.dylib  /opt/homebrew/lib/libboost_system-mt.dylib  /opt/homebrew/lib/libboost_filesystem-mt.dylib  /opt/homebrew/lib/libboost_atomic-mt.dylib  /opt/homebrew/lib/libboost_thread-mt.dylib  /opt/homebrew/lib/libboost_chrono-mt.dylib  /opt/homebrew/lib/libboost_date_time-mt.dylib  /opt/homebrew/anaconda3/lib/libgtest_main.1.10.0.dylib  /opt/homebrew/anaconda3/lib/libgtest.1.10.0.dylib && cd /Users/mathiasl/src/vrs_build/vrs/helpers && /opt/homebrew/Cellar/cmake/3.26.4/bin/cmake -D TEST_TARGET=test_vrs_helpers -D TEST_EXECUTABLE=/Users/mathiasl/src/vrs_build/vrs/helpers/test_vrs_helpers -D TEST_EXECUTOR= -D TEST_WORKING_DIR=/Users/mathiasl/src/vrs_build/vrs/helpers -D TEST_EXTRA_ARGS= -D TEST_PROPERTIES= -D TEST_PREFIX= -D TEST_SUFFIX= -D TEST_FILTER= -D NO_PRETTY_TYPES=FALSE -D NO_PRETTY_VALUES=FALSE -D TEST_LIST=test_vrs_helpers_TESTS -D CTEST_FILE=/Users/mathiasl/src/vrs_build/vrs/helpers/test_vrs_helpers[1]_tests.cmake -D TEST_DISCOVERY_TIMEOUT=5 -D TEST_XML_OUTPUT_DIR= -P /opt/homebrew/Cellar/cmake/3.26.4/share/cmake/Modules/GoogleTestAddTests.cmake
Undefined symbols for architecture arm64:
  "typeinfo for testing::Test", referenced from:
      typeinfo for StringsHelpersTester in StringsTest.cpp.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
[77/137] Linking CXX executable vrs/os/test_vrs_os
FAILED: vrs/os/test_vrs_os vrs/os/test_vrs_os[1]_tests.cmake /Users/mathiasl/src/vrs_build/vrs/os/test_vrs_os[1]_tests.cmake
: && /opt/homebrew/bin/ccache /Library/Developer/CommandLineTools/usr/bin/c++ -O3 -DNDEBUG -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names  vrs/os/CMakeFiles/test_vrs_os.dir/test/TimeTest.cpp.o vrs/os/CMakeFiles/test_vrs_os.dir/test/EventUnitTest.cpp.o vrs/os/CMakeFiles/test_vrs_os.dir/test/UtilsTest.cpp.o -o vrs/os/test_vrs_os  vrs/os/libvrs_os.a  vrs/oss/TestDataDir/libvrs_oss_testdatadir.a  vrs/os/libvrs_os.a  vrs/oss/logging/libvrs_logging.a  /opt/homebrew/lib/libfmt.10.0.0.dylib  /opt/homebrew/lib/libboost_system-mt.dylib  /opt/homebrew/lib/libboost_filesystem-mt.dylib  /opt/homebrew/lib/libboost_atomic-mt.dylib  /opt/homebrew/lib/libboost_thread-mt.dylib  /opt/homebrew/lib/libboost_chrono-mt.dylib  /opt/homebrew/lib/libboost_date_time-mt.dylib  /opt/homebrew/anaconda3/lib/libgtest_main.1.10.0.dylib  /opt/homebrew/anaconda3/lib/libgtest.1.10.0.dylib && cd /Users/mathiasl/src/vrs_build/vrs/os && /opt/homebrew/Cellar/cmake/3.26.4/bin/cmake -D TEST_TARGET=test_vrs_os -D TEST_EXECUTABLE=/Users/mathiasl/src/vrs_build/vrs/os/test_vrs_os -D TEST_EXECUTOR= -D TEST_WORKING_DIR=/Users/mathiasl/src/vrs_build/vrs/os -D TEST_EXTRA_ARGS= -D TEST_PROPERTIES= -D TEST_PREFIX= -D TEST_SUFFIX= -D TEST_FILTER= -D NO_PRETTY_TYPES=FALSE -D NO_PRETTY_VALUES=FALSE -D TEST_LIST=test_vrs_os_TESTS -D CTEST_FILE=/Users/mathiasl/src/vrs_build/vrs/os/test_vrs_os[1]_tests.cmake -D TEST_DISCOVERY_TIMEOUT=5 -D TEST_XML_OUTPUT_DIR= -P /opt/homebrew/Cellar/cmake/3.26.4/share/cmake/Modules/GoogleTestAddTests.cmake
Undefined symbols for architecture arm64:
  "typeinfo for testing::Test", referenced from:
      typeinfo for TimeTest in TimeTest.cpp.o
      typeinfo for EventTest in EventUnitTest.cpp.o
      typeinfo for FileTest in UtilsTest.cpp.o
      typeinfo for GetCurrentExecutablePathTest in UtilsTest.cpp.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
[87/137] Building CXX object vrs/CMakeFiles/vrslib.dir/DataLayout.cpp.o
ninja: build stopped: subcommand failed.

compiling issue on Fedora 36.

Instructions To Reproduce the 🐛 Bug:

  1. Full runnable code or full changes you made:

Issues happen after pull most recent changes

git pull origin main

Was able to compile a month ago when checking out VRSplayer

  1. What exact command you run:
ninja all 
  1. Full logs or other relevant observations:
(base) [zhaoyang@zhaoyang-fedora-MJ0EZ5J4 build]$ ninja all
[1/31] Building CXX object vrs/helpers/CMakeFiles/vrs_helpers.dir/MemBuffer.cpp.o
FAILED: vrs/helpers/CMakeFiles/vrs_helpers.dir/MemBuffer.cpp.o 
/usr/bin/ccache /usr/lib64/ccache/c++ -DCEREAL_RAPIDJSON_NAMESPACE=fb_rapidjson -DCEREAL_RAPIDJSON_PARSE_DEFAULT_FLAGS="kParseFullPrecisionFlag|kParseNanAndInfFlag" -DCEREAL_RAPIDJSON_WRITE_DEFAULT_FLAGS=kWriteNoFlags -DCEREAL_THREAD_SAFE=1 -DFMT_LOCALE -DOSS_BUILD_MODE -I/home/zhaoyang/develop/vrs -I/home/zhaoyang/develop/vrs/vrs/oss -O3 -DNDEBUG -fPIC -std=c++17 -MD -MT vrs/helpers/CMakeFiles/vrs_helpers.dir/MemBuffer.cpp.o -MF vrs/helpers/CMakeFiles/vrs_helpers.dir/MemBuffer.cpp.o.d -o vrs/helpers/CMakeFiles/vrs_helpers.dir/MemBuffer.cpp.o -c /home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.cpp
In file included from /home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.cpp:17:
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:41:19: error: expected ‘)’ before ‘allocSize’
   41 |   MemBuffer(size_t allocSize = 256 * 1024);
      |            ~      ^~~~~~~~~~
      |                   )
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:46:34: error: ‘size_t’ has not been declared
   46 |   void addData(const void* data, size_t size);
      |                                  ^~~~~~
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:52:3: error: ‘size_t’ does not name a type
   52 |   size_t allocateSpace(uint8_t*& outData, size_t minSize);
      |   ^~~~~~
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:21:1: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
   20 | #include <vector>
  +++ |+#include <cstddef>
   21 | 
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:56:26: error: ‘size_t’ has not been declared
   56 |   void addAllocatedSpace(size_t size);
      |                          ^~~~~~
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:59:3: error: ‘size_t’ does not name a type
   59 |   size_t getSize() const;
      |   ^~~~~~
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:59:3: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:65:16: error: ‘size_t’ has not been declared
   65 |   void reserve(size_t size);
      |                ^~~~~~
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:67:3: error: ‘size_t’ does not name a type
   67 |   size_t allocSize_;
      |   ^~~~~~
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:67:3: note: ‘size_t’ is defined in header ‘<cstddef>’; did you forget to ‘#include <cstddef>’?
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.cpp:28:1: error: no declaration matches ‘vrs::helpers::MemBuffer::MemBuffer(size_t)’
   28 | MemBuffer::MemBuffer(size_t allocSize) : allocSize_{allocSize} {}
      | ^~~~~~~~~
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:32:7: note: candidates are: ‘vrs::helpers::MemBuffer::MemBuffer(vrs::helpers::MemBuffer&&)’
   32 | class MemBuffer {
      |       ^~~~~~~~~
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:32:7: note:                 ‘vrs::helpers::MemBuffer::MemBuffer(const vrs::helpers::MemBuffer&)’
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:32:7: note:                 ‘vrs::helpers::MemBuffer::MemBuffer()’
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:32:7: note: ‘class vrs::helpers::MemBuffer’ defined here
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.cpp:28:64: error: expected unqualified-id before ‘{’ token
   28 | MemBuffer::MemBuffer(size_t allocSize) : allocSize_{allocSize} {}
      |                                                                ^
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.cpp:30:6: error: no declaration matches ‘void vrs::helpers::MemBuffer::addData(const void*, size_t)’
   30 | void MemBuffer::addData(const void* data, size_t size) {
      |      ^~~~~~~~~
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:46:8: note: candidate is: ‘void vrs::helpers::MemBuffer::addData(const void*, int)’
   46 |   void addData(const void* data, size_t size);
      |        ^~~~~~~
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:32:7: note: ‘class vrs::helpers::MemBuffer’ defined here
   32 | class MemBuffer {
      |       ^~~~~~~~~
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.cpp:38:8: error: no declaration matches ‘size_t vrs::helpers::MemBuffer::allocateSpace(uint8_t*&, size_t)’
   38 | size_t MemBuffer::allocateSpace(uint8_t*& outData, size_t minSize) {
      |        ^~~~~~~~~
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.cpp:38:8: note: no functions named ‘size_t vrs::helpers::MemBuffer::allocateSpace(uint8_t*&, size_t)’
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:32:7: note: ‘class vrs::helpers::MemBuffer’ defined here
   32 | class MemBuffer {
      |       ^~~~~~~~~
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.cpp:45:6: error: no declaration matches ‘void vrs::helpers::MemBuffer::addAllocatedSpace(size_t)’
   45 | void MemBuffer::addAllocatedSpace(size_t size) {
      |      ^~~~~~~~~
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:56:8: note: candidate is: ‘void vrs::helpers::MemBuffer::addAllocatedSpace(int)’
   56 |   void addAllocatedSpace(size_t size);
      |        ^~~~~~~~~~~~~~~~~
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:32:7: note: ‘class vrs::helpers::MemBuffer’ defined here
   32 | class MemBuffer {
      |       ^~~~~~~~~
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.cpp:51:8: error: no declaration matches ‘size_t vrs::helpers::MemBuffer::getSize() const’
   51 | size_t MemBuffer::getSize() const {
      |        ^~~~~~~~~
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.cpp:51:8: note: no functions named ‘size_t vrs::helpers::MemBuffer::getSize() const’
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:32:7: note: ‘class vrs::helpers::MemBuffer’ defined here
   32 | class MemBuffer {
      |       ^~~~~~~~~
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.cpp: In member function ‘void vrs::helpers::MemBuffer::getData(std::vector<unsigned char>&)’:
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.cpp:63:24: error: ‘getSize’ was not declared in this scope; did you mean ‘getline’?
   63 |     size_t totalSize = getSize();
      |                        ^~~~~~~
      |                        getline
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.cpp: At global scope:
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.cpp:74:6: error: no declaration matches ‘void vrs::helpers::MemBuffer::reserve(size_t)’
   74 | void MemBuffer::reserve(size_t size) {
      |      ^~~~~~~~~
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:65:8: note: candidate is: ‘void vrs::helpers::MemBuffer::reserve(int)’
   65 |   void reserve(size_t size);
      |        ^~~~~~~
/home/zhaoyang/develop/vrs/vrs/helpers/MemBuffer.h:32:7: note: ‘class vrs::helpers::MemBuffer’ defined here
   32 | class MemBuffer {
      |       ^~~~~~~~~
ninja: build stopped: subcommand failed.```

Cmake configuration error when using Ubuntu 22.04

Hello, I'm trying to get this VRS library to build using a docker container with the following Ubuntu image:

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04 LTS"

When I try to run the following cmake configuration I get an error about a non-existant path in cereal::cereal:

cmake -DCMAKE_BUILD_TYPE=RELEASE /opt/vrs '-GCodeBlocks - Ninja'
-- CMAKE_CXX_COMPILER: /usr/bin/c++
-- CMAKE_CXX_COMPILER_VERSION: 11.2.0
-- CCACHE enabled
-- Configuring done
CMake Error in vrs/helpers/CMakeLists.txt:
  Imported target "cereal::cereal" includes non-existent path

    "/include"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.



CMake Error in vrs/helpers/CMakeLists.txt:
  Imported target "cereal::cereal" includes non-existent path

    "/include"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.



CMake Error in vrs/helpers/CMakeLists.txt:
  Imported target "cereal::cereal" includes non-existent path

    "/include"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.



-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.

I installed libcereal-dev along with all the other dependencies. This issue does not come up when using an Ubuntu 20.04 version.

Any help would be greatly appreciated :)

What's a good way to save multiple synchronized images?

Hi there, I have read the sample record app and have the above quesiton. If I have multiple images arrive at once, what's a good way to save them? Should I split them into multiple image streams or should I add content blocks in addRecordFormat?

Thanks in advance for your time and help!

pyVRS roadmap

Hello everyone,
as we've noticed, you're moving the whole pyvrs wrapper to whole another project.
Can you give a rough estimate on the roadmap and when we'll be able to see that working?
Will it support Windows platform, since we've been working with vrs on our Windows machines
for a while now ( PR can be found here )

Best regards

Build failed on Ubuntu 24.04

Instructions To Reproduce the 🐛 Bug:

  1. Full runnable code or full changes you made: nothing
  2. What exact command you run:
    mkdir /opt/vrs_Build && cd /opt/vrs_Build
    cmake -DCMAKE_BUILD_TYPE=RELEASE -S /opt/vrs -G Ninja -Wno-dev
    also try
    cmake -S /opt/vrs -G Ninja
  3. Full logs or other relevant observations:
-- External dependencies at /opt/vrs_Build/external
-- The CXX compiler identification is GNU 13.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- CMAKE_CXX_COMPILER: /usr/bin/c++
-- CMAKE_CXX_COMPILER_VERSION: 13.2.0
-- CCACHE enabled
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.83.0/BoostConfig.cmake (found version "1.83.0") found components: filesystem chrono date_time system thread 
Cloning into '/opt/vrs_Build/external/rapidjson'...
-- Found RapidJson: /opt/vrs_Build/external/rapidjson
-- Found Lz4: /usr/lib/x86_64-linux-gnu/liblz4.so  
-- Found Zstd: /usr/lib/x86_64-linux-gnu/libzstd.so  
-- Found xxHash: /usr/lib/x86_64-linux-gnu/libxxhash.so  
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.3")  
-- Found PNG: /usr/lib/x86_64-linux-gnu/libpng.so (found version "1.6.43") 
CMake Error at /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find JPEG (missing: JPEG_LIBRARY JPEG_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake-3.28/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.28/Modules/FindJPEG.cmake:106 (find_package_handle_standard_args)
  cmake/LibrariesSetup.cmake:34 (find_package)
  CMakeLists.txt:66 (include)
  1. please simplify the steps as much as possible so they do not require
    git clone, install tools and lib, cmake with error

Expected behavior:

compiling successfully

A


🚀 Feature

A clear and concise description of the feature proposal.

Motivation & Examples

Tell us why the feature is useful.

Describe what the feature would look like, if it is implemented. Best
demonstrated using code examples in addition to words.

Clarification about appropriate use cases

Hi,

the documentation mentions that "point cloud data" is a poor use case however it seems to me that it fits the criteria of having data regularity and time stamps (when coming from a lidar).

Is recording data from a lidar a poor use case or does the documentation mean specifically point cloud environment models, e.g. after post processing and assembling from a scanner?

Thanks,

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.