Skip to content

FTBFS with Taglib 2.0

According to taglib 2.0 is source compatible to 1.x as long as no deprecated functions are used: https://taglib.org/#taglib-20-release---jan-24-2024

Arch has a VLC patch here for example: https://gitlab.archlinux.org/archlinux/packaging/packages/vlc/-/blob/40b8a8a1fc24f594a0b828fbde521c644964efaf/taglib-2.patch

Build log:
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:183:26: error: unknown type name
      'ulong'; did you mean 'long'?
  183 |     ByteVector readBlock(ulong length)
      |                          ^~~~~
      |                          long
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:199:36: error: unknown type name
      'ulong'; did you mean 'long'?
  199 |     void insert(const ByteVector&, ulong, ulong)
      |                                    ^~~~~
      |                                    long
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:199:43: error: unknown type name
      'ulong'; did you mean 'long'?
  199 |     void insert(const ByteVector&, ulong, ulong)
      |                                           ^~~~~
      |                                           long
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:203:22: error: unknown type name
      'ulong'; did you mean 'long'?
  203 |     void removeBlock(ulong, ulong)
      |                      ^~~~~
      |                      long
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:203:29: error: unknown type name
      'ulong'; did you mean 'long'?
  203 |     void removeBlock(ulong, ulong)
      |                             ^~~~~
      |                             long
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:240:10: error: virtual function
      'tell' has a different return type ('long') than the function it overrides (which has return type 'offset_t'
      (aka 'long long'))
  240 |     long tell() const
      |     ~~~~ ^
C:/msys64/clang64/include/taglib/tiostream.h:156:22: note: overridden virtual function is here
  156 |     virtual offset_t tell() const = 0;
      |             ~~~~~~~~ ^
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:245:10: error: virtual function
      'length' has a different return type ('long') than the function it overrides (which has return type 'offset_t'
      (aka 'long long'))
  245 |     long length()
      |     ~~~~ ^
C:/msys64/clang64/include/taglib/tiostream.h:161:22: note: overridden virtual function is here
  161 |     virtual offset_t length() = 0;
      |             ~~~~~~~~ ^
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:188:32: error: no member named
      'null' in 'TagLib::ByteVector'
  188 |             return ByteVector::null;
      |                    ~~~~~~~~~~~~^
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:478:5: error: no member named
      'isNull' in 'TagLib::String'
  478 |     SET( title, Title );
      |     ^~~~~~~~~~~~~~~~~~~
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:468:26: note: expanded from macro
      'SET'
  468 |     if( !tag->accessor().isNull() && !tag->accessor().isEmpty() )              \
      |          ~~~~~~~~~~~~~~~ ^
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:479:5: error: no member named
      'isNull' in 'TagLib::String'
  479 |     SET( artist, Artist );
      |     ^~~~~~~~~~~~~~~~~~~~~
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:468:26: note: expanded from macro
      'SET'
  468 |     if( !tag->accessor().isNull() && !tag->accessor().isEmpty() )              \
      |          ~~~~~~~~~~~~~~~ ^
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:480:5: error: no member named
      'isNull' in 'TagLib::String'
  480 |     SET( album, Album );
      |     ^~~~~~~~~~~~~~~~~~~
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:468:26: note: expanded from macro
      'SET'
  468 |     if( !tag->accessor().isNull() && !tag->accessor().isEmpty() )              \
      |          ~~~~~~~~~~~~~~~ ^
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:481:5: error: no member named
      'isNull' in 'TagLib::String'
  481 |     SET( comment, Description );
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:468:26: note: expanded from macro
      'SET'
  468 |     if( !tag->accessor().isNull() && !tag->accessor().isEmpty() )              \
      |          ~~~~~~~~~~~~~~~ ^
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:482:5: error: no member named
      'isNull' in 'TagLib::String'
  482 |     SET( genre, Genre );
      |     ^~~~~~~~~~~~~~~~~~~
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:468:26: note: expanded from macro
      'SET'
  468 |     if( !tag->accessor().isNull() && !tag->accessor().isEmpty() )              \
      |          ~~~~~~~~~~~~~~~ ^
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:821:5: error: no member named
      'itemListMap' in 'TagLib::MP4::Tag'
  821 |     SET("----:com.apple.iTunes:MusicBrainz Track Id", TrackID );
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:809:14: note: expanded from macro
      'SET'
  809 |     if( tag->itemListMap().contains(keyName) )                                               \
      |         ~~~  ^
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:821:5: error: no member named
      'itemListMap' in 'TagLib::MP4::Tag'
  821 |     SET("----:com.apple.iTunes:MusicBrainz Track Id", TrackID );
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:811:21: note: expanded from macro
      'SET'
  811 |         list = tag->itemListMap()[keyName];                                                  \
      |                ~~~  ^
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:822:5: error: no member named
      'itemListMap' in 'TagLib::MP4::Tag'
  822 |     SET_EXTRA("----:com.apple.iTunes:MusicBrainz Album Id", VLC_META_EXTRA_MB_ALBUMID );
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:815:14: note: expanded from macro
      'SET_EXTRA'
  815 |     if( tag->itemListMap().contains(keyName) )                                  \
      |         ~~~  ^
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:822:5: error: no member named
      'itemListMap' in 'TagLib::MP4::Tag'
  822 |     SET_EXTRA("----:com.apple.iTunes:MusicBrainz Album Id", VLC_META_EXTRA_MB_ALBUMID );
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:817:21: note: expanded from macro
      'SET_EXTRA'
  817 |         list = tag->itemListMap()[keyName];                                     \
      |                ~~~  ^
C:/msys64/home/user/M/mingw-w64-vlc/src/vlc-3.0.20/modules/meta_engine/taglib.cpp:827:14: error: no member named
      'itemListMap' in 'TagLib::MP4::Tag'
  827 |     if( tag->itemListMap().contains("covr") )
      |         ~~~  ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
Edited by Christoph Reiter
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information