therecipe / qt

Qt binding for Go (Golang) with support for Windows / macOS / Linux / FreeBSD / Android / iOS / Sailfish OS / Raspberry Pi / AsteroidOS / Ubuntu Touch / JavaScript / WebAssembly
GNU Lesser General Public License v3.0
10.47k stars 747 forks source link

plugin cannot be loaded for module "QtMultimedia" #825

Closed bh90210 closed 5 years ago

bh90210 commented 5 years ago

Hi,

if use video in qml I get this error when trying to open the app (successfully compiles). I run Ubuntu 18.04, go1.12 linux/amd64, Qt 5.12.2 (also tested under 5.11.1 and same error came up).

QQmlApplicationEngine failed to load component
qrc:/qml/Page1Form.qml:8 plugin cannot be loaded for module "QtMultimedia": Cannot load library /home/***/go/src/myApp/deploy/linux/qml/QtMultimedia/libdeclarative_multimedia.so: (libQt5MultimediaQuick.so.5: cannot open shared object file: No such file or directory)

I use version import QtMultimedia 5.8 I can confirm the code is working by running the qml via Qt Creator.

How can I fix this? When I check /home/***/go/src/myApp/deploy/linux/lib indeed there is no such file.

EDIT: I tried to merely copy/paste libQt5MultimediaQuick.so.5 from $HOME/Qt/5.12.2/gcc_64/lib/libQt5MultimediaQuick.so.5 to $HOME/go/src/myApp/deploy/linux/lib/ but I get the same error.

therecipe commented 5 years ago

Hey

Maybe try to use, import _ "github.com/therecipe/qt/multimedia" somewhere in your code. The dependency detection is rather basic on linux, and might not properly work if the module is only referenced in QML.

bh90210 commented 5 years ago

I am afraid it didn't work.

I deleted everything from $HOME/go/src/myApp except the qml folder -and it's contents- and the main.go -I only have one go file named main-. Edited main.go, added the line import _ "github.com/therecipe/qt/multimedia". Then ran (go env GOPATH)/bin/qtdeploy build desktop myApp and compiled successfully.

qml import section looks like this

import QtQuick 2.9
import QtQuick.Controls 2.2
import QtQuick.Controls.Material 2.0
import QtQuick.Layouts 1.3
import QtQuick.Dialogs 1.0
import Qt.labs.folderlistmodel 2.12
import QtQml 2.12
import QtMultimedia 5.8

and main.go like this

package main

import (
    "bytes"
    "encoding/base64"
    "fmt"
    "io"
    "io/ioutil"
    "log"
    "mime/multipart"
    "net/http"
    "net/url"
    "os"
    "strconv"
    "strings"
    "path/filepath"

    "github.com/ChimeraCoder/anaconda"
    "github.com/dgraph-io/badger"
    "gopkg.in/ahmdrz/goinsta.v2"
    "github.com/therecipe/qt/core"
    "github.com/therecipe/qt/qml"
    "github.com/therecipe/qt/quick"
    "github.com/therecipe/qt/quickcontrols2"
    "github.com/therecipe/qt/gui"
)
import _ "github.com/therecipe/qt/multimedia"

I still get the same error when I run the app

qrc:/qml/Page1Form.qml:8 plugin cannot be loaded for module "QtMultimedia": Cannot load library /home/****/go/src/myApp/deploy/linux/qml/QtMultimedia/libdeclarative_multimedia.so: (libQt5MultimediaQuick.so.5: cannot open shared object file: No such file or directory)

checked (go env GOPATH)/src/myApp/deploy/linux/lib and again the file libQt5MultimediaQuick.so.5 is not there.

Also I am slowly but surely realising that moving libQt5MultimediaQuick.so.5 from Qt folder to myApp folder doesn't make much sense since the compiling has already happened.

Edit: checked the video player example found here $HOME/go/src/github.com/therecipe/qt/internal/examples/widgets/video_player and works as expected. Maybe the issue is somehow in Qt Quick?

therecipe commented 5 years ago

Thanks, I made some changes with https://github.com/therecipe/qt/commit/20875b03279ff713a411e8a47bc4296de6c5b0bf#diff-16e44658fb89a392fbb49ad74fdc4570 which should hopefully solve this by always deploying the Multimedia libs.

Could you update qtdeploy and test again? (after these changes, the lib dir of your application should contain libQt5MultimediaQuick.so.5 and libQt5Multimedia.so.5 now)

Also if this still won't work, could you please post the log of you application if you start it with export QT_DEBUG_PLUGINS=1 being set?

I still suspect that this is just caused by the two missing Multimedia libs. I hoped that import _ "github.com/therecipe/qt/multimedia" would solve this, but it probably only lead to the deployment one of the two necessary files. Btw, you should be able to remove import _ "github.com/therecipe/qt/multimedia" now, since it's probably no longer necessary.

bh90210 commented 5 years ago

Again nothing.

So, first I edited /home/byron/go/src/github.com/therecipe/qt/internal/cmd/deploy/bundle.go by altering line 178 as per your latest commit. (do I have to download and run qtsetup with the latest commit or by just altering the bundle file should work?)

libs = append(libs, []string{"3DCore", "3DExtras", "3DInput", "3DLogic", "3DQuick", "3DQuickExtras", "3DQuickInput", "3DQuickRender", "3DRender", "Gamepad", "Multimedia", "MultimediaQuick"}...)

Then $(go env GOPATH)/bin/qtdeploy build desktop shitPoster5000 and again compiles fine. I got the same error. Here is the app ran with QT_DEBUG_PLUGINS=1

$ QT_DEBUG_PLUGINS=1 /home/byron/go/src/shitPoster5000/deploy/linux/shitPoster5000
QFactoryLoader::QFactoryLoader() checking directory path "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqeglfs.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqeglfs.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "eglfs"
        ]
    },
    "archreq": 0,
    "className": "QEglFSIntegrationPlugin",
    "debug": false,
    "version": 330752
}

Got keys from plugin meta data ("eglfs")
QFactoryLoader::QFactoryLoader() looking at "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqlinuxfb.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqlinuxfb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "linuxfb"
        ]
    },
    "archreq": 0,
    "className": "QLinuxFbIntegrationPlugin",
    "debug": false,
    "version": 330752
}

Got keys from plugin meta data ("linuxfb")
QFactoryLoader::QFactoryLoader() looking at "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqminimal.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/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 "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqminimalegl.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqminimalegl.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "minimalegl"
        ]
    },
    "archreq": 0,
    "className": "QMinimalEglIntegrationPlugin",
    "debug": false,
    "version": 330752
}

Got keys from plugin meta data ("minimalegl")
QFactoryLoader::QFactoryLoader() looking at "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqoffscreen.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/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 "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqvnc.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqvnc.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "vnc"
        ]
    },
    "archreq": 0,
    "className": "QVncIntegrationPlugin",
    "debug": false,
    "version": 330752
}

Got keys from plugin meta data ("vnc")
QFactoryLoader::QFactoryLoader() looking at "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqwayland-egl.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqwayland-egl.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "wayland-egl"
        ]
    },
    "archreq": 0,
    "className": "QWaylandEglPlatformIntegrationPlugin",
    "debug": false,
    "version": 330752
}

Got keys from plugin meta data ("wayland-egl")
QFactoryLoader::QFactoryLoader() looking at "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqwayland-generic.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqwayland-generic.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "wayland"
        ]
    },
    "archreq": 0,
    "className": "QWaylandIntegrationPlugin",
    "debug": false,
    "version": 330752
}

Got keys from plugin meta data ("wayland")
QFactoryLoader::QFactoryLoader() looking at "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqwayland-xcomposite-egl.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqwayland-xcomposite-egl.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "wayland-xcomposite-egl"
        ]
    },
    "archreq": 0,
    "className": "QWaylandXCompositeEglPlatformIntegrationPlugin",
    "debug": false,
    "version": 330752
}

Got keys from plugin meta data ("wayland-xcomposite-egl")
QFactoryLoader::QFactoryLoader() looking at "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqwayland-xcomposite-glx.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqwayland-xcomposite-glx.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "wayland-xcomposite-glx"
        ]
    },
    "archreq": 0,
    "className": "QWaylandXCompositeGlxPlatformIntegrationPlugin",
    "debug": false,
    "version": 330752
}

Got keys from plugin meta data ("wayland-xcomposite-glx")
QFactoryLoader::QFactoryLoader() looking at "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqwebgl.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqwebgl.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "webgl"
        ]
    },
    "archreq": 0,
    "className": "QWebGLIntegrationPlugin",
    "debug": false,
    "version": 330752
}

Got keys from plugin meta data ("webgl")
QFactoryLoader::QFactoryLoader() looking at "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqxcb.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/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 "/home/byron/go/src/shitPoster5000/deploy/linux/platforms" ...
loaded library "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforms/libqxcb.so"
loaded library "Xcursor"
QFactoryLoader::QFactoryLoader() checking directory path "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platformthemes" ...
QFactoryLoader::QFactoryLoader() looking at "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platformthemes/libqgtk3.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/plugins/platformthemes/libqgtk3.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformThemeFactoryInterface.5.1",
    "MetaData": {
        "Keys": [
            "gtk3"
        ]
    },
    "archreq": 0,
    "className": "QGtk3ThemePlugin",
    "debug": false,
    "version": 330752
}

Got keys from plugin meta data ("gtk3")
QFactoryLoader::QFactoryLoader() looking at "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platformthemes/libqxdgdesktopportal.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/plugins/platformthemes/libqxdgdesktopportal.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformThemeFactoryInterface.5.1",
    "MetaData": {
        "Keys": [
            "xdgdesktopportal",
            "flatpak",
            "snap"
        ]
    },
    "archreq": 0,
    "className": "QXdgDesktopPortalThemePlugin",
    "debug": false,
    "version": 330752
}

Got keys from plugin meta data ("xdgdesktopportal", "flatpak", "snap")
QFactoryLoader::QFactoryLoader() checking directory path "/home/byron/go/src/shitPoster5000/deploy/linux/platformthemes" ...
loaded library "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platformthemes/libqgtk3.so"
QFactoryLoader::QFactoryLoader() checking directory path "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforminputcontexts" ...
QFactoryLoader::QFactoryLoader() looking at "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so, metadata=
{
    "IID": "org.qt-project.Qt.QPlatformInputContextFactoryInterface.5.1",
    "MetaData": {
        "Keys": [
            "compose",
            "xim"
        ]
    },
    "archreq": 0,
    "className": "QComposePlatformInputContextPlugin",
    "debug": false,
    "version": 330752
}

Got keys from plugin meta data ("compose", "xim")
QFactoryLoader::QFactoryLoader() looking at "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so, metadata=
{
    "IID": "org.qt-project.Qt.QPlatformInputContextFactoryInterface.5.1",
    "MetaData": {
        "Keys": [
            "ibus"
        ]
    },
    "archreq": 0,
    "className": "QIbusPlatformInputContextPlugin",
    "debug": false,
    "version": 330752
}

Got keys from plugin meta data ("ibus")
QFactoryLoader::QFactoryLoader() looking at "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so, metadata=
{
    "IID": "org.qt-project.Qt.QPlatformInputContextFactoryInterface.5.1",
    "MetaData": {
        "Keys": [
            "qtvirtualkeyboard"
        ]
    },
    "archreq": 0,
    "className": "QVirtualKeyboardPlugin",
    "debug": false,
    "version": 330752
}

Got keys from plugin meta data ("qtvirtualkeyboard")
QFactoryLoader::QFactoryLoader() checking directory path "/home/byron/go/src/shitPoster5000/deploy/linux/platforminputcontexts" ...
loaded library "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/qml/QtQuick.2/libqtquick2plugin.so, metadata=
{
    "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
    "archreq": 0,
    "className": "QtQuick2Plugin",
    "debug": false,
    "uri": [
        "QtQuick.2"
    ],
    "version": 330752
}

