Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
FS#74720 - gcc-d removed from the package repository
Attached to Project:
Arch Linux
Opened by ibuclaw (ibuclaw) - Thursday, 12 May 2022, 15:04 GMT
Last edited by freswa (frederik) - Friday, 22 July 2022, 22:31 GMT
Opened by ibuclaw (ibuclaw) - Thursday, 12 May 2022, 15:04 GMT
Last edited by freswa (frederik) - Friday, 22 July 2022, 22:31 GMT
|
DetailsDescription: As part of the upgrade to version 12.1
https://github.com/archlinux/svntogit-packages/commit/6ebddb843f621263f4ce6e5a8b2b6856f337c218 Steps to reproduce: pacman -S gcc-d Steps to fix: Mostly revert svn@444777, then apply proper fix for upgrading to gcc 12.1.0-1 diff --git a/trunk/PKGBUILD b/trunk/PKGBUILD index 2dc218c..c19d018 100644 --- a/trunk/PKGBUILD +++ b/trunk/PKGBUILD @@ -19,6 +19,7 @@ makedepends=( binutils doxygen gcc-ada + gcc-d git lib32-glibc lib32-gcc-libs Re-building will only succeed using gcc from archive /repos/2022/05/10/. |
This task depends upon
Closed by freswa (frederik)
Friday, 22 July 2022, 22:31 GMT
Reason for closing: Fixed
Additional comments about closing: gcc-d-12.1.0-3 in [staging] - will be in [testing] shortly
Friday, 22 July 2022, 22:31 GMT
Reason for closing: Fixed
Additional comments about closing: gcc-d-12.1.0-3 in [staging] - will be in [testing] shortly
Looking in community, I can see packages such as adrdox, appstream-generator, dcd, dfmt, dub, tilix, meson. It's also been used to bootstrap ldc and dmd D compilers if they don't exist on new ports on other distributions.
@ibuclaw, the trouble is, it fails to build using current Arch bootstrap procedure. I also hit this during gcc-12 dev cycle. To be honest, I didn't spend much time trying to debug it. Apologies for not raising ticket upstream. It craps out here:
/build/gcc/src/gcc/gcc/d/dmd/cond.d:637:9: error: ‘object.__switch’ not found. The current runtime does not support switch cases on strings, or the runtime is corrupt.
637 | switch (ident)
| ^
make[3]: *** [/build/gcc/src/gcc/gcc/d/Make-lang.in:400: d/cond.o] Error 1
Coincidentally, while working on streamlining the current Arch toolchain bootstrap procedure, I discovered it *does* build if the first pass of gcc is built with "--disable-bootstrap". But I don't fully understand why this works. Building first pass GCC like this doesn't seem to affect overall reproducibility... but still testing....
Moving the symlink to `/usr/lib/gcc/x86_64-pc-linux-gnu/11.2.0/include/dlang/gdc` sorts things out, but you'll need a solution that doesn't involve hacking what's currently installed.
While we have your attention, there's been some chatter about building / packaging gdc separately from main GCC, I'm assuming similar to how it's been done in the AUR [1]. Any thoughts on this idea? I personally prefer to build it all together like other distros but I believe @freswa has been looking into various options to ease toolchain maintenance.
[1] https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=gdc-git
The only downside to not having it included with the main gcc build is that you lose the integration between the each language driver and compiler-proper, though I imagine using gcc to handle the compilation of D sources is likely a very niche thing to do.
(Edit, apparently I borked on getting the diff out of git).
(And deleting files is out of the question for unknown reasons).