Hi Krzysztof, in addition to what Oliver said:
SQL::Abstract::More uses mro to handle inheritance. It calls mro‘s next::method to invoke the parents‘ "new" method. Parent class of SQL::Abstract::More should be SQL::Abstract::Classic per default and I think the error means that SQL::Abstract::Classic->new() does not exist. So you might want to check your system for SQL::Abstract::Classic to see if it exists and contains a "sub new …", e.g. with perl -e 'use SQL::Abstract::Classic; SQL::Abstract::Classic->new' Best regards Jens > Am 31.08.2023 um 15:32 schrieb Krzysztof Stryjek via OpenXPKI-users > <[email protected]>: > On Mon, Aug 28, 2023 at 04:10:43PM -0700, Nick Dawson wrote: >> >> >> Krzysztof - can you move to MySQL 8.0? Not sure it'll solve your problem, but >> I'm running OpenXPKI against mysql 8.0 without issue. >> >> That said, knowing White Rabbit has moved away makes me want to re-think my >> deployment. > Well, I was able to install MariaDB (10.11.x) on localhost. So I've > migrated database to MariaDB. I've added missing tables (session_...), > converted seq_ tables to seq_. > > I've cloned openxpki-config with git, copied it to /etc/openxpki, just > modified database.yaml and webui.yaml (database connection parameters). > Everything else is not touched. Preious version of configuration was > deleted. > > And I still receive the same error. So it seems, that is not problem of > database or "old config files". > > I've greped OpenXPKI modules and found, that: > /usr/share/perl5/OpenXPKI/Server/Database.pm:109: return > SQL::Abstract::More->new( > > and I've checked /usr/lib/x86_64-linux-gnu/perl/5.36/mro.pm. mro.pm does > not have new method defined. > > So question is: why it is called? When you check > /usr/share/perl5/OpenXPKI/Server/Database.pm around line 105, you will > find, that SQL::Abstract::More->new is called with 'sqlam'. > > So I think, because my config is "strange" that's why I'm not able to > start openxpkid. But hot to debug it? > > I've tried such command: > openxpkictl --debug .*:100 start > > And then I've found in stderr.log > > 2023-08-31 15:11:11.075033 DEBUG:16 PID:19821 O:S:Init::init (line 93): task: > prepare_daemon > 2023-08-31 15:11:11.075118 DEBUG:16 PID:19821 O:S:Init::init (line 103): > do_init_prepare_daemon > 2023-08-31 15:11:11.075183 DEBUG:1 PID:19821 > O:S:Init::__do_init_prepare_daemon (line 226): init prepare daemon > 2023-08-31 15:11:11.075305 DEBUG:16 PID:19821 O:S:Init::init (line 93): task: > dbi > 2023-08-31 15:11:11.075358 DEBUG:16 PID:19821 O:S:Init::init (line 103): > do_init_dbi > 2023-08-31 15:11:11.075421 DEBUG:1 PID:19821 O:S:Init::__do_init_dbi (line > 283): init dbi > 2023-08-31 15:11:11.075476 DEBUG:1 PID:19821 O:S:Init::get_database (line > 444): start > 2023-08-31 15:11:11.075562 DEBUG:8 PID:19821 Class::MOP::Class:::before (line > 119): Location was array - shifted: 'system' > > 2023-08-31 15:11:11.075613 DEBUG:16 PID:19821 Class::MOP::Class:::before > (line 124): _route_call interception on system > 2023-08-31 15:11:11.075666 DEBUG:16 PID:19821 Class::MOP::Class:::before > (line 127): _route_call: system or explicit realm value, reset connector > offsets > 2023-08-31 15:11:11.075752 DEBUG:8 PID:19821 Class::MOP::Class:::before > (line 144): Full path: [ > 'system', > 'database', > 'main' > ] > > 2023-08-31 15:11:11.075977 DEBUG:8 PID:19821 Class::MOP::Class:::before (line > 119): Location was array - shifted: 'system' > > 2023-08-31 15:11:11.076028 DEBUG:16 PID:19821 Class::MOP::Class:::before > (line 124): _route_call interception on system > 2023-08-31 15:11:11.076070 DEBUG:16 PID:19821 Class::MOP::Class:::before > (line 127): _route_call: system or explicit realm value, reset connector > offsets > 2023-08-31 15:11:11.076146 DEBUG:8 PID:19821 Class::MOP::Class:::before > (line 144): Full path: [ > 'system', > 'database', > 'main' > ] > > 2023-08-31 15:11:11.076299 DEBUG:8 PID:19821 Class::MOP::Class:::before (line > 119): Location was array - shifted: 'system' > > 2023-08-31 15:11:11.076351 DEBUG:16 PID:19821 Class::MOP::Class:::before > (line 124): _route_call interception on system > 2023-08-31 15:11:11.076405 DEBUG:16 PID:19821 Class::MOP::Class:::before > (line 127): _route_call: system or explicit realm value, reset connector > offsets > 2023-08-31 15:11:11.076483 DEBUG:8 PID:19821 Class::MOP::Class:::before > (line 144): Full path: [ > 'system', > 'database', > 'environment' > ] > > 2023-08-31 15:11:11.076699 DEBUG:32 PID:19821 O:S:Init::get_database (line > 495): database retry setting: 0x / 30s > 2023-08-31 15:11:11.076864 DEBUG:32 PID:19821 O:S:Database::_build_driver > (line 169): Trying to load driver class > OpenXPKI::Server::Database::Driver::MariaDB > 2023-08-31 15:11:11.085553 DEBUG:4 PID:19821 > O:S:Database::_build_dbix_handler (line 231): DSN: > dbi:mysql:database=openxpkidb > 2023-08-31 15:11:11.085652 DEBUG:4 PID:19821 > O:S:Database::_build_dbix_handler (line 232): User: openxpki_user > 2023-08-31 15:11:11.085750 DEBUG:4 PID:19821 > O:S:Database::_build_dbix_handler (line 237): Additional connect() > attributes: mysql_bind_type_guessing = 0 | mysql_auto_reconnect = 0 | > mysql_enable_utf8 = 1 > 2023-08-31 15:11:11.092200 DEBUG:32 PID:19821 O:S:Database::__ANON__ (line > 264): DBMS version: 10.11.3-MariaDB-1 > 2023-08-31 15:11:11.092493 DEBUG:32 PID:19821 > O:S:Database::_build_dbix_handler (line 277): DBIx Handle bless( { > '_connect_info' => [ > 'dbi:mysql:database=openxpkidb', > 'openxpki_user', > '**********************', > { > 'AutoCommit' => 0, > 'HandleError' => sub { "DUMMY" }, > 'LongReadLen' => 10000000, > 'PrintError' => 0, > 'RaiseError' => 0, > 'mysql_auto_reconnect' => 0, > 'mysql_bind_type_guessing' => 0, > 'mysql_enable_utf8' => 1 > } > ], > '_dbh' => bless( {}, 'DBI::db' ), > '_pid' => 19821, > 'dbi_class' => 'DBI', > 'no_ping' => 0, > 'on_connect_do' => sub { "DUMMY" }, > 'on_disconnect_do' => undef, > 'prepare_method' => 'prepare', > 'result_class' => undef, > 'trace_ignore_if' => sub { "DUMMY" }, > 'trace_query' => 0 > }, 'DBIx::Handler' ) > > 2023-08-31 15:11:11.092638 DEBUG:1 PID:19821 O:S:Context::setcontext (line > 118): start > Use of uninitialized value $force in concatenation (.) or string at (eval > 1139) line 1. > 2023-08-31 15:11:11.092710 DEBUG:16 PID:19821 O:S:Context::setcontext (line > 122): force: > 2023-08-31 15:11:11.096218 DEBUG:1 PID:19821 > OpenXPKI::Exception::full_message (line 99): exception thrown: > I18N_OPENXPKI_SERVER_INIT_TASK_INIT_FAILURE; __ERROR__ => No next::method > 'new' found for SQL::Abstract::More at /usr/lib/x86_64- > linux-gnu/perl/5.36/mro.pm line 30. , __task__ => dbi > 2023-08-31 15:11:11.096435 DEBUG:1 PID:19821 O:S:__log_and_die (line 761): > start > 2023-08-31 15:11:11.096508 DEBUG:16 PID:19821 O:S:__log_and_die (line 768): > error is exception > 2023-08-31 15:11:11.096821 DEBUG:1 PID:19821 > OpenXPKI::Exception::full_message (line 99): exception thrown: > I18N_OPENXPKI_SERVER_INIT_TASK_INIT_FAILURE; __ERROR__ => No next::method > 'new' found for SQL::Abstract::More at > /usr/lib/x86_64-linux-gnu/perl/5.36/mro.pm line 30. , __task__ => dbi > 2023-08-31 15:11:11.096903 DEBUG:1 PID:19821 > OpenXPKI::Exception::full_message (line 99): exception thrown: > I18N_OPENXPKI_SERVER_INIT_TASK_INIT_FAILURE; __ERROR__ => No next::method > 'new' found for SQL::Abstract::More at > /usr/lib/x86_64-linux-gnu/perl/5.36/mro.pm line 30. , __task__ => dbi > 2023-08-31 15:11:11.097030 DEBUG:16 PID:19821 O:S:__log_and_die (line 777): > log_message: Exception during server initialization: > I18N_OPENXPKI_SERVER_INIT_TASK_INIT_FAILURE; __ERROR__ => No next::method > 'new' found for SQL::Abstract::Mor > e at /usr/lib/x86_64-linux-gnu/perl/5.36/mro.pm line 30. , __task__ => dbi > (I18N_OPENXPKI_SERVER_INIT_TASK_INIT_FAILURE; > __ERROR__ => No next::method 'new' found for SQL::Abstract::More at > /usr/lib/x86_64-linux-gnu/perl/5.36/mro.pm line 30. > , __task__ => dbi) > 2023-08-31 15:11:11.097250 DEBUG:1 PID:19821 O:S:__log_and_die (line 783): > end, dying > 2023-08-31 15:11:11.097329 DEBUG:1 PID:19821 O:S:DESTROY (line 106): start > Exception during server initialization: > I18N_OPENXPKI_SERVER_INIT_TASK_INIT_FAILURE; __ERROR__ => No next::method > 'new' found for SQL::Abstract::More at > /usr/lib/x86_64-linux-gnu/perl/5.36/mro.pm line 30. > , __task__ => dbi (I18N_OPENXPKI_SERVER_INIT_TASK_INIT_FAILURE; > __ERROR__ => No next::method 'new' found for SQL::Abstract::More at > /usr/lib/x86_64-linux-gnu/perl/5.36/mro.pm line 30. , __task__ => dbi) at > /usr/share/perl5/OpenXPKI/Server.pm line 784. > > > I'd like to thank you for any suggestions. > > Greetings, > -- > Krzysztof Stryjek > UNIX administrator, Network Security Specialist > email: admin (at) codenix (dot) pl > GPG fingerprint: 8BD7 40CE 8994 0BBE CE6C 91CD 1292 8959 DC61 0E76 > > > > _______________________________________________ > OpenXPKI-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/openxpki-users _______________________________________________ OpenXPKI-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openxpki-users
