[Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427 --- Comment #8 from cqwrteur --- Created attachment 51827 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51827=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.
[Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427 --- Comment #7 from cqwrteur --- 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
[Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427 --- Comment #6 from cqwrteur --- (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
[Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427 --- Comment #5 from cqwrteur --- 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.
[Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427 --- Comment #4 from cqwrteur --- is this bug fixed?
[Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427 --- Comment #3 from cqwrteur --- Created attachment 50755 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50755=edit config.log config log file
[Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427 --- Comment #2 from cqwrteur --- about gcc itself. since gcc is compiled with -static-libgcc -static-libstdc++, it should not be a problem tbh.
[Bug libstdc++/100427] canadian compile for mingw-w64 copies the wrong dlls for mingw-w64 multilibs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100427 --- Comment #1 from cqwrteur --- 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