[MacPorts] #58091: weird boost/mysql issue preventing snort upgrade after selfupdate

MacPorts noreply at macports.org
Mon Feb 18 20:34:42 UTC 2019


#58091: weird boost/mysql issue preventing snort upgrade after selfupdate
------------------------------+--------------------
  Reporter:  TheLastLovemark  |      Owner:  (none)
      Type:  defect           |     Status:  new
  Priority:  Normal           |  Milestone:
 Component:  ports            |    Version:  2.5.4
Resolution:                   |   Keywords:
      Port:  mysql57 boost    |
------------------------------+--------------------

Comment (by michaelld):

 OK that's what I thought. Took me a bit to track that down & install it
 for testing.

 So there are a few issues here:

 (1) mysql57 is opportunistically finding and using protobuf3-cpp . I think
 this feature can be disabled via the cmake commandline, and really it
 should be a variant  / optional.

 (2) protobuf3-cpp API (header) require C++11 for building, but mysql57
 when building the plugin that uses protobuf3-cpp isn't using C++11 ...
 it's not specifying any C++ standard, which with most compilers means
 C++03 or earlier ... certainly not C++11 yet. Without C++11, this plugin
 won't build. You can see the errors in the build log associated with this
 issue:
 {{{
 :info:build In file included from
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_databases_mysql57/mysql57/work/mysql-5.7.25/rapid/plugin/x/ngs/include/ngs_common/protocol_protobuf.h:25:
 :info:build In file included from
 /opt/local/include/google/protobuf/message.h:118:
 :info:build In file included from
 /opt/local/include/google/protobuf/arena.h:51:
 :info:build /opt/local/include/google/protobuf/arena_impl.h:249:15: error:
 no type named 'atomic' in namespace 'std'
 :info:build   static std::atomic<int64> lifecycle_id_generator_;
 ...
 :info:build /opt/local/include/google/protobuf/arena_impl.h:303:22:
 warning: rvalue references are a C++11 extension [-Wc++11-extensions]
 :info:build   ArenaImpl(ArenaImpl&&) = delete;
 :info:build                      ^
 :info:build /opt/local/include/google/protobuf/arena_impl.h:303:28:
 warning: deleted function definitions are a C++11 extension
 [-Wc++11-extensions]
 :info:build   ArenaImpl(ArenaImpl&&) = delete;
 :info:build                            ^
 }}}
 And then see also < https://en.cppreference.com/w/cpp/atomic/atomic >
 where it should be noted that `std::atomic` requires C++11.

-- 
Ticket URL: <https://trac.macports.org/ticket/58091#comment:11>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list