#1012925 ffmpegfs: ftbfs with GCC-12

#1012925#5
Date:
2022-06-16 12:08:39 UTC
From:
To:
[This bug is targeted to the upcoming bookworm release]

Please keep this issue open in the bug tracker for the package it
was filed for.  If a fix in another package is required, please
file a bug for the other package (or clone), and add a block in this
package. Please keep the issue open until the package can be built in
a follow-up test rebuild.

The package fails to build in a test rebuild on at least amd64 with
gcc-12/g++-12, but succeeds to build with gcc-11/g++-11. The
severity of this report will be raised before the bookworm release.

The full build log can be found at:
http://qa-logs.debian.net/2022/06/09/gcc12/ffmpegfs_2.10-2_unstable_gcc12.log
The last lines of the build log are at the end of this report.

To build with GCC 11, either set CC=gcc-11 CXX=g++-11 explicitly,
or install the gcc, g++, gfortran, ... packages from experimental.

  apt-get -t=experimental install g++

Common build failures are new warnings resulting in build failures with
-Werror turned on, or new/dropped symbols in Debian symbols files.
For other C/C++ related build failures see the porting guide at
http://gcc.gnu.org/gcc-11/porting_to.html

GCC 11 defaults to the GNU++17 standard.  If your package installs
header files in /usr/include, please don't work around C++17 issues
by choosing a lower C++ standard for the package build, but fix these
issues to build with the C++17 standard.

[...]
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for sqlite3 >= 3.7.13... yes
checking for library containing sqlite3_errstr... -lsqlite3
checking for library containing sqlite3_db_cacheflush... none required
checking for library containing sqlite3_expanded_sql... none required
checking for a2x... /usr/bin/a2x
checking for a2x... yes
checking for w3m... /usr/bin/w3m
checking for w3m... yes
checking for libavutil >= 56.22.100... yes
checking for libavcodec >= 58.35.100... yes
checking for libavformat >= 58.20.100... yes
checking for libavfilter >= 7.40.101... yes
checking for libswscale >= 5.3.100... yes
checking for libswresample >= 3.3.100... yes
checking for dvdread >= 5.0.0... yes
checking for libbluray >= 0.6.2... yes
Internal S/VCD support enabled... yes
checking for doxygen... no
configure: WARNING: Doxygen not found - continuing without Doxygen support. If you intend to use "make doxy" you should install it.
checking for curl... no
configure: WARNING: curl not found - continuing without curl support. If you intend to use "make doxy" you should install it.
checking for dot... no
configure: WARNING: dot not found - continuing without graphviz support. If you intend to use "make doxy" you should install it.
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating test/Makefile
config.status: creating src/config.h
config.status: executing depfiles commands
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
   dh_auto_build
	make -j8
make[1]: Entering directory '/<<PKGBUILDDIR>>'
Making all in src
make[2]: Entering directory '/<<PKGBUILDDIR>>/src'
a2x -a revnumber="2.10" \
	-a revdate="June 2022" -D ".." -f text ../ffmpegfs.1.txt
a2x: WARNING: --destination-dir option is only applicable to HTML and manpage based outputs

asciidoc: WARNING: ffmpegfs.1.txt: line 427: illegal system attribute name: XDG_CACHE_HOME
./makehelp.sh ffmpegfshelp.h
make  all-am
make[3]: Entering directory '/<<PKGBUILDDIR>>/src'
g++ -DHAVE_CONFIG_H -I.  -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/chardet -DUSE_LIBDVD   -DUSE_LIBBLURAY -I/usr/include/libxml2 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -DUSE_LIBVCD  -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++17  -Wall -Wextra -Wconversion -Wsign-compare -Wsign-conversion -Wpedantic -DNDEBUG -Ofast -g -D_GNU_SOURCE -DEXTRA_VERSION=\"2\"  -c -o ffmpegfs.o ffmpegfs.cc
g++ -DHAVE_CONFIG_H -I.  -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/chardet -DUSE_LIBDVD   -DUSE_LIBBLURAY -I/usr/include/libxml2 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -DUSE_LIBVCD  -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++17  -Wall -Wextra -Wconversion -Wsign-compare -Wsign-conversion -Wpedantic -DNDEBUG -Ofast -g -D_GNU_SOURCE -DEXTRA_VERSION=\"2\"  -c -o fuseops.o fuseops.cc
g++ -DHAVE_CONFIG_H -I.  -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/chardet -DUSE_LIBDVD   -DUSE_LIBBLURAY -I/usr/include/libxml2 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -DUSE_LIBVCD  -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++17  -Wall -Wextra -Wconversion -Wsign-compare -Wsign-conversion -Wpedantic -DNDEBUG -Ofast -g -D_GNU_SOURCE -DEXTRA_VERSION=\"2\"  -c -o transcode.o transcode.cc
g++ -DHAVE_CONFIG_H -I.  -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/chardet -DUSE_LIBDVD   -DUSE_LIBBLURAY -I/usr/include/libxml2 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -DUSE_LIBVCD  -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++17  -Wall -Wextra -Wconversion -Wsign-compare -Wsign-conversion -Wpedantic -DNDEBUG -Ofast -g -D_GNU_SOURCE -DEXTRA_VERSION=\"2\"  -c -o cache.o cache.cc
g++ -DHAVE_CONFIG_H -I.  -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/chardet -DUSE_LIBDVD   -DUSE_LIBBLURAY -I/usr/include/libxml2 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -DUSE_LIBVCD  -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++17  -Wall -Wextra -Wconversion -Wsign-compare -Wsign-conversion -Wpedantic -DNDEBUG -Ofast -g -D_GNU_SOURCE -DEXTRA_VERSION=\"2\"  -c -o buffer.o buffer.cc
g++ -DHAVE_CONFIG_H -I.  -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/chardet -DUSE_LIBDVD   -DUSE_LIBBLURAY -I/usr/include/libxml2 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -DUSE_LIBVCD  -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++17  -Wall -Wextra -Wconversion -Wsign-compare -Wsign-conversion -Wpedantic -DNDEBUG -Ofast -g -D_GNU_SOURCE -DEXTRA_VERSION=\"2\"  -c -o logging.o logging.cc
g++ -DHAVE_CONFIG_H -I.  -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/chardet -DUSE_LIBDVD   -DUSE_LIBBLURAY -I/usr/include/libxml2 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -DUSE_LIBVCD  -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++17  -Wall -Wextra -Wconversion -Wsign-compare -Wsign-conversion -Wpedantic -DNDEBUG -Ofast -g -D_GNU_SOURCE -DEXTRA_VERSION=\"2\"  -c -o cache_entry.o cache_entry.cc
g++ -DHAVE_CONFIG_H -I.  -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/x86_64-linux-gnu -I/usr/include/chardet -DUSE_LIBDVD   -DUSE_LIBBLURAY -I/usr/include/libxml2 -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -DUSE_LIBVCD  -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++17  -Wall -Wextra -Wconversion -Wsign-compare -Wsign-conversion -Wpedantic -DNDEBUG -Ofast -g -D_GNU_SOURCE -DEXTRA_VERSION=\"2\"  -c -o cache_maintenance.o cache_maintenance.cc
fuseops.cc: In function ‘VIRTUALFILE* insert_dir(VIRTUALTYPE, const std::string&, const stat*, int)’:
fuseops.cc:510:10: error: ‘memcpy’ is not a member of ‘std’; did you mean ‘wmemcpy’?
  510 |     std::memcpy(&stbufdir, stbuf, sizeof(stbufdir));
      |          ^~~~~~
      |          wmemcpy
