Package: g++-mingw-w64-i686 Version: 8.2.0-21+21.1 Severity: normal Unfortunately, std::filesystem still can't be used with the latest version of the package: after the fix for the compilation problems previously reported as #907369, any attempt to use this library results in linking problems because libstdc++fs.a file is nowhere to be found.
To reproduce, compile this trivial example: % cat -n fs.cpp 1 #include <iostream> 2 #include <filesystem> 3 namespace fs = std::filesystem; 4 5 int main(int argc, char *argv[]) 6 { 7 fs::path p(argv[1]); 8 std::cout << "Native:\t" << p.string() << "\n" 9 << "Generic:\t" << p.generic_string() << "\n"; 10 return 0; 11 } % i686-w64-mingw32-g++ -std=c++17 fs.cpp /usr/bin/i686-w64-mingw32-ld: fs.o:fs.cpp:(.text$_ZNSt10filesystem7__cxx114pathC1IPcS1_EERKT_NS1_6formatE[__ZNSt10filesystem7__cxx114pathC1IPcS1_EERKT_NS1_6formatE]+0x93): undefined reference to `std::filesystem::__cxx11::path::_M_split_cmpts()' [... and other similar errors ...] collect2: error: ld returned 1 exit status % i686-w64-mingw32-g++ -std=c++17 fs.o -lstdc++fs /usr/bin/i686-w64-mingw32-ld: cannot find -lstdc++fs collect2: error: ld returned 1 exit status The latter command line works when using the native g++-8, which does provide the library. I don't really know if this is supposed to work or not, but it seems a bit strange to provide the headers for the library, but not the library itself. Note that according to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78870 --enable-libstdcxx-filesystem-ts must be used to enable it, could it be that it simply needs to be added to configure arguments? Thanks in advance! -- System Information: Debian Release: buster/sid APT prefers unstable APT policy: (990, 'unstable'), (500, 'unstable-debug'), (100, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.6.0-0.bpo.1-amd64 (SMP w/8 CPU cores) Kernel taint flags: TAINT_UNSIGNED_MODULE Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to C.UTF-8), LANGUAGE=C.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to C.UTF-8) Shell: /bin/sh linked to /bin/dash Init: unable to detect Versions of packages g++-mingw-w64-i686 depends on: ii gcc-mingw-w64-base 8.2.0-21+21.1 ii gcc-mingw-w64-i686 8.2.0-21+21.1 ii libc6 2.28-8 ii libgcc1 1:8.3.0-3 ii libgmp10 2:6.1.2+dfsg-4 ii libisl19 0.20-2 ii libmpc3 1.1.0-1 ii libmpfr6 4.0.2-1 ii libstdc++6 8.3.0-3 ii zlib1g 1:1.2.11.dfsg-1 g++-mingw-w64-i686 recommends no packages. Versions of packages g++-mingw-w64-i686 suggests: pn gcc-8-locales <none> -- no debconf information
pgpm68nLZfxbU.pgp
Description: PGP signature