The following bugs arise when a user tries to setup and run ResDB on Docker using the instructions on the README.md file. The user runs the following command to setup the docker container:
Below command downloads Ubuntu:24.04 on user's environment:
docker run --name resilientdb-latest --memory=8g --volume /Users/uchandar/Documents/Dev-Workspace/resilientdb-latest:/home/ubuntu/resilientdb-latest -dt ubuntu:latest
User Environment/Platform Details:
- Host OS: MacOS Sequoia 15.7.4
- Application: Docker Desktop
BUG 1: Missing install commands in INSTALL.sh
- Latest ubuntu version doesn't come pre-installed with following packages [sudo, wget etc.]
- Currently, INSTALL.sh file uses the above commands and doesn't have any install commands for the same via apt package manager.
- Need of install commands for above mentioned packages via APT package manager before moving on with further installation.
LOGS:
root@6905020ccd78:/home/ubuntu/incubator-resilientdb# ./INSTALL.sh
./INSTALL.sh: line 23: sudo: command not found
./INSTALL.sh: line 24: sudo: command not found
./INSTALL.sh: line 25: sudo: command not found
./INSTALL.sh: line 26: sudo: command not found
./INSTALL.sh: line 28: curl: command not found
./INSTALL.sh: line 28: gpg: command not found
./INSTALL.sh: line 29: sudo: command not found
./INSTALL.sh: line 30: sudo: command not found
./INSTALL.sh: line 31: curl: command not found
./INSTALL.sh: line 31: sudo: command not found
./INSTALL.sh: line 32: sudo: command not found
./INSTALL.sh: line 33: sudo: command not found
rm: cannot remove '/home/ubuntu/incubator-resilientdb/.git/hooks/pre-push': No such file or directory
./INSTALL.sh: line 37: bazel: command not found
./INSTALL.sh: line 42: sudo: command not found
rm: cannot remove 'bazel-6.0.0-dist.zip': No such file or directory
./INSTALL.sh: line 45: wget: command not found
mv: cannot stat 'bazel-6.0.0-dist.zip': No such file or directory
./INSTALL.sh: line 50: unzip: command not found
bash: ./compile.sh: No such file or directory
./INSTALL.sh: line 54: sudo: command not found
./INSTALL.sh: line 61: bazel: command not found
./INSTALL.sh: line 63: sudo: command not found
./INSTALL.sh: line 64: sudo: command not found
BUG 2: Bazel Installation Failure on ARM64 Architecture
- Environment:
- OS: Ubuntu Image [ ARM64 (aarch64) ]
- The installation script fails to install Bazel using the official APT repository. While the repository is correctly added, it only contains packages for the amd64 architecture. Consequently, the system cannot find a compatible bazel package for the arm64 architecture, leading to subsequent execution failures in the script.
- Root Cause: The official Bazel APT repository does not support arm64 Linux distributions. Users on ARM-based systems must use alternative installation methods
LOGS: install.log
ACTION TAKEN: Installed Bazel using Bazelisk.
BUG-3: Missing C++ Toolchain in environment and INSTALL.sh
- The Bazel build fails during the analysis phase because it cannot locate a valid C++ compiler.
**ERROR MESSAGE:**
`Auto-Configuration Error: Cannot find gcc or CC; either correct your path or set the CC environment variable.`
LOGS: bazelBuildKVService.log
ACTION TAKEN: Added apt-get update && apt-get install -y build-essential inside INSTALL.sh script.
BUG-4: Compilation Errors and Broken Dependencies on Ubuntu:latest [ Ubuntu:24.04 ]
- The build for //service/kv:kv_service fails on Ubuntu 24.04 due to stricter header requirements in GCC 13 and a stale external dependency URL.
- These issues were not present on Ubuntu 22.04 (Jammy) because older GCC 11 versions included standard headers implicitly.
- Additionally, The zlib download fails because version 1.2.12 has been removed from the primary provider's server.
LOGS: bazelBuildKVService2-verbose.log
BUG 5: Incompatible Abseil Dependency for GCC 13 on Ubuntu:latest
- The project uses Abseil 20211102.0, which is incompatible with the GCC 13 compiler provided by ubuntu:latest.
- Compilation errors regarding missing standard headers (<cstdint>) and type-punning violations within the external/com_google_absl directory.
RECOMMENDED ACTIONS:
- Update WORKSPACE to a modern Abseil LTS (e.g., 20240116.2) that supports GCC 13/Ubuntu 24.04.
- Force a Downgrade of the Compiler to GCC 11 on Ubuntu:latest.
The following bugs arise when a user tries to setup and run ResDB on Docker using the instructions on the README.md file. The user runs the following command to setup the docker container:
User Environment/Platform Details:
BUG 1: Missing install commands in INSTALL.sh
LOGS:
BUG 2: Bazel Installation Failure on ARM64 Architecture
LOGS: install.log
ACTION TAKEN: Installed Bazel using Bazelisk.
BUG-3: Missing C++ Toolchain in environment and INSTALL.sh
LOGS: bazelBuildKVService.log
ACTION TAKEN: Added
apt-get update && apt-get install -y build-essentialinside INSTALL.sh script.BUG-4: Compilation Errors and Broken Dependencies on Ubuntu:latest [ Ubuntu:24.04 ]
LOGS: bazelBuildKVService2-verbose.log
BUG 5: Incompatible Abseil Dependency for GCC 13 on Ubuntu:latest
RECOMMENDED ACTIONS: