* [Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs
2021-05-05 3:48 [Bug libstdc++/100427] New: canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs unlvsur at live dot com
@ 2021-05-05 3:51 ` unlvsur at live dot com
2021-05-05 3:53 ` unlvsur at live dot com
` (11 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: unlvsur at live dot com @ 2021-05-05 3:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427
--- Comment #1 from cqwrteur <unlvsur at live dot com> ---
I think this is probably the reason why I got the last error, because canadian
cross toolchains install the wrong multilibs for dlls.
I personally suggest libstdc++-6.dll should install in /lib just like Linux or
other POSIX compliant systems are doing. Or of course, it will break multilibs.
Just add /lib or /lib64 to the environmental variable list on windows or in the
registry with wine, it will work correctly and the operating system will find
out the correct dll for both 32bit and 64bit libstdc++-6.dll
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs
2021-05-05 3:48 [Bug libstdc++/100427] New: canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs unlvsur at live dot com
2021-05-05 3:51 ` [Bug libstdc++/100427] " unlvsur at live dot com
@ 2021-05-05 3:53 ` unlvsur at live dot com
2021-05-05 3:56 ` unlvsur at live dot com
` (10 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: unlvsur at live dot com @ 2021-05-05 3:53 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427
--- Comment #2 from cqwrteur <unlvsur at live dot com> ---
about gcc itself.
since gcc is compiled with -static-libgcc -static-libstdc++, it should not be a
problem tbh.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs
2021-05-05 3:48 [Bug libstdc++/100427] New: canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs unlvsur at live dot com
2021-05-05 3:51 ` [Bug libstdc++/100427] " unlvsur at live dot com
2021-05-05 3:53 ` unlvsur at live dot com
@ 2021-05-05 3:56 ` unlvsur at live dot com
2021-07-19 14:03 ` unlvsur at live dot com
` (9 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: unlvsur at live dot com @ 2021-05-05 3:56 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427
--- Comment #3 from cqwrteur <unlvsur at live dot com> ---
Created attachment 50755
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50755&action=edit
config.log
config log file
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs
2021-05-05 3:48 [Bug libstdc++/100427] New: canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs unlvsur at live dot com
` (2 preceding siblings ...)
2021-05-05 3:56 ` unlvsur at live dot com
@ 2021-07-19 14:03 ` unlvsur at live dot com
2021-09-10 10:11 ` unlvsur at live dot com
` (8 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: unlvsur at live dot com @ 2021-07-19 14:03 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427
--- Comment #4 from cqwrteur <unlvsur at live dot com> ---
is this bug fixed?
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs
2021-05-05 3:48 [Bug libstdc++/100427] New: canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs unlvsur at live dot com
` (3 preceding siblings ...)
2021-07-19 14:03 ` unlvsur at live dot com
@ 2021-09-10 10:11 ` unlvsur at live dot com
2021-10-05 0:09 ` unlvsur at live dot com
` (7 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: unlvsur at live dot com @ 2021-09-10 10:11 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427
--- Comment #5 from cqwrteur <unlvsur at live dot com> ---
actually a lot of dlls are not copied correctly.
libstdc++-6.dll libatomic.dll libquadmath.dll libssp.dll are all copied with 32
bit dlls.
And libgcc_seh.dll is not copied.
I think the copy to bin behavior should be removed. It should be just like
normal linux distribution. 64 bit dlls in lib. 32 bit dlls in lib32.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs
2021-05-05 3:48 [Bug libstdc++/100427] New: canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs unlvsur at live dot com
` (4 preceding siblings ...)
2021-09-10 10:11 ` unlvsur at live dot com
@ 2021-10-05 0:09 ` unlvsur at live dot com
2021-10-18 4:47 ` unlvsur at live dot com
` (6 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: unlvsur at live dot com @ 2021-10-05 0:09 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427
--- Comment #6 from cqwrteur <unlvsur at live dot com> ---
(In reply to cqwrteur from comment #5)
> actually a lot of dlls are not copied correctly.
>
> libstdc++-6.dll libatomic.dll libquadmath.dll libssp.dll are all copied with
> 32 bit dlls.
>
> And libgcc_seh.dll is not copied.
>
> I think the copy to bin behavior should be removed. It should be just like
> normal linux distribution. 64 bit dlls in lib. 32 bit dlls in lib32.
or just provide a toggle for not copying DLLs. thank you
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs
2021-05-05 3:48 [Bug libstdc++/100427] New: canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs unlvsur at live dot com
` (5 preceding siblings ...)
2021-10-05 0:09 ` unlvsur at live dot com
@ 2021-10-18 4:47 ` unlvsur at live dot com
2021-11-18 1:32 ` unlvsur at live dot com
` (5 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: unlvsur at live dot com @ 2021-10-18 4:47 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427
--- Comment #7 from cqwrteur <unlvsur at live dot com> ---
This is incorrect when we canadian build multilib. unfortunately.
I find this is an issue for not just libstdc++, but libaotmic, libssp etc too.
This script is clearly just not right. It should only copy DLLs from lib not
from lib32. and copy DLLs of 32bit to /lib32
yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
postinstall_cmds='base_file=`basename \${file}`~
dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo
\$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname~
chmod a+x \$dldir/$dlname~
if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
fi'
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
dlpath=$dir/\$dldll~
$RM \$dlpath'
shlibpath_overrides_runpath=yes
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs
2021-05-05 3:48 [Bug libstdc++/100427] New: canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs unlvsur at live dot com
` (6 preceding siblings ...)
2021-10-18 4:47 ` unlvsur at live dot com
@ 2021-11-18 1:32 ` unlvsur at live dot com
2021-11-18 9:41 ` [Bug bootstrap/100427] " redi at gcc dot gnu.org
` (4 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: unlvsur at live dot com @ 2021-11-18 1:32 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427
--- Comment #8 from cqwrteur <unlvsur at live dot com> ---
Created attachment 51827
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51827&action=edit
Patch for fixing this issue
LOL. it bloats my mind. WHY WHY WHY are
# DLL is installed to $(libdir)/../bin by postinstall_cmds
Twice in libstdc++'s configure?
We need a full-on cleanup on GCC source, please.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug bootstrap/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs
2021-05-05 3:48 [Bug libstdc++/100427] New: canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs unlvsur at live dot com
` (7 preceding siblings ...)
2021-11-18 1:32 ` unlvsur at live dot com
@ 2021-11-18 9:41 ` redi at gcc dot gnu.org
2022-12-26 15:35 ` nightstrike at gmail dot com
` (3 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: redi at gcc dot gnu.org @ 2021-11-18 9:41 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427
--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to cqwrteur from comment #8)
> LOL. it bloats my mind. WHY WHY WHY are
>
> # DLL is installed to $(libdir)/../bin by postinstall_cmds
>
> Twice in libstdc++'s configure?
Because it includes other .m4 files which include libtool.m4 twice. Why is it a
problem?
> We need a full-on cleanup on GCC source, please.
That isn't going to happen unless somebody volunteers to do it.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug bootstrap/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs
2021-05-05 3:48 [Bug libstdc++/100427] New: canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs unlvsur at live dot com
` (8 preceding siblings ...)
2021-11-18 9:41 ` [Bug bootstrap/100427] " redi at gcc dot gnu.org
@ 2022-12-26 15:35 ` nightstrike at gmail dot com
2022-12-26 16:01 ` nightstrike at gmail dot com
` (2 subsequent siblings)
12 siblings, 0 replies; 14+ messages in thread
From: nightstrike at gmail dot com @ 2022-12-26 15:35 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427
nightstrike <nightstrike at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |nightstrike at gmail dot com
--- Comment #10 from nightstrike <nightstrike at gmail dot com> ---
(In reply to cqwrteur from comment #5)
> I think the copy to bin behavior should be removed. It should be just like
> normal linux distribution. 64 bit dlls in lib. 32 bit dlls in lib32.
This is a feature of Windows. Windows will find dlls in PATH, not in lib
directories.
Multilib toolchains do face issues with versioned runtime libraries. You can
try configuring with --enable-version-specific-runtime-libs. Generally
speaking, it's easier to just build two separate toolchains than to try getting
multilib to work. I made the mistake of pushing for multilib to be enabled by
default, and we never got it working quite well.
Anyway, I don't think this is a bug as stated.
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug bootstrap/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs
2021-05-05 3:48 [Bug libstdc++/100427] New: canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs unlvsur at live dot com
` (9 preceding siblings ...)
2022-12-26 15:35 ` nightstrike at gmail dot com
@ 2022-12-26 16:01 ` nightstrike at gmail dot com
2022-12-26 16:03 ` unlvsur at live dot com
2022-12-26 16:03 ` unlvsur at live dot com
12 siblings, 0 replies; 14+ messages in thread
From: nightstrike at gmail dot com @ 2022-12-26 16:01 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427
--- Comment #11 from nightstrike <nightstrike at gmail dot com> ---
Possible duplicate of PR39947
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug bootstrap/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs
2021-05-05 3:48 [Bug libstdc++/100427] New: canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs unlvsur at live dot com
` (10 preceding siblings ...)
2022-12-26 16:01 ` nightstrike at gmail dot com
@ 2022-12-26 16:03 ` unlvsur at live dot com
2022-12-26 16:03 ` unlvsur at live dot com
12 siblings, 0 replies; 14+ messages in thread
From: unlvsur at live dot com @ 2022-12-26 16:03 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427
--- Comment #12 from cqwrteur <unlvsur at live dot com> ---
(In reply to nightstrike from comment #10)
> (In reply to cqwrteur from comment #5)
> > I think the copy to bin behavior should be removed. It should be just like
> > normal linux distribution. 64 bit dlls in lib. 32 bit dlls in lib32.
>
> This is a feature of Windows. Windows will find dlls in PATH, not in lib
> directories.
>
> Multilib toolchains do face issues with versioned runtime libraries. You
> can try configuring with --enable-version-specific-runtime-libs. Generally
> speaking, it's easier to just build two separate toolchains than to try
> getting multilib to work. I made the mistake of pushing for multilib to be
> enabled by default, and we never got it working quite well.
>
> Anyway, I don't think this is a bug as stated.
yes this is a bug. because I can fix it easily.
You are wrong. Because cross toolchain for multilib would put DLLs in the lib
and lib32, not bin
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Bug bootstrap/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs
2021-05-05 3:48 [Bug libstdc++/100427] New: canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs unlvsur at live dot com
` (11 preceding siblings ...)
2022-12-26 16:03 ` unlvsur at live dot com
@ 2022-12-26 16:03 ` unlvsur at live dot com
12 siblings, 0 replies; 14+ messages in thread
From: unlvsur at live dot com @ 2022-12-26 16:03 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427
--- Comment #13 from cqwrteur <unlvsur at live dot com> ---
(In reply to cqwrteur from comment #12)
> (In reply to nightstrike from comment #10)
> > (In reply to cqwrteur from comment #5)
> > > I think the copy to bin behavior should be removed. It should be just like
> > > normal linux distribution. 64 bit dlls in lib. 32 bit dlls in lib32.
> >
> > This is a feature of Windows. Windows will find dlls in PATH, not in lib
> > directories.
> >
> > Multilib toolchains do face issues with versioned runtime libraries. You
> > can try configuring with --enable-version-specific-runtime-libs. Generally
> > speaking, it's easier to just build two separate toolchains than to try
> > getting multilib to work. I made the mistake of pushing for multilib to be
> > enabled by default, and we never got it working quite well.
> >
> > Anyway, I don't think this is a bug as stated.
>
> yes this is a bug. because I can fix it easily.
>
> You are wrong. Because cross toolchain for multilib would put DLLs in the
> lib and lib32, not bin
https://github.com/cppfastio/fast_io/blob/master/examples/0009.filesystem/gccx86canadianfix.cc
^ permalink raw reply [flat|nested] 14+ messages in thread