Quick Links: Download Gideros Studio | Gideros Documentation | Gideros community chat | DONATE
Unknown module(s) in QT: websockets — Gideros Forum

Unknown module(s) in QT: websockets

As I tried to compile Gideros, I got the subject error message:
qmake ui.pro
Project ERROR: Unknown module(s) in QT: websockets
I've downloaded just now Gideros sources and installed ex novo Qt, version

qt-opensource-linux-x64-5.13.1

Following the "how to build Gideros on Linux" guide,
I was able to compile FontCreature, TexturePacker and Qscintilla,

then starting qmake ui.pro I got the above error

Any suggestion ?
Best regards

Maurizio.

Comments

  • hgy29hgy29 Maintainer
    Maybe you didn't install Qt5 WebSocket extension along with QT itself ? There may be a checkbox to tick (or to not untick) during QT install
  • I just reinstalled qt5 using the online installer, and with the options reported in the attached picture (there is no WebSocket checkbox in those), and I have the same problem ...
    Istantanea_2019-10-13_15-37-35.png
    872 x 664 - 99K
  • MoKaLuxMoKaLux Member
    edited October 2019
    I don't know how to solve your problem. You may have seen those pages:
    https://doc.qt.io/qt-5/qtwebsockets-index.html
    https://archlinuxarm.org/packages/arm/qt5-websockets

    Maybe you need to install it outside of QT installer?
    also this link may help?
    https://forum.qt.io/topic/46131/project-error-unknown-module-s-in-qt-websockets
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • Thanks, the command "sudo apt-get install libqt5websockets5-dev" solved THIS problem,
    however now the make command returns the following error:

    /usr/bin/ld: impossibile trovare -lqscintilla2_qt5
    collect2: error: ld returned 1 exit status
    Makefile:482: recipe for target 'GiderosStudio' failed

    The translation is: Impossible to find -lqscintilla2_qt5

    Please note that before compiling UI I managed to download, compile and install the package QScintilla-gpl-2.8.4

    Any suggestion ?

    Maurizio


  • hgy29hgy29 Maintainer
    Yes, it may be because we use more recent versions of qscintilla nowadays, the most recent version is fine with gideros. They changed the name of the resulting lib recently, so gideros code actually expects a more recent version, and the online doc wasn’t updated accordingly. I’ll do it ASAP.
  • hgy29hgy29 Maintainer
    Hey, I was about to update the doc to find out is was already updated: https://wiki.giderosmobile.com/index.php/Compiling_Gideros_Source#1.8_Install_QScintilla
  • Well, I've downloaded, compiled and installed just now qscintilla_gpl-2.11.2, so I managed to compile gideros/UI and to start GiderosStudio.

    Then I managed to compile the packages

    libgvfs
    libpystring

    However these is not a package called liblua
    so, what should I do ?

  • hgy29hgy29 Maintainer
    Maurizio said:

    Well, I've downloaded, compiled and installed just now qscintilla_gpl-2.11.2, so I managed to compile gideros/UI and to start GiderosStudio.

    Then I managed to compile the packages

    libgvfs
    libpystring

    However these is not a package called liblua
    so, what should I do ?

    A simple 'make all' should compile evrything is environment is set up correctly, and 'make qtapp.install' should get you started if you just need QT tools (studio,player,etc).
    Are you really following the compilation guide (https://wiki.giderosmobile.com/index.php/Compiling_Gideros_Source) ?
  • Well, before this answer I tried to compile it following a text file called "how to build Gideros on Linux" (I don't remember where I found it).
    Now, trying to follow the on line document, I'm stuck on point 1.12.2, where there are no directions
    on how to install it under Linux.

    E.g. what have I to specify at the voice QTBASEDIR ?
    Perhaps ~/QT or ~/QT/5.10.1 ?

    And what about the other voices ?
    Best regards

    Maurizio.


  • not on linux here.
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • hgy29hgy29 Maintainer
    Maurizio said:


    E.g. what have I to specify at the voice QTBASEDIR ?
    Perhaps ~/QT or ~/QT/5.10.1 ?

    It is hard to say without knowing where you installed your QT. The trouble with linux is that each distribution behaves differently, so difficult to give a guide that will work for everyone. I did it not long ago though, let me find my Makefile.def and post it here.

  • hgy29hgy29 Maintainer
    Ok, so I had a look and you just need a few lines:

    QTBASEDIR=~/QT
    QT_ARCH=gcc_64
    QT_TOOLSARCH=gcc_64
    QTVER=5.10.1


    The lines above are enough to build Gideros tools on Linux
  • hgy29hgy29 Maintainer
    BTW I had another try at building it on Linux and found out that some things weren't compiling correctly due to recent changes. I pushed an update to git to fix these things, so you'll have to 'git pull' to get them.

    Likes: MoKaLux

    +1 -1 (+1 / -0 )Share on Facebook
  • Well, now the compilation fails as follows:
    ...
    compiling external/libxmp-4.3/src/loaders/sample.c
    compiling external/libxmp-4.3/lite/src/format.c
    compiling external/libxmp-4.3/lite/src/loaders/mod_load.c
    generating ./moc_predefs.h
    moc include/qt/gui-qt.h
    compiling moc_gui-qt.cpp
    moc include/qt/ghttp-qt.h
    compiling moc_ghttp-qt.cpp
    rm -f libgid.so.1.0.0 libgid.so libgid.so.1 libgid.so.1.0
    linking libgid.so.1.0.0
    /usr/bin/ld: impossibile trovare -lQt5OpenGL
    collect2: error: ld returned 1 exit status
    Makefile:339: recipe for target 'libgid.so.1.0.0' failed
    make[1]: *** [libgid.so.1.0.0] Error 1
    make[1]: uscita dalla directory "/home/maurizio/gideros/libgid"
    /home/maurizio/gideros/scripts//GidQtLinux.mk:129: recipe for target 'libgid.qmake5.rel' failed
    Best regards.
    Maurizio
  • hgy29hgy29 Maintainer
    Maybe there is a libqt5opengl5-dev package for your Linux ?
  • hgy29hgy29 Maintainer
    BTW if you succeed in building Gideros on Linux, I'd be glad if you could report here what should be changed in the doc
  • Ok, I've installed the missing lib, now I have another problem:

    rm -f libmicrophone.so.1.0.0 libmicrophone.so libmicrophone.so.1 libmicrophone.so.1.0
    g++ -Wl,-O1 -shared -Wl,-soname,libmicrophone.so.1 -o libmicrophone.so.1.0.0 gmicrophone-openal.o gsoundencoder-wav.o gmicrophonebinder.o -L../../../Sdk/lib/desktop -llua -lgid -lgideros -lgvfs -lpthread
    ln -s libmicrophone.so.1.0.0 libmicrophone.so
    ln -s libmicrophone.so.1.0.0 libmicrophone.so.1
    ln -s libmicrophone.so.1.0.0 libmicrophone.so.1.0
    make[1]: uscita dalla directory "/home/maurizio/gideros/plugins/microphone/source"
    cd ./plugins/gmedia/source; if [ -d "linux" ]; then cd linux; make ; \
    else if [ -d "Desktop" ]; then cd Desktop; fi; qmake *.pro; make ; fi
    Project ERROR: Unknown module(s) in QT: multimedia multimediawidgets
    make[1]: ingresso nella directory "/home/maurizio/gideros/plugins/gmedia/source"
    make[1]: *** Nessun obiettivo specificato e nessun makefile trovato. Arresto.
    make[1]: uscita dalla directory "/home/maurizio/gideros/plugins/gmedia/source"
    /home/maurizio/gideros/scripts//GidQtLinux.mk:31: recipe for target 'gmedia.qtplugin' failed
    make: *** [gmedia.qtplugin] Error 2

    It seems to me I have installed QT with all the available options except the sources.
    Any suggestion ?
    Best regards.
    Maurizio.
  • Project ERROR: Unknown module(s) in QT: multimedia multimediawidgets

    https://stackoverflow.com/questions/30817619/unknown-modules-in-qt-multimedia?rq=1

    Linux seems to be way too complicated!!!
    my growING GIDEROS github repositories: https://github.com/mokalux?tab=repositories
  • After having installed qtmultimedia5-dev I get the following errors:

    mkdir -p ./Build.Linux/Templates/Qt/LinuxDesktopTemplate
    cp -R ./desktop/LinuxDesktopTemplate ./Build.Linux/Templates/Qt/LinuxDesktopTemplate
    cp -P ./Sdk/lib/desktop/*.so* ./Build.Linux/Templates/Qt/LinuxDesktopTemplate/
    cp -P libpystring/*.so* ./Build.Linux/Templates/Qt/LinuxDesktopTemplate
    for f in icudata icui18n icuuc Qt5Core Qt5Gui Qt5Network Qt5OpenGL Qt5PrintSupport Qt5Widgets Qt5Xml Qt5XcbQpa Qt5DBus Qt5Multimedia Qt5MultimediaWidgets Qt5WebSockets; do cp -P ~/QT/5.10.1/gcc_64/lib/lib$f.so* ./Build.Linux/Templates/Qt/LinuxDesktopTemplate; done
    cp: impossibile eseguire stat di '/home/maurizio/QT/5.10.1/gcc_64/lib/libicudata.so*': File o directory non esistente
    cp: impossibile eseguire stat di '/home/maurizio/QT/5.10.1/gcc_64/lib/libicui18n.so*': File o directory non esistente
    cp: impossibile eseguire stat di '/home/maurizio/QT/5.10.1/gcc_64/lib/libicuuc.so*': File o directory non esistente
    cp: impossibile eseguire stat di '/home/maurizio/QT/5.10.1/gcc_64/lib/libQt5Core.so*': File o directory non esistente
    cp: impossibile eseguire stat di '/home/maurizio/QT/5.10.1/gcc_64/lib/libQt5Gui.so*': File o directory non esistente
    cp: impossibile eseguire stat di '/home/maurizio/QT/5.10.1/gcc_64/lib/libQt5Network.so*': File o directory non esistente
    cp: impossibile eseguire stat di '/home/maurizio/QT/5.10.1/gcc_64/lib/libQt5OpenGL.so*': File o directory non esistente
    cp: impossibile eseguire stat di '/home/maurizio/QT/5.10.1/gcc_64/lib/libQt5PrintSupport.so*': File o directory non esistente
    cp: impossibile eseguire stat di '/home/maurizio/QT/5.10.1/gcc_64/lib/libQt5Widgets.so*': File o directory non esistente
    cp: impossibile eseguire stat di '/home/maurizio/QT/5.10.1/gcc_64/lib/libQt5Xml.so*': File o directory non esistente
    cp: impossibile eseguire stat di '/home/maurizio/QT/5.10.1/gcc_64/lib/libQt5XcbQpa.so*': File o directory non esistente
    cp: impossibile eseguire stat di '/home/maurizio/QT/5.10.1/gcc_64/lib/libQt5DBus.so*': File o directory non esistente
    cp: impossibile eseguire stat di '/home/maurizio/QT/5.10.1/gcc_64/lib/libQt5Multimedia.so*': File o directory non esistente
    cp: impossibile eseguire stat di '/home/maurizio/QT/5.10.1/gcc_64/lib/libQt5MultimediaWidgets.so*': File o directory non esistente
    cp: impossibile eseguire stat di '/home/maurizio/QT/5.10.1/gcc_64/lib/libQt5WebSockets.so*': File o directory non esistente
    /home/maurizio/gideros/scripts//GidQtLinux.mk:109: recipe for target 'qt.player' failed
    make: *** [qt.player] Error 1

    however I've seen that the files are actually existing
    e.g. libicudata.so (and libicudata.so.56) is a simbolic link to libicudata.so.56.1, and the same is to the other libs
    so, what's happening ?

    (this is an excerpt of the directory listing of /home/maurizio/QT/5.10.1/gcc_64/lib/)

    lrwxrwxrwx 1 maurizio maurizio 18 ott 14 11:30 libicudata.so -> libicudata.so.56.1
    lrwxrwxrwx 1 maurizio maurizio 18 ott 14 11:30 libicudata.so.56 -> libicudata.so.56.1
    -rwxr-xr-x 1 maurizio maurizio 25048256 set 26 2016 libicudata.so.56.1
    lrwxrwxrwx 1 maurizio maurizio 18 ott 14 11:30 libicui18n.so -> libicui18n.so.56.1
    lrwxrwxrwx 1 maurizio maurizio 18 ott 14 11:30 libicui18n.so.56 -> libicui18n.so.56.1
    -rwxr-xr-x 1 maurizio maurizio 3368288 set 26 2016 libicui18n.so.56.1
    lrwxrwxrwx 1 maurizio maurizio 16 ott 14 11:30 libicuio.so -> libicuio.so.56.1
    lrwxrwxrwx 1 maurizio maurizio 16 ott 14 11:30 libicuio.so.56 -> libicuio.so.56.1
    -rwxr-xr-x 1 maurizio maurizio 71032 set 26 2016 libicuio.so.56.1
    lrwxrwxrwx 1 maurizio maurizio 16 ott 14 11:30 libicule.so -> libicule.so.56.1
    lrwxrwxrwx 1 maurizio maurizio 16 ott 14 11:30 libicule.so.56 -> libicule.so.56.1
    -rwxr-xr-x 1 maurizio maurizio 437936 set 26 2016 libicule.so.56.1
    lrwxrwxrwx 1 maurizio maurizio 16 ott 14 11:30 libiculx.so -> libiculx.so.56.1
    lrwxrwxrwx 1 maurizio maurizio 16 ott 14 11:30 libiculx.so.56 -> libiculx.so.56.1
    -rwxr-xr-x 1 maurizio maurizio 66336 set 26 2016 libiculx.so.56.1
    lrwxrwxrwx 1 maurizio maurizio 18 ott 14 11:30 libicutest.so -> libicutest.so.56.1
    lrwxrwxrwx 1 maurizio maurizio 18 ott 14 11:30 libicutest.so.56 -> libicutest.so.56.1
    -rwxr-xr-x 1 maurizio maurizio 106840 set 26 2016 libicutest.so.56.1

  • hgy29hgy29 Maintainer
    Maurizio said:


    cp: impossibile eseguire stat di '/home/maurizio/QT/5.10.1/gcc_64/lib/libicudata.so*': File o directory non esistente

    (this is an excerpt of the directory listing of /home/maurizio/QT/5.10.1/gcc_64/lib/)

    lrwxrwxrwx 1 maurizio maurizio 18 ott 14 11:30 libicudata.so -> libicudata.so.56.1
    lrwxrwxrwx 1 maurizio maurizio 18 ott 14 11:30 libicudata.so.56 -> libicudata.so.56.1
    -rwxr-xr-x 1 maurizio maurizio 25048256 set 26 2016 libicudata.so.56.1

    Really strange! I don't get why cp says the file doesn't exists since it obviously does!

  • hgy29hgy29 Maintainer
    Ahh, wait, there is a '-P' option on the cp command line, I think that should be removed.
    Can you remove them in scripts/GidQTLinux.mk and try again ? I am not sur why they were added, although I did it!
  • The trouble is also due to the fact that I have installed Qt in a directory "Qt" and not "QT"

    (look at the case)
    Having renamed that in QT, now the copy get done, but the script halts in another place
    (another -P option ?)
    where is it ?

    gcc -c -o emscripten/lzma/LzFind.co -D_7ZIP_ST emscripten/lzma/LzFind.c
    gcc -c -o emscripten/lzma/LzmaEnc.co -D_7ZIP_ST emscripten/lzma/LzmaEnc.c
    gcc -c -o emscripten/lzma/Lzma2Enc.co -D_7ZIP_ST emscripten/lzma/Lzma2Enc.c
    g++ -c -o emscripten/lzma/lzma.co -D_7ZIP_ST -Iemscripten/crunchme-0.4/src/liblzg/include emscripten/lzma/lzma.cpp
    g++ -o ./ui/Tools/lzma emscripten/lzma/LzFind.co emscripten/lzma/LzmaEnc.co emscripten/lzma/Lzma2Enc.co emscripten/lzma/lzma.co
    #STUDIO
    cp -R ./ui/GiderosStudio ./Build.Linux
    cp -P ~/QT/5.10.1/gcc_64/lib/libqscintilla2_qt5.so* ./Build.Linux
    cp: impossibile eseguire stat di '/home/maurizio/QT/5.10.1/gcc_64/lib/libqscintilla2_qt5.so*': File o directory non esistente
    /home/maurizio/gideros/scripts//

  • hgy29hgy29 Maintainer
    Yes, possibily another -P option, but if renaming the folder did the trick it should work for other files too. Can you check that qscintilla lib is present and match the name ? Otherwise about QT dir case, it was enough to change it in Makefile.def to match your setup.
  • In this case the file is missing. I compiled qscintilla using the following directions:
    To build Gideros player you will need to install Qscintilla also:

    http://sourceforge.net/projects/pyqt/files/QScintilla2/QScintilla-2.8.4/QScintilla-gpl-2.8.4.zip

    unpack this then

    cd /Qt4Qt5
    qmake qscintilla.pro
    make
    make install
    (Instead of the suggested package I have downloaded the last version, QScintilla_gpl-2.11.2)

    So probably the package is not in the correct place.
    What can I do ?
Sign In or Register to comment.