May 19 2022
Attempting to download the application at http://www.pixeluvo.com/download/ whilst using Ubuntu 22.04, the user is prompted:
Download the Pixeluvo installer for Windows (Please note we are not able to offer a Linux version at this time)
Having obtained a paid licence (absolutely worth it) and the 1.6 deb file with the application installed, when attempting to run the application:
$ pixeluvo
Using Pixeluvo Shipped Qt Libraries
Auto configuration failed
140537429485504:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:187:filename(libproviders.so): libproviders.so: cannot open shared object file: No such file or directory
140537429485504:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244:
140537429485504:error:0E07506E:configuration file routines:MODULE_LOAD_DSO:error loading dso:conf_mod.c:285:module=providers, path=providers
140537429485504:error:0E076071:configuration file routines:MODULE_RUN:unknown module name:conf_mod.c:222:module=providers
It fails. Reading up on a similar issue it suggests a workaround:
Checking this environment variable on the system:
$ printenv | grep OPENSSL_CONF
It produces no result, so the environment variable is not set. Reading a further comment suggests that OpenSSL 3.0.3 resolves the issue:
Checking the system version:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04 LTS
Release: 22.04
Codename: jammy
Checking the OpenSSL version
$ openssl version
OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)
System is fully updated and running is OpenSSL 3.0.2. Fine. When trying out the suggested workaround:
$ export OPENSSL_CONF=/dev/null && pixeluvo
Pixeluvo starts successfully. To make the workaround permanent:
sudo nano /usr/bin/pixeluvo
Then add the area contained within the ##
comments below:
#!/bin/bash
if [ $(getconf LONG_BIT) = "64" ]
then
LIBS=/opt/pixeluvo/libs64
BIN=/opt/pixeluvo/bin/Pixeluvo64
else
LIBS=/opt/pixeluvo/libs32
BIN=/opt/pixeluvo/bin/Pixeluvo32
fi
# Check if the system has Qt Libraries installed
if (( $(ldconfig -p | grep QtDeclarative -i -c) > 0 )) && (( $(ldconfig -p | grep QtSvg -i -c) > 0 ))
then
echo "Using System Qt Libraries"
else
echo "Using Pixeluvo Shipped Qt Libraries"
export QT_PLUGIN_PATH=""
export LD_LIBRARY_PATH=$LIBS:"$LD_LIBRARY_PATH"
## START OF MONKEY PATCH
if [ -z ${OPENSSL_CONF+x} ];
then
export OPENSSL_CONF=/dev/null
fi
## END OF MONKEY PATCH
fi
# Run Pixeluvo
$BIN "$@"
Pixeluvo now starts successfully when invoked via a new terminal session, via application shortcuts or the file manager context menu.
Thanks for posting your fix!
I had a different fix but I like yours better.
I was getting by with:
sudo nano /etc/ssl/openssl.cnf
comment out:
providers = providers_sect