loaded library "/home/byron/go/src/shitPoster5000/deploy/linux/qml/QtQuick.2/libqtquick2plugin.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/qml/QtQuick/Controls.2/libqtquickcontrols2plugin.so, metadata=
{
    "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
    "archreq": 0,
    "className": "QtQuickControls2Plugin",
    "debug": false,
    "uri": [
        "QtQuick.Controls.2"
    ],
    "version": 330752
}

loaded library "/home/byron/go/src/shitPoster5000/deploy/linux/qml/QtQuick/Controls.2/libqtquickcontrols2plugin.so"
Trying... "/home/byron/go/src/shitPoster5000/deploy/linux/qml/QtQuick/Controls.2/Material/qtquickcontrols2materialstyleplugin"
Trying... "/home/byron/go/src/shitPoster5000/deploy/linux/qml/QtQuick/Controls.2/Material/qtquickcontrols2materialstyleplugin.so"
Trying... "/home/byron/go/src/shitPoster5000/deploy/linux/qml/QtQuick/Controls.2/Material/libqtquickcontrols2materialstyleplugin"
Trying... "/home/byron/go/src/shitPoster5000/deploy/linux/qml/QtQuick/Controls.2/Material/libqtquickcontrols2materialstyleplugin.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/qml/QtQuick/Controls.2/Material/libqtquickcontrols2materialstyleplugin.so, metadata=
{
    "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
    "archreq": 0,
    "className": "QtQuickControls2MaterialStylePlugin",
    "debug": false,
    "uri": [
        "QtQuick.Controls.2.Material"
    ],
    "version": 330752
}

loaded library "/home/byron/go/src/shitPoster5000/deploy/linux/qml/QtQuick/Controls.2/Material/libqtquickcontrols2materialstyleplugin.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/qml/QtQuick/Dialogs/libdialogplugin.so, metadata=
{
    "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
    "archreq": 0,
    "className": "QtQuick2DialogsPlugin",
    "debug": false,
    "uri": [
        "QtQuick.Dialogs"
    ],
    "version": 330752
}

loaded library "/home/byron/go/src/shitPoster5000/deploy/linux/qml/QtQuick/Dialogs/libdialogplugin.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/qml/QtQuick/Window.2/libwindowplugin.so, metadata=
{
    "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
    "archreq": 0,
    "className": "QtQuick2WindowPlugin",
    "debug": false,
    "uri": [
        "QtQuick.Window.2"
    ],
    "version": 330752
}

loaded library "/home/byron/go/src/shitPoster5000/deploy/linux/qml/QtQuick/Window.2/libwindowplugin.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/qml/QtQuick/Templates.2/libqtquicktemplates2plugin.so, metadata=
{
    "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
    "archreq": 0,
    "className": "QtQuickTemplates2Plugin",
    "debug": false,
    "uri": [
        "QtQuick.Templates.2"
    ],
    "version": 330752
}

loaded library "/home/byron/go/src/shitPoster5000/deploy/linux/qml/QtQuick/Templates.2/libqtquicktemplates2plugin.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/qml/QtQuick/Layouts/libqquicklayoutsplugin.so, metadata=
{
    "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
    "archreq": 0,
    "className": "QtQuickLayoutsPlugin",
    "debug": false,
    "uri": [
        "QtQuick.Layouts"
    ],
    "version": 330752
}

loaded library "/home/byron/go/src/shitPoster5000/deploy/linux/qml/QtQuick/Layouts/libqquicklayoutsplugin.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so, metadata=
{
    "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
    "archreq": 0,
    "className": "QmlFolderListModelPlugin",
    "debug": false,
    "uri": [
        "Qt.labs.folderlistmodel"
    ],
    "version": 330752
}

