lyshie/install-scratch2-on-fedora

Gtk-Message: Failed to load module "pk-gtk-module" and "canberra-gtk-module"

Closed this issue · 5 comments

remjg commented

Hi,

Looking at a way to install Scratch 2 on Fedora 27, I found your script... Thanks !

Is it a work in progress or did you manager to make Scratch 2 works?

I currently encounter the following errors:

$ scratch2
(adl:4375): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",
(adl:4375): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",
Gtk-Message: Failed to load module "pk-gtk-module"
Gtk-Message: Failed to load module "canberra-gtk-module"
Application crashed with an unhandled SIGSEGV
Crashlog has been dumped in /tmp/airCrashLogs/0128_1621_mdVs3J

It worked on my Fedora 26 and 27.
I think that It might be caused by the missing dynamic linking libraries (.so).

open bash under path /opt/adobe-air-sdk, using the following command to find out the missing *.so

$ find . -name "*.so" -exec ldd {} \; | grep "not found"

Maybe there are some required dependencies I missed.

$ sudo dnf install libXt.i686 gtk2.i686 nss.i686 nspr.i686 libxml2.i686
remjg commented

The dependencies you mentioned are installed, but it seems like many things are missing according to the command you gave to me:

    [root@salle206-maths01 adobe-air-sdk]# find . -name "*.so" -exec ldd {} \; | grep "not found"
        libxslt.so.1 => not found
        libhal.so.1 => not found
    ldd: ./runtimes/air/linux/Adobe AIR/Versions/1.0/Resources/nss3/1d/libsmime3.so: No such file or directory
    ldd: ./runtimes/air/linux/Adobe AIR/Versions/1.0/Resources/nss3/1d/libnspr4.so: No such file or directory
    ldd: ./runtimes/air/linux/Adobe AIR/Versions/1.0/Resources/nss3/1d/libplc4.so: No such file or directory
    ldd: ./runtimes/air/linux/Adobe AIR/Versions/1.0/Resources/nss3/1d/libssl3.so: No such file or directory
    ldd: ./runtimes/air/linux/Adobe AIR/Versions/1.0/Resources/nss3/1d/libnssckbi.so: No such file or directory
    ldd: ./runtimes/air/linux/Adobe AIR/Versions/1.0/Resources/nss3/1d/libnssdbm3.so: No such file or directory
    ldd: ./runtimes/air/linux/Adobe AIR/Versions/1.0/Resources/nss3/1d/libplds4.so: No such file or directory
    ldd: ./runtimes/air/linux/Adobe AIR/Versions/1.0/Resources/nss3/1d/libnss3.so: No such file or directory
    ldd: ./runtimes/air/linux/Adobe AIR/Versions/1.0/Resources/nss3/1d/libnssutil3.so: No such file or directory
    ldd: ./runtimes/air/linux/Adobe AIR/Versions/1.0/Resources/nss3/0d/libsmime3.so: No such file or directory
    ldd: ./runtimes/air/linux/Adobe AIR/Versions/1.0/Resources/nss3/0d/libnspr4.so: No such file or directory
    ldd: ./runtimes/air/linux/Adobe AIR/Versions/1.0/Resources/nss3/0d/libplc4.so: No such file or directory
    ldd: ./runtimes/air/linux/Adobe AIR/Versions/1.0/Resources/nss3/0d/libssl3.so: No such file or directory
    ldd: ./runtimes/air/linux/Adobe AIR/Versions/1.0/Resources/nss3/0d/libnssckbi.so: No such file or directory
    ldd: ./runtimes/air/linux/Adobe AIR/Versions/1.0/Resources/nss3/0d/libnssdbm3.so: No such file or directory
    ldd: ./runtimes/air/linux/Adobe AIR/Versions/1.0/Resources/nss3/0d/libplds4.so: No such file or directory
    ldd: ./runtimes/air/linux/Adobe AIR/Versions/1.0/Resources/nss3/0d/libnss3.so: No such file or directory
    ldd: ./runtimes/air/linux/Adobe AIR/Versions/1.0/Resources/nss3/0d/libnssutil3.so: No such file or directory
        libkwalletclient.so.1 => not found
        libkdecore.so.4 => not found
        libDCOP.so.4 => not found
        libqt-mt.so.3 => not found

Using the the following commands:

dnf provides libxslt.so.1 libhal.so.1 libkwalletclient.so.1 libkdecore.so.4 libDCOP.so.4 libqt-mt.so.3

I found that I needed to install a few more packages:

sudo dnf install libxslt.i686 kdelibs3.i686 qt3.i686

Now I can launch Scratch 2 using the command scratch2 from the command line, and after a quick try, everything seems working fine now :-)

I just need to find a way to add it to the Gnome Shell menu, and that will be perfect.

Thank you for your help, I guess you can add the dependencies libxslt.i686 kdelibs3.i686 qt3.i686 to your script !

Thanks for your reply and I update the source code.

You can download Scratch2 desktop enrty from ArchLinux user repository (AUR) and copy it to /usr/share/applications/.
https://aur.archlinux.org/cgit/aur.git/plain/scratch2.desktop?h=scratch2

remjg commented

Thanks, I was already working on a .desktop entry file copying the one provided with the Scratch version available in Fedora. To avoid a conflict with the Scratch version provided in Fedora, I use scratch2-editor instead of scratch for file names.

I have gathered all the icons together with the desktop file in the archive below:

install-scratch-icons.zip

I had to use the following commands to copy everything in the right place:

    cp -n scratch2-editor-48.png /usr/share/icons/hicolor/48x48/apps/scratch2-editor.png
    cp -n scratch2-editor-128.png /usr/share/icons/hicolor/128x128/apps/scratch2-editor.png
    cp -n gnome-mime-application-x-scratch-project-128.png /usr/share/icons/hicolor/128x128/mimetypes/gnome-mime-application-x-scratch-project.png
    cp -n gnome-mime-application-x-scratch-project-128.png /usr/share/icons/hicolor/128x128/mimetypes/gnome-mime-application-x-scratch-project.png
    cp -f scratch2-editor.desktop /usr/share/applications/
    gtk-update-icon-cache /usr/share/icons/hicolor
    update-mime-database /usr/share/mime

Not sure about the last two commands though. I need to try on another computer.

remjg commented

I have made a pull request, feel free to close it if you don't need it or if it doesn't suit you.

Add Scratch icons and provide the corresponding .desktop entry. #2