Skip to content

Support taglib 2.0 #3

@chenrui333

Description

@chenrui333

While upgrading taglib to 2.0, I ran into some build failures as shown below:

  clang++ -DHAVE_CONFIG_H -I.   -I/opt/homebrew/Cellar/taglib/2.0/include -I/opt/homebrew/Cellar/taglib/2.0/include/taglib   -g -O2 -MT mp3unicode.o -MD -MP -MF .deps/mp3unicode.Tpo -c -o mp3unicode.o mp3unicode.cpp
  clang++ -DHAVE_CONFIG_H -I.   -I/opt/homebrew/Cellar/taglib/2.0/include -I/opt/homebrew/Cellar/taglib/2.0/include/taglib   -g -O2 -MT messages.o -MD -MP -MF .deps/messages.Tpo -c -o messages.o messages.cpp
  mv -f .deps/messages.Tpo .deps/messages.Po
  In file included from mp3unicode.cpp:24:
  In file included from /opt/homebrew/Cellar/taglib/2.0/include/taglib/fileref.h:29:
  In file included from /opt/homebrew/Cellar/taglib/2.0/include/taglib/tfile.h:29:
  /opt/homebrew/Cellar/taglib/2.0/include/taglib/tbytevector.h:627:29: error: expected ';' at end of declaration list
      void swap(ByteVector &v) noexcept;
                              ^
                              ;
  In file included from mp3unicode.cpp:24:
  In file included from /opt/homebrew/Cellar/taglib/2.0/include/taglib/fileref.h:29:
  In file included from /opt/homebrew/Cellar/taglib/2.0/include/taglib/tfile.h:33:
  In file included from /opt/homebrew/Cellar/taglib/2.0/include/taglib/tag.h:30:
  /opt/homebrew/Cellar/taglib/2.0/include/taglib/tstring.h:502:25: error: expected ';' at end of declaration list
      void swap(String &s) noexcept;
                          ^
                          ;
  In file included from mp3unicode.cpp:24:
  In file included from /opt/homebrew/Cellar/taglib/2.0/include/taglib/fileref.h:29:
  In file included from /opt/homebrew/Cellar/taglib/2.0/include/taglib/tfile.h:33:
  In file included from /opt/homebrew/Cellar/taglib/2.0/include/taglib/tag.h:31:
  /opt/homebrew/Cellar/taglib/2.0/include/taglib/tlist.h:76:15: error: no template named 'initializer_list' in namespace 'std'
      List(std::initializer_list<T> init);
           ~~~~~^
  /opt/homebrew/Cellar/taglib/2.0/include/taglib/tlist.h:272:29: error: no template named 'initializer_list' in namespace 'std'
      List<T> &operator=(std::initializer_list<T> init);
                         ~~~~~^
  /opt/homebrew/Cellar/taglib/2.0/include/taglib/tlist.h:277:26: error: expected ';' at end of declaration list
      void swap(List<T> &l) noexcept;
                           ^
                           ;
  /opt/homebrew/Cellar/taglib/2.0/include/taglib/tlist.h:314:34: error: a space is required between consecutive right angle brackets (use '> >')
      std::shared_ptr<ListPrivate<T>> d;
                                   ^~
                                   > >
  In file included from mp3unicode.cpp:24:
  In file included from /opt/homebrew/Cellar/taglib/2.0/include/taglib/fileref.h:29:
  In file included from /opt/homebrew/Cellar/taglib/2.0/include/taglib/tfile.h:33:
  In file included from /opt/homebrew/Cellar/taglib/2.0/include/taglib/tag.h:31:
  In file included from /opt/homebrew/Cellar/taglib/2.0/include/taglib/tlist.h:323:
  /opt/homebrew/Cellar/taglib/2.0/include/taglib/tlist.tcc:45:8: error: function definition does not declare parameters
    bool autoDelete{};
         ^
  /opt/homebrew/Cellar/taglib/2.0/include/taglib/tlist.tcc:54:26: error: using declaration cannot refer to a constructor
    using ListPrivateBase::ListPrivateBase;
          ~~~~~~~~~~~~~~~~~^
  /opt/homebrew/Cellar/taglib/2.0/include/taglib/tlist.tcc:56:20: error: no template named 'initializer_list' in namespace 'std'
    ListPrivate(std::initializer_list<TP> init) : list(init) {}
                ~~~~~^
  /opt/homebrew/Cellar/taglib/2.0/include/taglib/tlist.tcc:70:26: error: using declaration cannot refer to a constructor
    using ListPrivateBase::ListPrivateBase;
          ~~~~~~~~~~~~~~~~~^
  /opt/homebrew/Cellar/taglib/2.0/include/taglib/tlist.tcc:72:20: error: no template named 'initializer_list' in namespace 'std'
    ListPrivate(std::initializer_list<TP *> init) : list(init) {}
                ~~~~~^
  /opt/homebrew/Cellar/taglib/2.0/include/taglib/tlist.tcc:79:8: error: call to non-static member function 'autoDelete' of 'List' from nested type 'ListPrivate<TP *>'
      if(autoDelete) {
         ^~~~~~~~~~
  /opt/homebrew/Cellar/taglib/2.0/include/taglib/tlist.tcc:94:35: error: a space is required between consecutive right angle brackets (use '> >')
    d(std::make_shared<ListPrivate<T>>())
                                    ^~
                                    > >
  /opt/homebrew/Cellar/taglib/2.0/include/taglib/tlist.tcc:102:20: error: no template named 'initializer_list' in namespace 'std'
  List<T>::List(std::initializer_list<T> init) :
                ~~~~~^
  /opt/homebrew/Cellar/taglib/2.0/include/taglib/tlist.tcc:103:35: error: a space is required between consecutive right angle brackets (use '> >')
    d(std::make_shared<ListPrivate<T>>(init))
                                    ^~
                                    > >
  /opt/homebrew/Cellar/taglib/2.0/include/taglib/tlist.tcc:311:34: error: no template named 'initializer_list' in namespace 'std'
  List<T> &List<T>::operator=(std::initializer_list<T> init)
                              ~~~~~^
  /opt/homebrew/Cellar/taglib/2.0/include/taglib/tlist.tcc:320:15: error: out-of-line declaration of a member must be a definition [-Wout-of-line-declaration]
  void List<T>::swap(List<T> &l) noexcept
       ~~~~~~~~~^
  /opt/homebrew/Cellar/taglib/2.0/include/taglib/tlist.tcc:320:31: error: expected ';' at end of declaration
  void List<T>::swap(List<T> &l) noexcept
                                ^
                                ;
  /opt/homebrew/Cellar/taglib/2.0/include/taglib/tlist.tcc:320:32: error: a type specifier is required for all declarations
  void List<T>::swap(List<T> &l) noexcept
                                 ^
  fatal error: too many errors emitted, stopping now [-ferror-limit=]
  20 errors generated.
  make[2]: *** [mp3unicode.o] Error 1
  make[1]: *** [install-recursive] Error 1
  make: *** [install] Error 2

full build logs in here, https://gist.github.com/chenrui333/02f70444de9ac03a71542be648fd9e8e
and here, https://github.com/Homebrew/homebrew-core/actions/runs/8403688708/job/23014483001?pr=166984
relates to Homebrew/homebrew-core#166984

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions