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

