# Auto-generated Dockerfile for building x64dbg-style project on Ubuntu Linux (Linux cross-compilation path)
FROM ubuntu:jammy-20260217 AS builder
ENV DEBIAN_FRONTEND=noninteractive
# Install build dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
cmake \
ninja-build \
git \
qtbase5-dev \
qt5-default \
qttools5-dev-tools \
libx11-dev \
libxcb1-dev \
&& rm -rf /var/lib/apt/lists/*
# Copy source code into the image
WORKDIR /src
COPY . /src
# Initialize submodules if necessary (best-effort)
RUN git submodule update --init --recursive || true
# Configure and build using Ninja
RUN mkdir -p build
WORKDIR /src/build
RUN cmake -G Ninja -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_UNITY_BUILD=ON \
-DCMAKE_UNITY_BUILD_BATCH_SIZE=6 \
-DX64DBG_RELEASE=ON .. \
&& cmake --build . -j$(nproc)
# Runtime image
FROM ubuntu:jammy-20260217
ENV DEBIAN_FRONTEND=noninteractive
# Install runtime dependencies (kept minimal but aligned with blueprint)
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
cmake \
ninja-build \
git \
qtbase5-dev \
qt5-default \
libx11-dev \
libxcb1-dev \
&& rm -rf /var/lib/apt/lists/*
# Copy built artifacts from builder
WORKDIR /app
COPY --from=builder /src/build /app/build
# Expose environment for binaries if present
ENV PATH=/app/build/bin:${PATH}
# Default to a shell to allow inspection; GUI apps won't run in this headless container
CMD ["/bin/bash"]
**/.git **/node_modules build/ bin/ *.o *.obj *.exe *.dll *.so *.dylib *.log CMakeFiles/ CMakeCache.txt cmake-build-*/
Status and context - VerifyBuild status: build_failed - Concerns: Runtime image installs build tools (build-essential, cmake, ninja-build, git) and Qt dev packages, increasing image size; Qt dependencies in runtime may pull GUI libs; if headless, trim runtime deps. Failing steps and exit codes - stage-1 2/4: exit code 100 - builder 2/8: exit code 100 Exact failing commands - stage-1: RUN apt-get update && apt-get install -y --no-install-recommends build-essential cmake ninja-build git qtbase5-dev qt5-default libx11-dev libxcb1-dev && rm -rf /var/lib/apt/lists/* - builder: RUN apt-get update && apt-get install -y --no-install-recommends build-essential cmake ninja-build git qtbase5-dev qt5-default qttools5-dev-tools libx11-dev libxcb1-dev && rm -rf /var/lib/apt/lists/* Error messages - Package qt5-default is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source - E: Package 'qt5-default' has no installation candidate Missing/affected files - qt5-default (not available in the base image's apt repositories) Base image context - Base image shown: ubuntu:jammy-20260217 (Jammy 22.04) - The errors indicate qt5-default is not available in Jammy's apt sources (likely deprecated/removed) Actionable notes - Remove qt5-default from the install list for Jammy, or - Replace qt5-default with an alternative Qt5 setup (e.g., ensure compatibility via qtbase5-dev and appropriate Qt5 libs from a compatible repo), or - Switch to a base image that includes a supported Qt5 setup.
# Auto-generated Dockerfile for building x64dbg-style project on Ubuntu Linux (Linux cross-compilation path)
FROM ubuntu:jammy-20260217 AS builder
ENV DEBIAN_FRONTEND=noninteractive
# Install build dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
cmake \
ninja-build \
git \
qtbase5-dev \
qttools5-dev-tools \
libx11-dev \
libxcb1-dev \
&& rm -rf /var/lib/apt/lists/*
# Copy source code into the image
WORKDIR /src
COPY . /src
# Initialize submodules if necessary (best-effort)
RUN git submodule update --init --recursive || true
# Configure and build using Ninja
RUN mkdir -p build
WORKDIR /src/build
RUN cmake -G Ninja -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_UNITY_BUILD=ON \
-DCMAKE_UNITY_BUILD_BATCH_SIZE=6 \
-DX64DBG_RELEASE=ON .. \
&& cmake --build . -j$(nproc)
# Runtime image
FROM ubuntu:jammy-20260217
ENV DEBIAN_FRONTEND=noninteractive
# Install runtime dependencies (kept minimal but aligned with blueprint)
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
cmake \
ninja-build \
git \
qtbase5-dev \
qttools5-dev-tools \
libx11-dev \
libxcb1-dev \
&& rm -rf /var/lib/apt/lists/*
# Copy built artifacts from builder
WORKDIR /app
COPY --from=builder /src/build /app/build
# Expose environment for binaries if present
ENV PATH=/app/build/bin:${PATH}
# Default to a shell to allow inspection; GUI apps won't run in this headless container
CMD ["/bin/bash"]