Omeka-S 4.1.1 Install Errors

I am having an odd error when attempting to install Omeka-S. I get the form (all looks normal) and complete it, hit “Submit” and get the “Omeka-s has encountered an error” message. Going to the site URL again prompts for login, which is always refused. Looking at the database, I see all the tables have created, so database access perms are clearly correct (and I have done a “grant all”, so all should be allowed in this test).

I set debug in .htaccess as well as enabling logging in the local conf file. Nothing ever writes to a log, but I get this error on screen when in debug:

ValueError
xml_set_element_handler(): Argument #2 ($start_handler) an object must be set via xml_set_object() to be able to lookup method

Details:

ValueError: xml_set_element_handler(): Argument #2 ($start_handler) an object must be set via xml_set_object() to be able to lookup method in /var/www/html/omeka-s/vendor/sweetrdf/easyrdf/lib/Parser/RdfXml.php:94 Stack trace: #0 /var/www/html/omeka-s/vendor/sweetrdf/easyrdf/lib/Parser/RdfXml.php(94): xml_set_element_handler() #1 /var/www/html/omeka-s/vendor/sweetrdf/easyrdf/lib/Parser/RdfXml.php(801): EasyRdf\Parser\RdfXml->initXMLParser() #2 /var/www/html/omeka-s/vendor/sweetrdf/easyrdf/lib/Graph.php(252): EasyRdf\Parser\RdfXml->parse() #3 /var/www/html/omeka-s/vendor/sweetrdf/easyrdf/lib/Graph.php(270): EasyRdf\Graph->parse() #4 /var/www/html/omeka-s/application/src/Stdlib/RdfImporter.php(105): EasyRdf\Graph->parseFile() #5 /var/www/html/omeka-s/application/src/Stdlib/RdfImporter.php(156): Omeka\Stdlib\RdfImporter->getMembers() #6 /var/www/html/omeka-s/application/src/Installation/Task/InstallDefaultVocabulariesTask.php(71): Omeka\Stdlib\RdfImporter->import() #7 /var/www/html/omeka-s/application/src/Installation/Installer.php(73): Omeka\Installation\Task\InstallDefaultVocabulariesTask->perform() #8 /var/www/html/omeka-s/application/src/Controller/InstallController.php(50): Omeka\Installation\Installer->install() #9 /var/www/html/omeka-s/vendor/laminas/laminas-mvc/src/Controller/AbstractActionController.php(71): Omeka\Controller\InstallController->indexAction() #10 /var/www/html/omeka-s/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\Mvc\Controller\AbstractActionController->onDispatch() #11 /var/www/html/omeka-s/vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\EventManager\EventManager->triggerListeners() #12 /var/www/html/omeka-s/vendor/laminas/laminas-mvc/src/Controller/AbstractController.php(97): Laminas\EventManager\EventManager->triggerEventUntil() #13 /var/www/html/omeka-s/vendor/laminas/laminas-mvc/src/DispatchListener.php(132): Laminas\Mvc\Controller\AbstractController->dispatch() #14 /var/www/html/omeka-s/vendor/laminas/laminas-eventmanager/src/EventManager.php(319): Laminas\Mvc\DispatchListener->onDispatch() #15 /var/www/html/omeka-s/vendor/laminas/laminas-eventmanager/src/EventManager.php(179): Laminas\EventManager\EventManager->triggerListeners() #16 /var/www/html/omeka-s/vendor/laminas/laminas-mvc/src/Application.php(325): Laminas\EventManager\EventManager->triggerEventUntil() #17 /var/www/html/omeka-s/index.php(21): Laminas\Mvc\Application->run() #18 {main}

The system details are:

RedHat 8, SELinux running permissive
PHP 8.4
MariaDB 10.11.10
Apache 2.4.37 (Rewrite enabled)
ImageMagick 6.9.13

Interestingly enough, Omeka 3.1.2 runs flawlessly on this same system, so it appears that there are no fundamental issues with the config, and nothing is logging in the MariaDB logfile to indicate any issues writing to the DB, or other log files. The php-fpm log does give a number of “deprecation” warnings, but no actual errors.

Likely I’m missing something here, but the error message being thrown isn’t pointing me to anything specific - hopefully someone has seen this and can advise.

Hi tadawson, I see that the xml-set-object function has been deprecated as of PHP 8.4.
Maybe you can try to change the PHP version to a previous one, like 8.1, to see if it solves the problem?

That did it. I went back to php8.3 (the latest showing in full support), dumped the database, and the install ran clean.

Not sure if this needs a bug report for lack of php8.4 compatibility, or a doc correction, since the requirements for php just say “php above xxxx” or both.

In any case, thank you for the speedy response!

Glad it helped. I think this is an important info for the Omeka team, hope they will soon read this topic :wink:

Yup. Not sure on the uptake on php8.4, but it has been out close to half a year . . .
(Still interesting that Classic did not hit this . . . the code base must be less common than I thought . . .)

Thanks again!

The answer on “bug report or doc correction” is probably both… we were operating with the thought/hope that we’d have the new version out a little sooner and so an explicit note about 8.4 in the docs wouldn’t be necessary, but we should probably add one. And we’ll have to update the version of EasyRDF we’re using to avoid this particular problem.

As for what the codebases of Classic and S have in common, they’re actually almost totally different. This RDF support area is an area of difference that’s larger than most even, as one of the key differentiating factors of S is its usage of and reliance on RDF vocabularies. The key difference that this boils down to here is that Classic doesn’t use the EasyRDF library that this error is coming from.