#1092846 ntfs2btrfs: FTBFS with fmtlib 11.1

#1092846#5
Date:
2025-01-12 09:25:04 UTC
From:
To:
X-Debbugs-Cc: fmtlib@packages.debian.org, aron@debian.org

Dear maintainers,

We are planning the transition towards fmtlib 11.1 (in experimental).
You package ntfs2btrfs 20240115-2 FTBFS with fmtlib 11.1.1+ds1-1.

There are no significant API changes from (in testing) fmtlib 10 to 11.
After a quick look at ratt logs (thanks @aron for running it), I can
spot problems including (but not limited to):

- removal of APIs: nmodl, opm-common
- use of private APIs (fmt::detail): dolphin-emu
- '-fpermissive' compiler errors: doxygen, nheko
- unformattable types: genomicsdb, gerbera
- missing #include for std header: ntfs2btrfs, transmission

...and many of them have already been fixed by upstream.

There might be false positives due to collision with other on-going
transitions (e.g. python3.13). Please close this bug if so.

#1092846#12
Date:
2025-01-13 16:40:09 UTC
From:
To:
(Probably) related build logs:

In file included from /<<PKGBUILDDIR>>/src/ntfs.cpp:21:
/<<PKGBUILDDIR>>/src/ntfs.h:537:10: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  537 |     std::unique_ptr<ntfs_file> mft;
      |          ^~~~~~~~~~
/<<PKGBUILDDIR>>/src/ntfs.h:31:1: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; this is probably fixable by adding ‘#include <memory>’
   30 | #include <unistd.h>
  +++ |+#include <memory>
   31 | #endif
/<<PKGBUILDDIR>>/src/ntfs.cpp: In constructor ‘ntfs_file::ntfs_file(ntfs&, uint64_t)’:
/<<PKGBUILDDIR>>/src/ntfs.cpp:69:24: error: ‘class ntfs’ has no member named ‘mft’
   69 |         auto str = dev.mft->read(inode * dev.file_record_size, (uint32_t)dev.file_record_size);
      |                        ^~~
/<<PKGBUILDDIR>>/src/ntfs.cpp: In constructor ‘ntfs::ntfs(const std::string&)’:
/<<PKGBUILDDIR>>/src/ntfs.cpp:338:5: error: ‘mft’ was not declared in this scope; did you mean ‘fmt’?
  338 |     mft.reset(new ntfs_file(*this, 0));
      |     ^~~
      |     fmt
In file included from /<<PKGBUILDDIR>>/src/ntfs2btrfs.cpp:18:
/<<PKGBUILDDIR>>/src/ntfs.h:537:10: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
  537 |     std::unique_ptr<ntfs_file> mft;
      |          ^~~~~~~~~~
/<<PKGBUILDDIR>>/src/ntfs.h:31:1: note: ‘std::unique_ptr’ is defined in header ‘<memory>’; this is probably fixable by adding ‘#include <memory>’
   30 | #include <unistd.h>
  +++ |+#include <memory>
   31 | #endif
make[3]: *** [CMakeFiles/ntfs2btrfs.dir/build.make:96: CMakeFiles/ntfs2btrfs.dir/src/ntfs.cpp.o] Error 1
make[3]: *** Waiting for unfinished jobs....
/<<PKGBUILDDIR>>/src/ntfs2btrfs.cpp: In function ‘void convert(ntfs&, btrfs_compression, btrfs_csum_type, bool)’:
/<<PKGBUILDDIR>>/src/ntfs2btrfs.cpp:3810:23: error: ‘class ntfs’ has no member named ‘mft’
 3810 |     auto mftbmp = dev.mft->read(0, 0, ntfs_attribute::BITMAP);
      |                       ^~~
/<<PKGBUILDDIR>>/src/ntfs2btrfs.cpp: At global scope:
/<<PKGBUILDDIR>>/src/ntfs2btrfs.cpp:3204:13: warning: ‘void create_inodes(root&, const buffer_t&, ntfs&, runs_t&, ntfs_file&, btrfs_compression, bool)’ defined but not used [-Wunused-function]
 3204 | static void create_inodes(root& r, const buffer_t& mftbmp, ntfs& dev, runs_t& runs, ntfs_file& secure,
      |             ^~~~~~~~~~~~~
make[3]: *** [CMakeFiles/ntfs2btrfs.dir/build.make:82: CMakeFiles/ntfs2btrfs.dir/src/ntfs2btrfs.cpp.o] Error 1
make[3]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
make[2]: *** [CMakeFiles/Makefile2:90: CMakeFiles/ntfs2btrfs.dir/all] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
make[1]: *** [Makefile:139: all] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu'
dh_auto_build: error: cd obj-x86_64-linux-gnu && make -j40 "INSTALL=install --strip-program=true" VERBOSE=1 returned exit code 2