loaded library "/home/byron/go/src/shitPoster5000/deploy/linux/qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so"
Found metadata in lib /home/byron/go/src/shitPoster5000/deploy/linux/qml/QtMultimedia/libdeclarative_multimedia.so, metadata=
{
    "IID": "org.qt-project.Qt.QQmlExtensionInterface/1.0",
    "archreq": 0,
    "className": "QMultimediaDeclarativeModule",
    "debug": false,
    "uri": [
        "QtMultimedia"
    ],
    "version": 330752
}

Cannot load library /home/byron/go/src/shitPoster5000/deploy/linux/qml/QtMultimedia/libdeclarative_multimedia.so: (libQt5MultimediaQuick.so.5: cannot open shared object file: No such file or directory)
QLibraryPrivate::loadPlugin failed on "/home/byron/go/src/shitPoster5000/deploy/linux/qml/QtMultimedia/libdeclarative_multimedia.so" : "Cannot load library /home/byron/go/src/shitPoster5000/deploy/linux/qml/QtMultimedia/libdeclarative_multimedia.so: (libQt5MultimediaQuick.so.5: cannot open shared object file: No such file or directory)"
QQmlApplicationEngine failed to load component
qrc:/qml/main.qml:25 Type Page1Form unavailable
qrc:/qml/Page1Form.qml:8 plugin cannot be loaded for module "QtMultimedia": Cannot load library /home/byron/go/src/shitPoster5000/deploy/linux/qml/QtMultimedia/libdeclarative_multimedia.so: (libQt5MultimediaQuick.so.5: cannot open shared object file: No such file or directory)

QFactoryLoader::QFactoryLoader() checking directory path "/home/byron/go/src/shitPoster5000/deploy/linux/plugins/accessiblebridge" ...
QFactoryLoader::QFactoryLoader() checking directory path "/home/byron/go/src/shitPoster5000/deploy/linux/accessiblebridge" ...
therecipe commented 5 years ago

do I have to download and run qtsetup with the latest commit or by just altering the bundle file should work?

running go install github.com/therecipe/qt/cmd/... once, before using qtdeploy should be enough

please check if the lib folder contains any libQt5Multimedia* file at all, if not then maybe remove qtdeploy and run the command from above again

bh90210 commented 5 years ago

Nope no new multimedia files in deploy lib except libQt5MultimediaGstTools.so.5 which was always there.

OK, so, running this now (go install github.com/therecipe/qt/cmd/...) will let you know

bh90210 commented 5 years ago

hmmm I get this error

$ go install github.com/therecipe/qt/cmd/...
go/src/github.com/therecipe/qt/cmd/env/linux_amd64.go:5:8: cannot find package "github.com/therecipe/env_linux_amd64_512" in any of:
    /usr/local/go/src/github.com/therecipe/env_linux_amd64_512 (from $GOROOT)
    /home/byron/go/src/github.com/therecipe/env_linux_amd64_512 (from $GOPATH)
therecipe commented 5 years ago

try running: go install -tags=no_env github.com/therecipe/qt/cmd/...

bh90210 commented 5 years ago

ok so I deleted $(go env GOPATH)/bin/qtdeploy

ran go install -tags=no_env github.com/therecipe/qt/cmd/... (successfully created new qtdeploy in $(go env GOPATH)/bin/)

then$(go env GOPATH)/bin/qtdeploy build desktop shitPoster5000

no new multimedia files in deploy lib and the same error (obviously).

what now? :/

bh90210 commented 5 years ago

nope my bad. I went through the steps more carefully and it works! I have another error in the qml now but it's mine I believe. fixing it and when/if I get the app running (or not) will let you know.

therecipe commented 5 years ago

okay perfect :)

bh90210 commented 5 years ago

Everything works fine from your part I am closing the issue since the latest commit https://github.com/therecipe/qt/commit/20875b03279ff713a411e8a47bc4296de6c5b0bf#diff-16e44658fb89a392fbb49ad74fdc4570 solves the problem.

Thank you very much for your time! awesome project, awesome support karma.