Summary: | Error compiling cross-gcc-stage1 (cross-i686-w64-mingw32) on the clang profile | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Gonçalo Negrier Duarte <gonegrier.duarte> |
Component: | Current packages | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | UNCONFIRMED --- | ||
Severity: | normal | CC: | gonegrier.duarte, ionen |
Priority: | Normal | Keywords: | PATCH |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: |
https://bugs.gentoo.org/show_bug.cgi?id=914565 https://bugs.gentoo.org/show_bug.cgi?id=912035 https://bugs.gentoo.org/show_bug.cgi?id=922710 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
cross-i686-w64-mingw32-gcc-stage1.log
cross-i686-w64-mingw32-info.log mingw-libcxx17.patch fix-mingw-libcxx17.patch cross-i686-w64-mingw32-gcc-stage1.log cross-i686-w64-mingw32-gcc-stage1.log |
Description
Gonçalo Negrier Duarte
2024-01-14 19:01:05 UTC
Created attachment 882279 [details]
cross-i686-w64-mingw32-gcc-stage1.log
Created attachment 882280 [details]
cross-i686-w64-mingw32-info.log
fwiw mingw64-toolchain (includes gcc) builds fine on clang profiles (even llvm-musl), albeit I never test crossdev there May be related to more things being enabled compared to mingw64-toolchain (or at least in stage1). /usr/include/c++/v1/locale:289:36: error: attempt to use a poisoned identifier 289 | __status = (unsigned char*)malloc(__nkw); Wait a minute, I remember this now. Looks a lot like bug #914565 and bug #912035, but afaik it should be fixed in the version you're using? mingw64-toolchain isn't using snapshots, so it still has the patch for it. (In reply to Ionen Wolkens from comment #4) > Wait a minute, I remember this now. Looks a lot like bug #914565 and bug > #912035, but afaik it should be fixed in the version you're using? Well, bug #912035 was a bit different. So maybe it didn't fix all the libcxx17 issues. Created attachment 882281 [details, diff]
mingw-libcxx17.patch
Have not tested it with crossdev and current snapshots, but I assume the attached gcc patch would let it build.
Ionen the patch dosen't seem right this part no longer exist in the system.h file: ``` @@ -230,7 +233,4 @@ # include <set> #endif -#ifdef INCLUDE_VECTOR -# include <vector> -#endif #ifdef INCLUDE_ARRAY # include <array> ``` I just removed from the patch Patch failing log: ``` * Applying user patches from /etc/portage/patches ... * Applying mingw-libcxx17.patch ... patching file gcc/system.h Hunk #1 succeeded at 597 with fuzz 1 (offset 395 lines). Hunk #2 FAILED at 233. 1 out of 2 hunks FAILED -- saving rejects to file gcc/system.h.rej patching file libcc1/libcc1plugin.cc patching file libcc1/libcp1plugin.cc [ !! ] ``` After removed the lines on https://bugs.gentoo.org/922124#c7 it seems to be compiling, let see if fails. Created attachment 882290 [details, diff]
fix-mingw-libcxx17.patch
Created attachment 882291 [details]
cross-i686-w64-mingw32-gcc-stage1.log
Still failing probably is because of LLVM 17 toolchain
But the error seems differente now
```
for file in $parts; do \
rm -f /var/tmp/portage/cross-i686-w64-mingw32/gcc-13.2.1_p20231216/image/usr/lib/gcc/i686-w64-mingw32/13/$file; \
/usr/lib/portage/python3.11/ebuild-helpers/xattr/install -c -m 644 $file /var/tmp/portage/cross-i686-w64-mingw32/gcc-13.2.1_p20231216/image/usr/lib/gcc/i686-w64-mingw32/13/; \
case $file in \
*.a) \
/usr/libexec/gcc/i686-w64-mingw32/ranlib ../.././gcc/$file ;; \
esac; \
done
```
Oh sorry, I based the patch on gcc-13-20231216.tar.xz but forgot to account for gentoo's patchset which conflicts with it. (In reply to Ionen Wolkens from comment #11) > Oh sorry, I based the patch on gcc-13-20231216.tar.xz but forgot to account > for gentoo's patchset which conflicts with it. No problem you have given a look at the new log file? (In reply to Gonçalo Negrier Duarte from comment #12) > (In reply to Ionen Wolkens from comment #11) > > Oh sorry, I based the patch on gcc-13-20231216.tar.xz but forgot to account > > for gentoo's patchset which conflicts with it. > > No problem you have given a look at the new log file? Yes, but that's not a problem I had with mingw64-toolchain+llvm, so I don't have insight for it unlike the libcxx poisoning patch (I maintain that package but I don't really handle crossdev gcc, was just checking for similarities that could help). Ok no problem thanks for the help I can wait for a fix no problem. 13.2.1_p20240113-r1 is stable now which fixes the include issue hopefully. The other issue presumably remains. Ok Sam I gonna test and report back Still dosent compile after the update Created attachment 882989 [details]
cross-i686-w64-mingw32-gcc-stage1.log
New logs uploaded
|