Skip to content

Provided Dockerfile seems to be unmaintained #247

Description

@tstolarski

Instructions To Reproduce the 🐛 Bug:

  1. Full runnable code or full changes you made:

Using either current main (23703d5) or detached v1.4.0, without changes.

  1. What exact command you run: docker build . -t vrs, as the README suggests
  2. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions