Skip to content

Unable to build LDC 1.41 on Linux/PPC64LE #5010

@laserovsky

Description

@laserovsky

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions