On Tue, Jan 02, 2024 at 07:09:23PM -0800, Hisashi T Fujinaka wrote:
I'm guessing no one is building it because I can't find it in the binary
builds, but I tried cleaning out all of my pkgsrc to see if that helped.
But for some reason pkgsrc is acting very oddly. clang, llvm, and
mysql80 all seem to fail and then keep building if you keep running
make or make install.
In any case, the first failure for mysql80-server seems to be about
here:
...
[ 64%] Built target mysql_upgrade
[ 64%] Linking CXX shared module ../../plugin_output_directory/group_replication.so
[ 64%] Built target group_replication
[ 64%] Linking CXX static library librpl_replica.a
[ 64%] Built target rpl_replica
*** Error code 2
Stop.
make[1]: stopped in /usr/pkgsrc/databases/mysql80-server
*** Error code 1
Stop.
make: stopped in /usr/pkgsrc/databases/mysql80-server
The whole build log is at:
https://www.i8u.org/~htodd/mysql80-server.build.log
I'm not intending to fix this myself, but here's some pointers.
The link doesn't work.
However, it also fails here
http://victory.netbsd.org/pkgsrc/packages/reports/2023Q4/amd64-10.0/20231229.2332/mysql-server-8.0.33nb4/build.log
[ 62%] Building CXX object sql/CMakeFiles/rpl_replica.dir/rpl_async_conn_failover_add_managed_udf.cc.o
/pbulk/work/databases/mysql80-server/work/mysql-8.0.33/plugin/x/tests/driver/connector/connection_manager.cc:36:19: error: 'LogHandler' in namespace 'google::protobuf' does not name a type
36 | google::protobuf::LogHandler *g_lh = nullptr;
| ^~~~~~~~~~
/pbulk/work/databases/mysql80-server/work/mysql-8.0.33/plugin/x/tests/driver/connector/connection_manager.cc: In constructor 'Connection_manager::Connection_manager(const Connection_options&, Variable_container*, const Console&, const Console&)':
/pbulk/work/databases/mysql80-server/work/mysql-8.0.33/plugin/x/tests/driver/connector/connection_manager.cc:46:3: error: 'g_lh' was not declared in this scope
46 | g_lh = google::protobuf::SetLogHandler([](google::protobuf::LogLevel level,
| ^~~~
/pbulk/work/databases/mysql80-server/work/mysql-8.0.33/plugin/x/tests/driver/connector/connection_manager.cc:46:28: error: 'SetLogHandler' is not a member of 'google::protobuf'
46 | g_lh = google::protobuf::SetLogHandler([](google::protobuf::LogLevel level,
| ^~~~~~~~~~~~~
/pbulk/work/databases/mysql80-server/work/mysql-8.0.33/plugin/x/tests/driver/connector/connection_manager.cc:46:45: error: 'google::protobuf::LogLevel' has not been declared
46 | g_lh = google::protobuf::SetLogHandler([](google::protobuf::LogLevel level,
| ^~~~~~
/pbulk/work/databases/mysql80-server/work/mysql-8.0.33/plugin/x/tests/driver/connector/connection_manager.cc: In lambda function:
/pbulk/work/databases/mysql80-server/work/mysql-8.0.33/plugin/x/tests/driver/connector/connection_manager.cc:49:9: error: 'g_lh' is not captured
49 | if (g_lh) g_lh(level, filename, line, message);
| ^~~~
/pbulk/work/databases/mysql80-server/work/mysql-8.0.33/plugin/x/tests/driver/connector/connection_manager.cc:46:43: note: the lambda has no capture-default
46 | g_lh = google::protobuf::SetLogHandler([](google::protobuf::LogLevel level,
| ^
/pbulk/work/databases/mysql80-server/work/mysql-8.0.33/plugin/x/tests/driver/connector/connection_manager.cc:46:3: note: '<typeprefixerror>g_lh' declared here
46 | g_lh = google::protobuf::SetLogHandler([](google::protobuf::LogLevel level,
| ^~~~
/pbulk/work/databases/mysql80-server/work/mysql-8.0.33/plugin/x/tests/driver/connector/connection_manager.cc:49:15: error: 'g_lh' is not captured
49 | if (g_lh) g_lh(level, filename, line, message);
| ^~~~
/pbulk/work/databases/mysql80-server/work/mysql-8.0.33/plugin/x/tests/driver/connector/connection_manager.cc:46:43: note: the lambda has no capture-default
46 | g_lh = google::protobuf::SetLogHandler([](google::protobuf::LogLevel level,
| ^
/pbulk/work/databases/mysql80-server/work/mysql-8.0.33/plugin/x/tests/driver/connector/connection_manager.cc:46:3: note: '<typeprefixerror>g_lh' declared here
46 | g_lh = google::protobuf::SetLogHandler([](google::protobuf::LogLevel level,
| ^~~~
[ 62%] Building CXX object client/CMakeFiles/mysql_upgrade.dir/upgrade/program.cc.o
gmake[2]: *** [plugin/x/tests/driver/CMakeFiles/mysqlxtest.dir/build.make:132: plugin/x/tests/driver/CMakeFiles/mysqlxtest.dir/connector/connection_manager.cc.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
[ 63%] Building CXX object sql/CMakeFiles/rpl_replica.dir/rpl_async_conn_failover_add_source_udf.cc.o
This looks relevant:
https://bugs.mysql.com/bug.php?id=111469
to quote:
"2. Code that uses `google::protobuf::LogHandler` will need to be
adapted to use Abseil's logging code, since Protobuf has done the
same."
and later
"It turns out that the code using google::protobuf::LogHandler
can simply be removed, it was used for internal debugging only."
and even later
"Fixed as of the upcoming MySQL Server 8.0.35 and 8.2.0 releases, and
here's the proposed changelog entry from the documentation team:"
So updating to 8.0.35 should fix this.