dlang / dub

Package and build management system for D
MIT License
673 stars 230 forks source link

Fix gdc build and test failures #2795

Closed the-horo closed 8 months ago

github-actions[bot] commented 8 months ago

✅ PR OK, no changes in deprecations or warnings

Total deprecations: 0

Total warnings: 0

Build statistics:

 statistics (-before, +after)
 executable size=5228376 bin/dub
-rough build time=62s
+rough build time=61s
Full build output ``` DUB version 1.35.1, built on Jan 6 2024 LDC - the LLVM D compiler (1.36.0): based on DMD v2.106.1 and LLVM 17.0.6 built with LDC - the LLVM D compiler (1.36.0) Default target: x86_64-unknown-linux-gnu Host CPU: znver3 http://dlang.org - http://wiki.dlang.org/LDC Registered Targets: aarch64 - AArch64 (little endian) aarch64_32 - AArch64 (little endian ILP32) aarch64_be - AArch64 (big endian) amdgcn - AMD GCN GPUs arm - ARM arm64 - ARM64 (little endian) arm64_32 - ARM64 (little endian ILP32) armeb - ARM (big endian) avr - Atmel AVR Microcontroller bpf - BPF (host endian) bpfeb - BPF (big endian) bpfel - BPF (little endian) hexagon - Hexagon lanai - Lanai loongarch32 - 32-bit LoongArch loongarch64 - 64-bit LoongArch mips - MIPS (32-bit big endian) mips64 - MIPS (64-bit big endian) mips64el - MIPS (64-bit little endian) mipsel - MIPS (32-bit little endian) msp430 - MSP430 [experimental] nvptx - NVIDIA PTX 32-bit nvptx64 - NVIDIA PTX 64-bit ppc32 - PowerPC 32 ppc32le - PowerPC 32 LE ppc64 - PowerPC 64 ppc64le - PowerPC 64 LE r600 - AMD GPUs HD2XXX-HD6XXX riscv32 - 32-bit RISC-V riscv64 - 64-bit RISC-V sparc - Sparc sparcel - Sparc LE sparcv9 - Sparc V9 spirv32 - SPIR-V 32-bit spirv64 - SPIR-V 64-bit systemz - SystemZ thumb - Thumb thumbeb - Thumb (big endian) ve - VE wasm32 - WebAssembly 32-bit wasm64 - WebAssembly 64-bit x86 - 32-bit X86: Pentium-Pro and above x86-64 - 64-bit X86: EM64T and AMD64 xcore - XCore Upgrading project in /home/runner/work/dub/dub/ Starting Performing "release" build using /opt/hostedtoolcache/dc/ldc2-1.36.0/x64/ldc2-1.36.0-linux-x86_64/bin/ldc2 for x86_64. Building dub 1.36.0-beta.1+commit.38.g7258a664: building configuration [application] Linking dub STAT:statistics (-before, +after) STAT:executable size=5228376 bin/dub STAT:rough build time=61s ```
ibuclaw commented 8 months ago

Are there bug reports?

the-horo commented 8 months ago

@ibuclaw I suppose you refer to the ICE.

Here's what I get when trying to compile dub (using a manual command because of -Werror causing the build to fail sooner):

% gdc @build-files.txt -o bin/dub -fversion=DubUseCurl -fversion=DubApplication -I source  -fpreview=in  -freport-bug
/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/d/std/math/exponential.d:587:30: internal compiler error: in layout_aggregate_type, at d/types.cc:562
  587 |             enum maxOdd = pow(2.0L, real.mant_dig) - 1.0L;
      |                              ^
0x7fcb9ab102df __libc_start_call_main
        ../sysdeps/nptl/libc_start_call_main.h:58
0x7fcb9ab10398 __libc_start_main_impl
        ../csu/libc-start.c:360
Please submit a full bug report, with preprocessed source.
Please include the complete backtrace with any bug report.
See <https://bugs.gentoo.org/> for instructions.

Looking at https://gcc.gnu.org/bugzilla I found https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112285 and https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112290 which both have small reproducers and have a similar setup to the dub build failure, -fpreview=in causing an ICE.

I don't know how to minimize such an error, nor do I have the time right now to do it, so all I did was remove the flag and add a comment saying why it was removed. I though that it was better to have those 2 bugs solved and see if the error persists in dub rather then opening a new issue that just said "dub fails to build with -fpreview=in".

I'm pretty new to this so, if you think my reasoning wasn't right, I will accept it and try not to do it in the future :)

ibuclaw commented 6 months ago

@ibuclaw I suppose you refer to the ICE.

Here's what I get when trying to compile dub (using a manual command because of -Werror causing the build to fail sooner):

% gdc @build-files.txt -o bin/dub -fversion=DubUseCurl -fversion=DubApplication -I source  -fpreview=in  -freport-bug
/usr/lib/gcc/x86_64-pc-linux-gnu/14/include/d/std/math/exponential.d:587:30: internal compiler error: in layout_aggregate_type, at d/types.cc:562
  587 |             enum maxOdd = pow(2.0L, real.mant_dig) - 1.0L;
      |                              ^
0x7fcb9ab102df __libc_start_call_main
        ../sysdeps/nptl/libc_start_call_main.h:58
0x7fcb9ab10398 __libc_start_main_impl
        ../csu/libc-start.c:360
Please submit a full bug report, with preprocessed source.
Please include the complete backtrace with any bug report.
See <https://bugs.gentoo.org/> for instructions.

Looking at https://gcc.gnu.org/bugzilla I found https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112285 and https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112290 which both have small reproducers and have a similar setup to the dub build failure, -fpreview=in causing an ICE.

It's probably PR11285 then.