From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 573CA386103F; Thu, 5 Nov 2020 12:51:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 573CA386103F From: "markus.boeck02 at gmail dot com" To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/97729] New: Link failure due to basic_stringbuf and others when building DLL on MinGW Date: Thu, 05 Nov 2020 12:51:15 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libstdc++ X-Bugzilla-Version: 11.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: markus.boeck02 at gmail dot com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Nov 2020 12:51:15 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D97729 Bug ID: 97729 Summary: Link failure due to basic_stringbuf and others when building DLL on MinGW Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: markus.boeck02 at gmail dot com Target Milestone: --- Current trunk of libstdc++ is not able to be built when building a shared library on the i686-w64-mingw32 and x86_64-w64-mingw32 targets. Following configure arguments were used: ../configure --target=3Dx86_64-w64-mingw32 --disable-bootstrap --with-sysroot=3D/mnt/c/GCC-Build/NewestLinux --prefix=3D/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install --disable-multilib --with-tune=3Dznver1 --disable-libstdcxx-verbose --disab= le-nls --enable-shared --with-gnu-ld --enable-threads=3Dposix --enable-__cxa_atexit --enable-libgomp --with-gnu-as --with-as=3D/mnt/c/GCC-Build/NewestLinux/bin/x86_64-w64-mingw32-as --with-ld=3D/mnt/c/GCC-Build/NewestLinux/bin/x86_64-w64-mingw32-ld --enable-languages=3Dc,c++,fortran,lto,objc,obj-c++ --with-cross-host The last relevant lines of stdout are: /bin/bash ../libtool --tag CXX --mode=3Dlink /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/./gcc/xgcc -shared-libgcc -B/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/./gcc -nostdinc++ -L/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++= -v3/src -L/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++= -v3/src/.libs -L/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++= -v3/libsupc++/.libs -L/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/l= ib -L/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/mingw/lib -isystem /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/inc= lude -isystem /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/mingw/include -B/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/b= in/ -B/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/l= ib/ -isystem /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/inc= lude -isystem /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/sys= -include -Wl,-O1 -no-undefined -bindir "/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/li= b/../lib" -Wl,--gc-sections -std=3Dgnu++98 -DDLL_EXPORT -DPIC -fno-implicit-template= s=20 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi=3D2=20 -fdiagnostics-show-location=3Donce -ffunction-sections -fdata-sections=20 -frandom-seed=3Dlibstdc++.la -o libstdc++.la -version-info 6:29:0 -Wl,--version-script=3Dlibstdc++-symbols.ver -lm -no-undefined -bindir "/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/li= b/../lib" -rpath /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/lib= /../lib compatibility.lo compatibility-debug_list.lo compatibility-debug_list-2.lo= =20 compatibility-c++0x.lo compatibility-atomic-c++0x.lo compatibility-thread-c++0x.lo compatibility-chrono.lo compatibility-condvar= .lo=20 ../libsupc++/libsupc++convenience.la ../src/c++98/libc++98convenience.la ../src/c++11/libc++11convenience.la ../src/c++17/libc++17convenience.la ../src/c++20/libc++20convenience.la=20 make all-am make[3]: Entering directory '/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libgfortra= n' libtool: link: rm -fr .libs/libstdc++.dll.a libtool: link: /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/./gcc/xgcc -shared-libgcc -B/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/./gcc -nostdi= nc++ -L/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++= -v3/src -L/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++= -v3/src/.libs -L/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++= -v3/libsupc++/.libs -L/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/l= ib -L/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/mingw/lib -isystem /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/inc= lude -isystem /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/mingw/include -B/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/b= in/ -B/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/l= ib/ -isystem /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/inc= lude -isystem /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/sys= -include -shared -nostdlib /mnt/c/GCC-Build/NewestLinux/mingw/lib/../lib/dllcrt2.o /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/./gcc/crtbegin.o=20 .libs/compatibility.o .libs/compatibility-debug_list.o .libs/compatibility-debug_list-2.o .libs/compatibility-c++0x.o .libs/compatibility-atomic-c++0x.o .libs/compatibility-thread-c++0x.o .libs/compatibility-chrono.o .libs/compatibility-condvar.o -Wl,--whole-arc= hive ../libsupc++/.libs/libsupc++convenience.a ../src/c++98/.libs/libc++98convenience.a ../src/c++11/.libs/libc++11convenience.a ../src/c++17/.libs/libc++17convenience.a ../src/c++20/.libs/libc++20convenience.a -Wl,--no-whole-archive=20 -L/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++= -v3/libsupc++/.libs -L/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++= -v3/src -L/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++= -v3/src/.libs -L/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/x86_64-w64-mingw32/l= ib -L/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/install/mingw/lib -L/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/./gcc -L/mnt/c/GCC-Build/NewestLinux/mingw/lib/../lib -L/mnt/c/GCC-Build/NewestLinux/mingw/lib -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 -lpthread -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -lkernel32 /mnt/c/GCC-Build-Array/gcc/build-host-x86_64/./gcc/crtend.o -Wl,-O1 -Wl,--gc-sections -Wl,--version-script=3Dlibstdc++-symbols.ver -o .libs/libstdc++-6.dll -Wl,--enable-auto-image-base -Xlinker --out-implib -Xlinker .libs/libstdc++.dll.a : : : true DO=3Dall multi-do # make make[3]: Leaving directory '/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libgfortra= n' make[2]: Leaving directory '/mnt/c/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libgfortra= n' /mnt/c/GCC-Build/NewestLinux/bin/x86_64-w64-mingw32-ld: ../libsupc++/.libs/libsupc++convenience.a(nested_exception.o): in function `std::__exception_ptr::exception_ptr::~exception_ptr()': C:/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++-v3/li= bsupc++/C:/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc= ++-v3/include/bits/exception_ptr.h:194: multiple definition of `std::__exception_ptr::exception_ptr::~exception_ptr= ()'; ../libsupc++/.libs/libsupc++convenience.a(eh_ptr.o):C:/GCC-Build-Array/gcc/= build-host-x86_64/x86_64-w64-mingw32/libstdc++-v3/libsupc++/C:/GCC-Build-Ar= ray/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++-v3/include/bits/exce= ption_ptr.h:194: first defined here /mnt/c/GCC-Build/NewestLinux/bin/x86_64-w64-mingw32-ld: ../src/c++11/.libs/libc++11convenience.a(future.o): in function `std::__exception_ptr::exception_ptr::exception_ptr()': C:/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++-v3/sr= c/c++11/C:/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc= ++-v3/include/bits/std_mutex.h:105: multiple definition of `std::__exception_ptr::exception_ptr::exception_ptr(= )'; ../libsupc++/.libs/libsupc++convenience.a(eh_ptr.o):C:/GCC-Build-Array/gcc/= build-host-x86_64/x86_64-w64-mingw32/libstdc++-v3/libsupc++/C:/GCC-Build-Ar= ray/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++-v3/include/bits/exce= ption_ptr.h:176: first defined here /mnt/c/GCC-Build/NewestLinux/bin/x86_64-w64-mingw32-ld: ../src/c++20/.libs/libc++20convenience.a(sstream-inst.o): in function `std::__cxx11::basic_stringbuf, std::allocator >::basic_stringbuf(std::__cxx11::basic_stringbuf, std::allocator >&&, std::allocator const&)': C:/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++-v3/sr= c/c++20/C:/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc= ++-v3/include/sstream:210: undefined reference to `std::__cxx11::basic_stringbuf, std::allocator >::basic_stringbuf(std::__cxx11::basic_stringbuf, std::allocator >&&, std::allocator const&, std::__cxx11::basic_stringbuf, std::allocator >::__xfer_bufptrs&&)' /mnt/c/GCC-Build/NewestLinux/bin/x86_64-w64-mingw32-ld: ../src/c++20/.libs/libc++20convenience.a(sstream-inst.o): in function `std::__cxx11::basic_stringbuf, std::allocator >::basic_stringbuf(std::__cxx11::basic_stringbuf, std::allocator >&&, std::allocator const&)': C:/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++-v3/sr= c/c++20/C:/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc= ++-v3/include/sstream:210: undefined reference to `std::__cxx11::basic_stringbuf, std::allocator >::basic_stringbuf(std::__cxx11::basic_stringbuf, std::allocator >&&, std::allocator const&, std::__cxx11::basic_stringbuf, std::allocator >::__xfer_bufptrs&&)' /mnt/c/GCC-Build/NewestLinux/bin/x86_64-w64-mingw32-ld: ../src/c++20/.libs/libc++20convenience.a(sstream-inst.o): in function `std::__cxx11::basic_stringbuf, std::allocator >::basic_stringbuf(std::__cxx11::basic_stringbuf, std::allocator >&&, std::allocator const&)': C:/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++-v3/sr= c/c++20/C:/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc= ++-v3/include/sstream:210: undefined reference to `std::__cxx11::basic_stringbuf, std::allocator >::basic_stringbuf(std::__cxx11::basic_stringbuf, std::allocator >&&, std::allocator const&, std::__cxx11::basic_stringbuf, std::allocator >::__xfer_bufptrs&&)' /mnt/c/GCC-Build/NewestLinux/bin/x86_64-w64-mingw32-ld: ../src/c++20/.libs/libc++20convenience.a(sstream-inst.o): in function `std::__cxx11::basic_stringbuf, std::allocator >::basic_stringbuf(std::__cxx11::basic_stringbuf, std::allocator >&&, std::allocator const&)': C:/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc++-v3/sr= c/c++20/C:/GCC-Build-Array/gcc/build-host-x86_64/x86_64-w64-mingw32/libstdc= ++-v3/include/sstream:210: undefined reference to `std::__cxx11::basic_stringbuf, std::allocator >::basic_stringbuf(std::__cxx11::basic_stringbuf, std::allocator >&&, std::allocator const&, std::__cxx11::basic_stringbuf, std::allocator >::__xfer_bufptrs&&)' collect2: error: ld returned 1 exit status make[5]: *** [libstdc++.la] Error 1=