pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: 2023Q4 databases/mysql80-server isn't building on 10-amd64



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.
 Thomas


Home | Main Index | Thread Index | Old Index