make[3]: *** [Makefile:571: fuseops.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[2]: *** [Makefile:414: all] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>/src'
make[1]: *** [Makefile:468: all-recursive] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_build: error: make -j8 returned exit code 2
make: *** [debian/rules:18: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

#1012925#10
Date:
2022-06-16 13:27:32 UTC
From:
To:
Thanks for the report. The issue has already been fixed, see
https://github.com/nschlia/ffmpegfs/commit/9a4ba638e38d030b7c5311cf527edafbd88bb537

There was the cstring header missing.

The fix will be available with release 2.11, I'll close this when it was
released.

Am 16.06.22 um 14:08 schrieb Matthias Klose:

#1012925#15
Date:
2022-06-17 11:03:58 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
ffmpegfs, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1012925@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Norbert Schlia <nschlia@oblivion-software.de> (supplier of updated ffmpegfs package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Thu, 16 Jun 2022 16:44:18 +0200
Source: ffmpegfs
Architecture: source
Version: 2.11-1
Distribution: unstable
Urgency: medium
Maintainer: Norbert Schlia <nschlia@oblivion-software.de>
Changed-By: Norbert Schlia <nschlia@oblivion-software.de>
Closes: 1012925
Changes:
 ffmpegfs (2.11-1) unstable; urgency=medium
 .
   * Feature: Issue #86: Smart transcode now detects if a source file is audio
     only and uses the correct target format. For example, with
     --destination=webm+mp3, if one MP4 input file contains a video stream and
     another an audio stream only, the resulting files will be WebM (for the
     video input) and mp3 for the audio only file.
   * Feature: Issue #137: Add --no_subtitles option to turn subtitles off.
   * Bugfix: Smart encode selected the video format for cue sheet tracks,
     regardless of the input format. This has been fixed now.
   * Bugfix: Fix a crash that occurs when a DVD/Blu-ray is transcoded to audio
     only.
   * Bugfix: If the track performer field in the cuesheet is blank, try album
     performer instead.
   * Bugfix: Failing to mount Fuse during "make check" went unnoticed as the
     result code (which was supposed to be 99) was actually 0. Return the correct
     result code, failing the operation as expected.
   * Bugfix: The Docker build command contained a "make check" which actually
     failed altogether. Step has been removed. "make check" mounts Fuse, but this
     requires privileges that do not exist during "docker build".
   * Bugfix: On error, mremap () returns MAP_FAILED rather than NULL. Fixed a
     check for incorrect error conditions, which could cause the application to
     crash or return illogical error messages.
   * Bugfix: Issue #119: Fix a problem that caused frame set generation to fail
     sometimes. It seems to be related to the nremap() issue.
   * Generally revisited documentation, logging, and display texts. Improved
     grammar, formatting, and fixed quite a few typos that escaped all
     proofreading sessions.
   * The FFmpeg API INFO and DEBUG level log output has been changed to the
     FFmpegfs DEBUG level. What FFmpeg considers "INFO" is far too chatty.
   * Frequent memory reallocations when creating HLS segments have been reduced
     to speed up processing.
   * Optimised logging to save CPU time by not formatting log entries that are
     not written anyway at their log level.
   * Logging has been revised to shorten file paths and remove mount, input, and
     cache paths. Log the additional portion only to reduce log file size and
     improve readability.
   * Bugfix: To fix the build with GCC 12, add the missing include headers
     (closes: #1012925).
Checksums-Sha1:
 16babcb0e112f6a45b7d9a5eb21fbe0c20ade598 2462 ffmpegfs_2.11-1.dsc
 279033116f316322c112215f4e00c027d5f21856 14597811 ffmpegfs_2.11.orig.tar.gz
 cecb8afabe73b003ba47d21bf3b1ede0ed14f18a 833 ffmpegfs_2.11.orig.tar.gz.asc
 117d85746eb8c3adb0319f0d1b104002c8276af0 13800 ffmpegfs_2.11-1.debian.tar.xz
 f1054de2b84edc53cf0cf916f662e790bb51fdb2 11784 ffmpegfs_2.11-1_amd64.buildinfo
Checksums-Sha256:
 52bf487ffb458271644e936d56475a133d30b1aa427bf14c7ef71ed7418a77d0 2462 ffmpegfs_2.11-1.dsc
 a364d30102905f199d7f8846ae5ca4b00c1da4686d558fee46493b9b98b95d9b 14597811 ffmpegfs_2.11.orig.tar.gz
 9792a81d1d33833b3c6523ecfa62ab15fa688104070fe8bb25a319bd624719e2 833 ffmpegfs_2.11.orig.tar.gz.asc
 90c56b637ca7a6ffbb64c1a0c308cbd40b3a43c8bc5b7e753f2a7a5717c9ef24 13800 ffmpegfs_2.11-1.debian.tar.xz
 5de539727c11c0959dd02d3e5f8ef924e9978672d293ddf4a3242041ad35f2f1 11784 ffmpegfs_2.11-1_amd64.buildinfo
Files:
 6cea9266655606c09901a5c94eea0660 2462 utils optional ffmpegfs_2.11-1.dsc
 60f4290165bad60ec74f8c639a1e361d 14597811 utils optional ffmpegfs_2.11.orig.tar.gz
 1e3028508dad800e65d40281c2e2efed 833 utils optional ffmpegfs_2.11.orig.tar.gz.asc
 6eb9c20bfc3ece4f93bd00792c753aeb 13800 utils optional ffmpegfs_2.11-1.debian.tar.xz
 576bb1da445772fa5de907ec4233b9ec 11784 utils optional ffmpegfs_2.11-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iQJJBAEBCAAzFiEEIsF2SKlSa4TfGRyWy+qOlwzNWd8FAmKsWn4VHGZhYmlhbkBn
cmVmZnJhdGguY29tAAoJEMvqjpcMzVnfcHQQAJBjZk3uZnMQssTAm1grIbaWEFKJ
FTUxht2HPuLP+K6sTEUghuzexzZExjTBrdE/a+F4IYPriGsWK7q/PbAe4HsIcIoh
y5zClmXm45NM/Ntl7maHWi+izFIAbX6wymtULSGZdHoW+A1wzLn2xwYfCrDuuYf1
zpnG5KDXMuNPomeTta/Ukxhvn6yqCqTCyF/gz6arGrIbZxv6ubMPOwXrERECJYJq
qkDr+7/iS1IKuxwQf77nWayPXd3rIr1FjPOlu4ZLxz3UCIIFpUHUDn03ztW7wZZb
qmE0xHtXOeDuXSUK93eHrGQDTuX5lHUAwlK+ZjOWIo5uMBAcqcVXZ9VxxI5CbhPh
LShIs8dwkhmbQRpNScTkYMnRrSsq+YSeWaTzQYYIrI7L+AaSwPvxYjmF1a2nq8zJ
bNPyynCJSw8bDGmt9kmTlc2UBcy1aUzZdzpQmsBbgBoGkqbooO7YR2DHC5LenhxS
VqvVYIRk4RzK++AA4F7U4FPVxDPgwYduPazDw51VyCvhzhO2qxJbndIdl/rptlhS
F6ky4aHfEPjaKaIKYo00lOhBVzUlQw6pa04Jv9Es88WvAgqWc2Keft0Uu31BOlKl
OV7ufrgXKTVdNfBE+jQVIEsPlOb0aWbxDbFqQobTPGicfAq6eWOQE/jAC1Gff1T0
gs5jq5TDb1v/EfD9
=Y99e
-----END PGP SIGNATURE-----