Opened 6 years ago

#57411 assigned defect

goocanvasmm: error: expected ';' at end of declaration list

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: goocanvasmm

Description

https://build.macports.org/builders/ports-10.14_x86_64-builder/builds/5792/steps/install-port/logs/stdio

Lots of errors building goocanvasmm, beginning with:

In file included from canvas.cc:4:
In file included from ../goocanvasmm/canvas.h:7:
In file included from /opt/local/include/glibmm-2.4/glibmm.h:88:
In file included from /opt/local/include/glibmm-2.4/glibmm/thread.h:47:
In file included from /opt/local/include/glibmm-2.4/glibmm/error.h:22:
In file included from /opt/local/include/glibmm-2.4/glibmm/exception.h:22:
/opt/local/include/glibmm-2.4/glibmm/ustring.h:101:29: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using iterator_category = std::bidirectional_iterator_tag;
                            ^
/opt/local/include/glibmm-2.4/glibmm/ustring.h:102:22: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using value_type = gunichar;
                     ^
/opt/local/include/glibmm-2.4/glibmm/ustring.h:103:27: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using difference_type = std::string::difference_type;
                          ^
/opt/local/include/glibmm-2.4/glibmm/ustring.h:104:21: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using reference = value_type;
                    ^
/opt/local/include/glibmm-2.4/glibmm/ustring.h:105:19: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using pointer = void;
                  ^
/opt/local/include/glibmm-2.4/glibmm/ustring.h:216:21: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using size_type = std::string::size_type;
                    ^
/opt/local/include/glibmm-2.4/glibmm/ustring.h:217:27: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using difference_type = std::string::difference_type;
                          ^
/opt/local/include/glibmm-2.4/glibmm/ustring.h:219:22: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using value_type = gunichar;
                     ^
/opt/local/include/glibmm-2.4/glibmm/ustring.h:220:21: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using reference = gunichar&;
                    ^
/opt/local/include/glibmm-2.4/glibmm/ustring.h:221:27: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using const_reference = const gunichar&;
                          ^
/opt/local/include/glibmm-2.4/glibmm/ustring.h:223:20: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using iterator = ustring_Iterator<std::string::iterator>;
                   ^
/opt/local/include/glibmm-2.4/glibmm/ustring.h:224:26: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using const_iterator = ustring_Iterator<std::string::const_iterator>;
                         ^
/opt/local/include/glibmm-2.4/glibmm/ustring.h:228:28: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using reverse_iterator = std::reverse_iterator<iterator>;
                           ^
/opt/local/include/glibmm-2.4/glibmm/ustring.h:229:34: warning: alias declarations are a C++11 extension [-Wc++11-extensions]
  using const_reverse_iterator = std::reverse_iterator<const_iterator>;
                                 ^
/opt/local/include/glibmm-2.4/glibmm/ustring.h:255:13: error: expected ';' at end of declaration list
  ~ustring() noexcept;
            ^
            ;

Adding PortGroup cxx11 1.1 and configure.cxxflags-append -std=c++11 fixes it but it looks like this requirement is coming from a glibmm header; maybe everything that uses glibmm needs this now. The glibmm port already says # glibmm > 2.44.0 requires C++11 or better.

Change History (0)

Note: See TracTickets for help on using tickets.