Skip to content

Instantly share code, notes, and snippets.

@craigvantonder
Last active September 1, 2022 23:23
Show Gist options
  • Save craigvantonder/1d8b64b744363e9fa4108947c1758e92 to your computer and use it in GitHub Desktop.
Save craigvantonder/1d8b64b744363e9fa4108947c1758e92 to your computer and use it in GitHub Desktop.
Pixeluvo / Ubuntu 22.04 / Auto configuration failed

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.

@neilgrover
Copy link

neilgrover commented Jun 21, 2022

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

@burk-castlehard
Copy link

Thanks, it works great for me as well (Ubuntu 22.04-1). Just wondering WTH they need the openssl for.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment