Author Topic: [SOLVED] Can't run new Substance Designer 2019.1.1 in Linux Mint  (Read 3567 times)

Hello guys,

This morning after notification in my current Substance Designer version (2019.1.0), than new version is available (2019.1.1), I downloaded RPM package as always. Installed it and try to run, but this time the application didn't start and show me the error:

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: minimal, offscreen, xcb.


I run same steps with installation as always, but this new release (2019.1.1) didn't want to start unfortunately.

My installation process looks like this:
  • sudo alien '/home/dmitriy/Downloads/Substance_Designer-2019.1.1-2320-linux-x64-standard-full.rpm' (Need to convert from RPM to DEB to install in on Linux Mint)
  • sudo dpkg -i substance-designer_2019.1.1-2_amd64.deb (Install converted DEB package in the system)
  • cd /opt/Allegorithmic/Substance_Designer/ (This is the place, where the app installed to)
  • sudo ./Substance\ Designer (Try to run it...)

Previously (2 versions ago) these steps work fine and I use Substance Designer normally... But this time it was different.

Any ideas what maybe the reason of the error? Did something seriously change in app requirements?

Thank you for your support, guys!

Regards,
Dmitriy
Last Edit: May 29, 2019, 03:32:24 pm

Hi,

Can you set the QT_DEBUG_PLUGINS environment variable to 1, launch Designer

> export QT_DEBUG_PLUGINS=1
> "Substance Designer"

and post the output here?

It will help us know why the Qt platform plugin could not be loaded.

Est.

Hi Esteban,

Thank you for a fast reply!

I've done what you wrote to me:
Set a QT_DEBUG_PLUGINS var to 1 with export QT_DEBUG_PLUGINS=1 command and also check is it set with env command. And after start of Substance Designer I see same message as it was before. Here it is:

Code: [Select]
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: minimal, offscreen, xcb.

Аварийный останов (сделан дамп памяти)
This last sentence is in Russian, because my system use Russian system setup and at English it will be something like: Emergency shutdown (memory dump made).

I also search for this problem solution in other app, not with Designer, and try to see which libraries XCB needs... I did it like that:
Go to plugins/platforms directory inside Substance Designer installed directory and examine libqxcb.so by ldd command, like that ldd libqxcb.so . This is the result:

Code: [Select]
linux-vdso.so.1 =>  (0x00007ffdc80b5000)
libQt5XcbQpa.so.5 => /opt/Allegorithmic/Substance_Designer/plugins/platforms/./../../libQt5XcbQpa.so.5 (0x00007f25aa236000)
libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f25a9f12000)
libfreetype.so.6 => /opt/Allegorithmic/Substance_Designer/plugins/platforms/./../../libfreetype.so.6 (0x00007f25a9c53000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f25a9a39000)
libQt5Gui.so.5 => /opt/Allegorithmic/Substance_Designer/plugins/platforms/./../../libQt5Gui.so.5 (0x00007f25a93a1000)
libQt5Core.so.5 => /opt/Allegorithmic/Substance_Designer/plugins/platforms/./../../libQt5Core.so.5 (0x00007f25a8d86000)
libGL.so.1 => /usr/lib/nvidia-418/libGL.so.1 (0x00007f25a8a47000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f25a882a000)
libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007f25a8628000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f25a8406000)
libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f25a81fc000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f25a7fea000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f25a7cb0000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f25a79a7000)
libxkbcommon-x11.so.0 => /usr/lib/x86_64-linux-gnu/libxkbcommon-x11.so.0 (0x00007f25a779f000)
libxkbcommon.so.0 => /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007f25a7560000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f25a735c000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f25a6fda000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f25a6dc4000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f25a69fa000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f25a67d1000)
libbz2.so.1 => /lib/x86_64-linux-gnu/libbz2.so.1 (0x00007f25a65c1000)
/lib64/ld-linux-x86-64.so.2 (0x00007f25aa157000)
libpng15.so.15 => not found
libnvidia-tls.so.418.56 => /usr/lib/nvidia-418/libnvidia-tls.so.418.56 (0x00007f25a63bd000)
libnvidia-glcore.so.418.56 => /usr/lib/nvidia-418/libnvidia-glcore.so.418.56 (0x00007f25a4751000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f25a454d000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f25a4347000)
libxcb-xkb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-xkb.so.1 (0x00007f25a412c000)

All dependencies was OK except one: libpng15.so.15 => not found. Maybe this is the reason?

Of course, I'm not a pro in Linux, but I try to check which version of LibPNG my system uses with package manager... Saw that I have ver 12 installed. Also I saw that there's a ver 16 of Libpng. tried to install it also, but nothing really happened...

