-
-
Notifications
You must be signed in to change notification settings - Fork 272
Description
Hi, I'm trying to build an image with LDC (https://hub.docker.com/r/starxen/ldc) on PPC64LE, but unfortunately I encounter an error during the build. Here is where the error occurs:
[108/268] /usr/bin/c++ -DLDC_DYNAMIC_COMPILE -DLDC_DYNAMIC_COMPILE_API_VERSION=4 -DLDC_ENABLE_PLUGINS -DLDC_LLVM_SUPPORTED_TARGET_AArch64=1 -DLDC_LLVM_SUPPORTED_TARGET_AMDGPU=1 -DLDC_LLVM_SUPPORTED_TARGET_ARM=1 -DLDC_LLVM_SUPPORTED_TARGET_AVR=1 -DLDC_LLVM_SUPPORTED_TARGET_BPF=1 -DLDC_LLVM_SUPPORTED_TARGET_Hexagon=1 -DLDC_LLVM_SUPPORTED_TARGET_Lanai=1 -DLDC_LLVM_SUPPORTED_TARGET_LoongArch=1 -DLDC_LLVM_SUPPORTED_TARGET_M68k=1 -DLDC_LLVM_SUPPORTED_TARGET_MSP430=1 -DLDC_LLVM_SUPPORTED_TARGET_Mips=1 -DLDC_LLVM_SUPPORTED_TARGET_NVPTX=1 -DLDC_LLVM_SUPPORTED_TARGET_PowerPC=1 -DLDC_LLVM_SUPPORTED_TARGET_RISCV=1 -DLDC_LLVM_SUPPORTED_TARGET_Sparc=1 -DLDC_LLVM_SUPPORTED_TARGET_SystemZ=1 -DLDC_LLVM_SUPPORTED_TARGET_VE=1 -DLDC_LLVM_SUPPORTED_TARGET_WebAssembly=1 -DLDC_LLVM_SUPPORTED_TARGET_X86=1 -DLDC_LLVM_SUPPORTED_TARGET_XCore=1 -DLDC_LLVM_SUPPORTED_TARGET_Xtensa=1 -I/build/ldc/. -I/build/ldc/dmd -DDMDV2 -O3 -DNDEBUG -I/usr/lib/llvm-19/include -std=c++17 -fno-exceptions -funwind-tables -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -fno-rtti -Wall -Wextra -Wno-unused-parameter -Wno-comment -Wno-missing-field-initializers -Wno-non-virtual-dtor -Wno-pedantic -DLDC_POSIX -DIN_LLVM -DOPAQUE_VTBLS "-DLDC_INSTALL_PREFIX=R"(/install-ldc)"" -DLDC_LLVM_VER=1901 "-DLDC_LIBDIR_SUFFIX=R"()"" -DLDC_HOST_GDMD=1 -DLDC_HOST_FE_VER=2108 "-DLDC_LLVM_LIBDIR=R"(/usr/lib/llvm-19/lib)"" -DNDEBUG -MD -MT CMakeFiles/LDCShared.dir/driver/main.cpp.o -MF CMakeFiles/LDCShared.dir/driver/main.cpp.o.d -o CMakeFiles/LDCShared.dir/driver/main.cpp.o -c /build/ldc/driver/main.cpp
ninja: build stopped: subcommand failed.
root@c30a233567fe:/build/build-ldc#
Below is a minimal Dockerfile that reproduces this build using Docker with buildx (via QEMU on any host):
FROM debian:13 AS build_ldc
RUN apt-get update && apt-get install -y git-core g++ gdc gdmd cmake ninja-build python3 zlib1g-dev libcurl4t64 gdb unzip zip tzdata llvm-dev libclang-common-19-dev && rm -rf /var/lib/apt/lists/*
WORKDIR /build
RUN git clone https://github.com/ldc-developers/ldc && cd ldc && git checkout tags/v1.41.0 && git submodule update --init --recursive
WORKDIR /build/build-ldc
RUN cmake -G Ninja ../ldc -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON -DCMAKE_INSTALL_PREFIX=/install-ldc
Based on this Dockerfile
You can run it with the following commands:
docker buildx build -t starxen/ldc:trixie_ppc64le --platform linux/ppc64le --load .
docker run --rm -it --platform linux/ppc64le starxen/ldc:trixie_ppc64le bash
ninja -v -j"$(nproc)"
If I can provide a more detailed log or anything else, please let me know where to send it—I’m happy to help.