Instructions To Reproduce the 🐛 Bug:
- Full runnable code or full changes you made:
Using either current main (23703d5) or detached v1.4.0, without changes.
- What exact command you run:
docker build . -t vrs, as the README suggests
- Full logs or other relevant observations:
There are a number of problems:
CMake is too old for Ocean
The dockerfile is pinned to Ubuntu Jammy, which has a high enough CMake for vrs but not for Ocean, resulting in
2.526 -- ⤷ FetchContent: pulling and building Facebook Ocean…
5.680 CMake Error at /opt/vrs_Build/_deps/ocean-src/CMakeLists.txt:6 (cmake_minimum_required):
5.680 CMake 3.26 or higher is required. You are running version 3.22.1
Dependencies are missing
Bumping the Dockerfile to noble or resolute, the build still fails because of libeigen3-dev and so on
5.889 CMake Error at /opt/vrs_Build/_deps/ocean-src/impl/ocean/cv/CMakeLists.txt:19 (find_package):
5.889 By not providing "FindEigen3.cmake" in CMAKE_MODULE_PATH this project has
5.889 asked CMake to find a package configuration file provided by "Eigen3", but
5.889 CMake did not find one.
5.889
5.889 Could not find a package configuration file provided by "Eigen3" with any
5.889 of the following names:
5.889
5.889 Eigen3Config.cmake
5.889 eigen3-config.cmake
5.889
5.889 Add the installation prefix of "Eigen3" to CMAKE_PREFIX_PATH or set
5.889 "Eigen3_DIR" to a directory containing one of the above files. If "Eigen3"
5.889 provides a separate development package or SDK, be sure it has been
5.889 installed.
5.889
Various other errors in build
Adding nasm, yasm, libeigen3-dev, and libopus-dev to the apt-get install command in the Dockerfile, as listed in the README, gets to the point of compiling but then runs into further errors.
37.85 /opt/vrs/vrs/RecordManager.cpp:21:10: fatal error: thread_safety_analysis/Attributes.h: No such file or directory
37.85 21 | #include <thread_safety_analysis/Attributes.h>
37.85 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37.85 compilation terminated.
The below ones may be aarch64 exclusive, I'm not sure.
6.377 /usr/lib/gcc/aarch64-linux-gnu/15/include/arm_neon.h:37:21: note: initializing argument 1 of '__Uint8x8_t vget_low_u8(__Uint8x16_t)'
6.377 37 | #pragma GCC aarch64 "arm_neon.h"
6.377 | ^~~~~~~~~~~~
6.377 /opt/vrs_Build/_deps/ocean-src/impl/ocean/cv/FrameConverter.h:3576:71: error: cannot convert 'const int16x8_t' to '__Uint8x16_t' [-Wtemplate-body]
6.377 3576 | unpackedC_u_16x4 = vshl_u16(intermediateC_u_16x4, vget_low_u8(rightShifts_s_16x8));
6.377 | ^~~~~~~~~~~~~~~~~~
6.377 | |
6.377 | const int16x8_
6.398 /opt/vrs_Build/_deps/ocean-src/impl/ocean/cv/FrameConverter.h:3569:110: error: cannot convert 'const int8x16_t' to '__Uint8x16_t' [-Wtemplate-body]
6.398 3569 | const uint16x4_t intermediateC_u_16x4 = vreinterpret_u16_u8(vshl_u8(intermediateC_u_8x8, vget_low_u8(leftShifts_s_8x16)));
6.398 | ^~~~~~~~~~~~~~~~~
6.398 | |
6.398 | const int8x16_t
6.398 /usr/lib/gcc/aarch64-linux-gnu/15/include/arm_neon.h:37:21: note: initializing argument 1 of '__Uint8x8_t vget_low_u8(__Uint8x16_t)'
6.398 37 | #pragma GCC aarch64 "arm_neon.h"
6.398 | ^~~~~~~~~~~~
6.398 /opt/vrs_Build/_deps/ocean-src/impl/ocean/cv/FrameConverter.h:3576:71: error: cannot convert 'const int16x8_t' to '__Uint8x16_t' [-Wtemplate-body]
6.398 3576 | unpackedC_u_16x4 = vshl_u16(intermediateC_u_16x4, vget_low_u8(rightShifts_s_16x8));
6.398 | ^~~~~~~~~~~~~~~~~~
6.398 | |
6.398 | const int16x8_t
(...and others)
### Other relevant info
I'm running on an M3 Pro MacBook Pro using OrbStack. The issues do not change in any meaningful way regardless of if I use aarch64 or x86 mode (e.g. docker build . --platform linux/amd64 -t vrs produces the same problems, except where mentioned), and due to the errors being raised from the internal compiler process I don't believe they're caused by the host environment or runtime (but if you don't get these issues on a different Docker runtime I'd love to hear about it).
Expected behavior:
The docker container finishes building successfully.
Instructions To Reproduce the 🐛 Bug:
Using either current
main(23703d5) or detachedv1.4.0, without changes.docker build . -t vrs, as the README suggestsThere are a number of problems:
CMake is too old for Ocean
The dockerfile is pinned to Ubuntu Jammy, which has a high enough CMake for vrs but not for Ocean, resulting in
Dependencies are missing
Bumping the Dockerfile to
nobleorresolute, the build still fails because oflibeigen3-devand so onVarious other errors in build
Adding
nasm,yasm,libeigen3-dev, andlibopus-devto theapt-get installcommand in the Dockerfile, as listed in the README, gets to the point of compiling but then runs into further errors.The below ones may be aarch64 exclusive, I'm not sure.
(...and others)
### Other relevant info
I'm running on an M3 Pro MacBook Pro using OrbStack. The issues do not change in any meaningful way regardless of if I use aarch64 or x86 mode (e.g.
docker build . --platform linux/amd64 -t vrsproduces the same problems, except where mentioned), and due to the errors being raised from the internal compiler process I don't believe they're caused by the host environment or runtime (but if you don't get these issues on a different Docker runtime I'd love to hear about it).Expected behavior:
The docker container finishes building successfully.