I've temporary removed Designer 2019.1.1 and installed previous build 2019.1.0 and it runs fine.

I've decided to run a same check with ldd libqxcb.so command to see what the previous version needs. And output was almost the same except one line:
Previusly it was: libpng15.so.15 => not found
Now it's: libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007fc48806b000)

So, it seams that new build 2019.1.1 use libPNG ver 1.5 and old one (2019.1.0) use ver 1.2.

Now will try to understand how to setup a ver 1.5 or 1.6 in my system and make it work with Designer 2019.1.1.

BTW Esteban, I think I make a mistake with my previous output...

I ran Designer with superuser privileges and this was a reason, I think, why I didn't see anything new in my output, but when I ran it as normal user I've got this:

Code: [Select]
QFactoryLoader::QFactoryLoader() checking directory path "/opt/Allegorithmic/Substance_Designer/plugins/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/opt/Allegorithmic/Substance_Designer/plugins/platforms/libqminimal.so"
Found metadata in lib /opt/Allegorithmic/Substance_Designer/plugins/platforms/libqminimal.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "minimal"
        ]
    },
    "archreq": 0,
    "className": "QMinimalIntegrationPlugin",
    "debug": false,
    "version": 330752
}


Got keys from plugin meta data ("minimal")
QFactoryLoader::QFactoryLoader() looking at "/opt/Allegorithmic/Substance_Designer/plugins/platforms/libqoffscreen.so"
Found metadata in lib /opt/Allegorithmic/Substance_Designer/plugins/platforms/libqoffscreen.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "offscreen"
        ]
    },
    "archreq": 0,
    "className": "QOffscreenIntegrationPlugin",
    "debug": false,
    "version": 330752
}


Got keys from plugin meta data ("offscreen")
QFactoryLoader::QFactoryLoader() looking at "/opt/Allegorithmic/Substance_Designer/plugins/platforms/libqxcb.so"
Found metadata in lib /opt/Allegorithmic/Substance_Designer/plugins/platforms/libqxcb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "xcb"
        ]
    },
    "archreq": 0,
    "className": "QXcbIntegrationPlugin",
    "debug": false,
    "version": 330752
}


Got keys from plugin meta data ("xcb")
QFactoryLoader::QFactoryLoader() checking directory path "/opt/Allegorithmic/Substance_Designer/platforms" ...
Cannot load library /opt/Allegorithmic/Substance_Designer/plugins/platforms/libqxcb.so: (libpng15.so.15: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога)
QLibraryPrivate::loadPlugin failed on "/opt/Allegorithmic/Substance_Designer/plugins/platforms/libqxcb.so" : "Cannot load library /opt/Allegorithmic/Substance_Designer/plugins/platforms/libqxcb.so: (libpng15.so.15: невозможно открыть разделяемый объектный файл: Нет такого файла или каталога)"
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: minimal, offscreen, xcb.

Аварийный останов (сделан дамп памяти)

Some sentences are in Russian, but if you need, I will translate them. Maybe it also helps.

But as I understood from the output above, the problem is still with that libpng ver 1.5, which I miss...


I've solved my problem with installing of LibPNG ver. 1.5 and make a symbolic link for libpng15.so.15 from the place/directory where I've compiled and installed libpng libraries from source code to the place, where Substance Designer looks for it. In my case it was a directory: /lib/x86_64-linux-gnu/

Now it works. Maybe this topic will be useful for somebody else and will be happy to answer your questions in the case you will have them and interested what exactly I did.

Thanks and have a great day to all!

Regards,
Dmitriy

Hi potrivaev,

Thanks a lot for sharing your findings, it is very useful!

I think your problem comes from the fact that we are now bundling a specific version of the freetype library alongside Designer, to accommodate our users that are on older versions of CentOS 7 and don't have this version readily available. It seems the freetype library that we bundle requires libpng15, which is not present on your system. With Substance Designer 2019.1.0, the freetype library used was the one of your system, which presumably requires libpng12. Therefore, a simpler workaround for your issue might be to remove the file libfreetype.so.6 from the install directory of Substance Designer.

Hi Luc,

Thank you for letting us know this! That explain why I couldn't run a new build. And thank you for your solution how to solve it - it's really simpler comparing to what I did :)

This solved the same issue for me on Ubuntu 18.04.2, thank you!

I'm on Debian Buster with libpng16-16 and I had the same problem that @OP had. @luc.touraille's solution worked for me too, but I hope I won't run into problems later on when working with PNG files.  8)

Yep, @luc.touraille's solution worked for me on Manjaro 18.0.4 (xfce) as well. Thanks!