Trying to build from source fails
Hi,
We had an old mysql-57 server running under FreeBSD 12. The data set was
on a different machine, accessed via an nfs ro mount. The machine failed,
with the backups lost. Spun up another Freebsd 12 machine, but the
packages for that version os are no longer available. Tried building
5.7 from port tree, but many of the dependencies are gone, leaving the port
unbuildable.
I have the mysql 80 package installed, but doesn't like the old 5.7
data set, and there seems t0 be no way to convert the old data set to later
format.
Downloaded the source package from mysql, and have all the needed packages
installed. C-make completes ok, and make starts well, but then stops with:
In file included from /usr/local/src/mysql/mysql-5.7.10/sql/rpl_channel_service_interface.cc:21:
In file included from /usr/local/src/mysql/mysql-5.7.10/sql/rpl_mi.h:23:
In file included from /usr/local/src/mysql/mysql-5.7.10/sql/log_event.h:39:
/usr/local/src/mysql/mysql-5.7.10/sql/sql_class.h:2103:8: error: no template named 'auto_ptr' in namespace 'std'
2103 | std::auto_ptr<Transaction_ctx> m_transaction;
| ~~~~~^
/usr/local/src/mysql/mysql-5.7.10/sql/sql_class.h:1405:41: error: cannot initialize object parameter of type 'const Query_arena' with an expression of type 'const THD'
1405 | { DBUG_ASSERT(0); return Query_arena::is_stmt_prepare(); }
| ^~~~~~~~~~~~~~~
/usr/local/src/mysql/mysql-5.7.10/sql/sql_class.h:1408:41: error: cannot initialize object parameter of type 'const Query_arena' with an expression of type 'const THD'
1408 | { DBUG_ASSERT(0); return Query_arena::is_stmt_prepare_or_first_sp_execute(); }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/src/mysql/mysql-5.7.10/sql/sql_class.h:1411:41: error: cannot initialize object parameter of type 'const Query_arena' with an expression of type 'const THD'
1411 | { DBUG_ASSERT(0); return Query_arena::is_stmt_prepare_or_first_stmt_execute(); }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/src/mysql/mysql-5.7.10/sql/sql_class.h:1414:41: error: cannot initialize object parameter of type 'const Query_arena' with an expression of type 'const THD'
1414 | { DBUG_ASSERT(0); return Query_arena::is_conventional(); }
| ^~~~~~~~~~~~~~~
/usr/local/src/mysql/mysql-5.7.10/sql/sql_class.h:3943:12: error: cannot initialize object parameter of type 'Query_arena' with an expression of type 'THD'
3943 | *p_db= strmake(m_db.str, m_db.length);
| ^~~~~~~
2 warnings and 6 errors generated.
gmake[2]: *** [sql/CMakeFiles/slave.dir/build.make:331: sql/CMakeFiles/slave.dir/rpl_channel_service_interface.cc.o] Error 1
gmake[2]: Target 'sql/CMakeFiles/slave.dir/build' not remade because of errors.
gmake[1]: *** [CMakeFiles/Makefile2:7247: sql/CMakeFiles/slave.dir/all] Error 2
[ 15%] Building CXX object storage/partition/CMakeFiles/partition.dir/ha_partition.cc.o
^Cgmake[2]: *** [storage/partition/CMakeFiles/partition.dir/build.make:79: storage/partition/CMakeFiles/partition.dir/ha_partition.cc.o] Interrupt
gmake[1]: *** [CMakeFiles/Makefile2:3097: storage/partition/CMakeFiles/partition.dir/all] Interrupt
gmake: *** [Makefile:166: all] Interrupt
Real time embedded systems programmer here, little or no C++, and would not
know where to start looking to fix that. Any suggestions, or ideas, would be
appreciated.
Thanks,
Chris