#71801 closed defect (fixed)

mysql56 @5.6.51_5 does not build on PPC Leopard, Mac OS X 10.5.8, because an unnamed scoped enum is not allowed

Reported by: ballapete (Peter "Pete" Dyballa) Owned by: chrstphrchvz (Christopher Chavez)
Priority: Normal Milestone:
Component: ports Version: 2.10.5
Keywords: leopard ppc Cc: chrstphrchvz (Christopher Chavez)
Port: mysql56

Description

/usr/bin/make  -f storage/innobase/CMakeFiles/innobase.dir/build.make storage/innobase/CMakeFiles/innobase.dir/build
make[2]: Entering directory `/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/build'
[ 15%] Building CXX object storage/innobase/CMakeFiles/innobase.dir/api/api0api.cc.o
cd /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/build/storage/innobase && /opt/local/bin/g++-mp-14 -DHAVE_CONFIG_H -DHAVE_IB_ATOMIC_PTHREAD_T_GCC=1 -DHAVE_IB_GCC_ATOMIC_BUILTINS=1 -DHAVE_IB_GCC_ATOMIC_BUILTINS_BYTE=1 -DHAVE_IB_GCC_ATOMIC_TEST_AND_SET=1 -DHAVE_IB_GCC_ATOMIC_THREAD_FENCE=1 -DHAVE_IB_GCC_SYNC_SYNCHRONISE=1 -DHAVE_LIBEVENT2 -DHAVE_TLSv13 -DSIZEOF_PTHREAD_T=4 -I/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/build/include -I/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/storage/innobase/include -I/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/storage/innobase/handler -I/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/include -I/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/sql -I/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/regex -I/opt/local/libexec/openssl11/include -pipe -I/opt/local/libexec/openssl11/include -Os -Wall -Wextra -Wformat-security -Wimplicit-fallthrough=0 -Wvla -Woverloaded-virtual -Wno-unused-parameter -Wno-int-in-bool-context -Wno-aligned-new -Wno-class-memaccess -Wno-cast-function-type -Wno-format-overflow -Wno-format-truncation -Wno-ignored-qualifiers -DNDEBUG -DDBUG_OFF -arch ppc -mmacosx-version-min=10.5   -I/opt/local/libexec/openssl11/include -isystem/opt/local/include -MD -MT storage/innobase/CMakeFiles/innobase.dir/api/api0api.cc.o -MF CMakeFiles/innobase.dir/api/api0api.cc.o.d -o CMakeFiles/innobase.dir/api/api0api.cc.o -c /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/storage/innobase/api/api0api.cc
In file included from /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/storage/innobase/include/ha_prototypes.h:40,
                 from /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/storage/innobase/include/data0type.ic:38,
                 from /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/storage/innobase/include/data0type.h:549,
                 from /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/storage/innobase/include/data0data.h:40,
                 from /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/storage/innobase/include/que0que.h:38,
                 from /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/storage/innobase/include/api0misc.h:40,
                 from /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/storage/innobase/api/api0api.cc:46:
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/include/my_compare.h:118:43: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  118 | extern int ha_key_cmp(register HA_KEYSEG *keyseg, register uchar *a,
      |                                           ^~~~~~
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/include/my_compare.h:118:67: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  118 | extern int ha_key_cmp(register HA_KEYSEG *keyseg, register uchar *a,
      |                                                                   ^
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/include/my_compare.h:119:39: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
  119 |                       register uchar *b, uint key_length, uint nextflag,
      |                                       ^
In file included from /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/storage/innobase/api/api0api.cc:35:
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/storage/innobase/include/univ.i:424:33: error: unnamed scoped enum is not allowed
  424 | #define byte                    unsigned char
      |                                 ^~~~~~~~
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/storage/innobase/include/univ.i:424:33: error: expected identifier before 'unsigned'
In file included from /opt/local/include/gcc14/c++/bits/memory_resource.h:38,
                 from /opt/local/include/gcc14/c++/map:81,
                 from /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/storage/innobase/include/page0types.h:39,
                 from /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/storage/innobase/include/mtr0mtr.h:45,
                 from /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/storage/innobase/include/log0log.ic:36,
                 from /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/storage/innobase/include/log0log.h:1006,
                 from /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/storage/innobase/include/trx0trx.h:42,
                 from /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/storage/innobase/include/que0que.h:40:
/opt/local/include/gcc14/c++/cstddef:70:19: error: expected unqualified-id before ':' token
   70 |   enum class byte : unsigned char {};
      |                   ^
/opt/local/include/gcc14/c++/cstddef:136:3: error: 'constexpr unsigned char std::operator|(unsigned char, unsigned char)' must have an argument of class or enumerated type
  136 |   operator|(byte __l, byte __r) noexcept
      |   ^~~~~~~~
/opt/local/include/gcc14/c++/cstddef:141:3: error: 'constexpr unsigned char std::operator&(unsigned char, unsigned char)' must have an argument of class or enumerated type
  141 |   operator&(byte __l, byte __r) noexcept
      |   ^~~~~~~~
/opt/local/include/gcc14/c++/cstddef:146:3: error: 'constexpr unsigned char std::operator^(unsigned char, unsigned char)' must have an argument of class or enumerated type
  146 |   operator^(byte __l, byte __r) noexcept
      |   ^~~~~~~~
/opt/local/include/gcc14/c++/cstddef:151:3: error: 'constexpr unsigned char std::operator~(unsigned char)' must have an argument of class or enumerated type
  151 |   operator~(byte __b) noexcept
      |   ^~~~~~~~
/opt/local/include/gcc14/c++/cstddef:168:3: error: 'constexpr unsigned char& std::operator|=(unsigned char&, unsigned char)' must have an argument of class or enumerated type
  168 |   operator|=(byte& __l, byte __r) noexcept
      |   ^~~~~~~~
/opt/local/include/gcc14/c++/cstddef:173:3: error: 'constexpr unsigned char& std::operator&=(unsigned char&, unsigned char)' must have an argument of class or enumerated type
  173 |   operator&=(byte& __l, byte __r) noexcept
      |   ^~~~~~~~
/opt/local/include/gcc14/c++/cstddef:178:3: error: 'constexpr unsigned char& std::operator^=(unsigned char&, unsigned char)' must have an argument of class or enumerated type
  178 |   operator^=(byte& __l, byte __r) noexcept
      |   ^~~~~~~~
In file included from /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/sql/mysqld.h:27,
                 from /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/sql/xa.h:29,
                 from /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/storage/innobase/include/trx0xa.h:35,
                 from /opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/storage/innobase/include/trx0trx.h:47:
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/sql/sql_bitmap.h:113:13: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
  113 |   Bitmap<64>() { init(); }
      |             ^
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/sql/sql_bitmap.h:113:13: note: remove the '< >'
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/sql/sql_bitmap.h:124:23: warning: template-id not allowed for constructor in C++20 [-Wtemplate-id-cdtor]
  124 |   explicit Bitmap<64>(uint prefix_to_set) { set_prefix(prefix_to_set); }
      |                       ^~~~
/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/mysql-5.6.51/sql/sql_bitmap.h:124:23: note: remove the '< >'
make[2]: *** [storage/innobase/CMakeFiles/innobase.dir/api/api0api.cc.o] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/build'
make[1]: *** [storage/innobase/CMakeFiles/innobase.dir/all] Error 2
make[1]: Leaving directory `/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/build'
make: *** [all] Error 2
make: Leaving directory `/opt/local/var/macports/build/nue.de.rsync.macports.org_macports_release_tarballs_ports_databases_mysql56/mysql56/work/build'

Attachments (1)

main.log (3.6 KB) - added by ballapete (Peter "Pete" Dyballa) 20 months ago.
Main.log from PPC Leopard, Mac OS X 10.5.8

Download all attachments as: .zip

Change History (4)

Changed 20 months ago by ballapete (Peter "Pete" Dyballa)

Attachment: main.log added

Main.log from PPC Leopard, Mac OS X 10.5.8

comment:1 Changed 11 months ago by chrstphrchvz (Christopher Chavez)

MySQL 5.6 will not compile with C++17 standards, which is what GCC 11 and later default to. See e.g. https://bugs.gentoo.org/786402

comment:2 Changed 11 months ago by chrstphrchvz (Christopher Chavez)

Cc: chrstphrchvz added

comment:3 Changed 11 months ago by chrstphrchvz (Christopher Chavez)

Owner: set to chrstphrchvz
Resolution: fixed
Status: newclosed

In df72df42e3a691341c2cb32cff06723ab0d61097/macports-ports (master):

mysql56: force pre-2017 C++ standard

Fixes: #71801

Note: See TracTickets for help on using tickets.