Make in linux mint
src/youtubewindow.cpp:30:23: fatal error: QJsonObject: No such file or directory compilation terminated. Makefile:290: recipe for target 'youtubewindow.o' failed make: *** [youtubewindow.o] Error 1
That error happens because you don't have QJson properly installed. So, you have to install:
sudo apt-get install libqjson0 libqjson-dev
Until today, I didn't try to build this project for a debian flavored disto, only in ArchLinux. I spent some time trying to build it but even I got stuck.
What I've done so far in Ubuntu:
-
Install building tools:
sudo apt-get install gcc g++ qt5-default qt5-qmake -
Install libraries:
sudo apt-get install libpythonqt-dev libqjson-dev libcurl4-gnutls-dev libqjson0 libqjson-dev libpython3-dev libpythonqt3.0If your Ubuntu version is prior to
yakkety(16.10), you cannot build the plugin againstlibpython3-devandlibpythonqt3.0, as reported here: https://bugs.launchpad.net/ubuntu/+source/pythonqt/+bug/1603273 So, you have to download the following packages and install them withdpkg -i <package.deb>- http://packages.ubuntu.com/yakkety/libpythonqt3.0
- http://packages.ubuntu.com/yakkety/libpythonqt-dev
-
And finally, install:
sudo apt-get install qmmp youtube-dl
After that, you have to change the youtube.pro file to link the library with python3.5m, i. e., where is -lpython3 should be changed to -lpython3.5m (Ubuntu specific thing). You also have to add -L/usr/lib/qmmp/ in the same line.
Even so, I got stuck with a linking problem. The library is produced correctly, but if I check the dependencies with ldd libyoutube.so, libqmmp.so and libqmmpui.so are missing.
If you can help me with this problem, it will be great!!
Ah, the most recent changes are in the branch transportsplugin. When I finish it, I will merge this branch with master
I already merged the branch transportsplugin with master. If you have made any progress, please let me know ;)
Hi,
i only tried today to buid the plugin, but i'm getting another error, can you help me with this?
/usr/bin/ld: cannot find -lqmmp /usr/bin/ld: cannot find -lqmmpui /usr/bin/ld: cannot find -lpython3 collect2: error: ld returned 1 exit status Makefile:174: recipe for target 'libyoutubeui.so.1.0.0' failed make[1]: *** [libyoutubeui.so.1.0.0] Error 1 make[1]: Leaving directory '/home/joao/Desktop/qmmp-1.1.4/qmmp-plugin-youtube/youtubeui' Makefile:68: recipe for target 'sub-youtubeui-make_first' failed make: *** [sub-youtubeui-make_first] Error 2 make: *** Waiting for unfinished jobs.... /usr/bin/ld: cannot find -lqmmp /usr/bin/ld: cannot find -lqmmpui /usr/bin/ld: cannot find -lpython3 collect2: error: ld returned 1 exit status Makefile:168: recipe for target 'libyoutube.so.1.0.0' failed make[1]: *** [libyoutube.so.1.0.0] Error 1 make[1]: Leaving directory '/home/joao/Desktop/qmmp-1.1.4/qmmp-plugin-youtube/youtube' Makefile:43: recipe for target 'sub-youtube-make_first' failed make: *** [sub-youtube-make_first] Error 2
Atenciosamente, João Sousa
De: Ricardo Gonçalves [email protected] Enviado: domingo, 23 de outubro de 2016 11:25 Para: rigon/qmmp-plugin-youtube Cc: nitssousa; Author Assunto: Re: [rigon/qmmp-plugin-youtube] Make in linux mint (#7)
I already merged the branch transportsplugin with master. If you have made any progress, please let me know ;)
You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/rigon/qmmp-plugin-youtube/issues/7#issuecomment-255580771, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ALo9QWikFu6q8iUvNSVbVS628cc81Nlaks5q2zYegaJpZM4KYBoj.
Olá João! Vou continuar em inglês para que toda a gente perceba.
I updated the dependencies and now you should be able to proceed. Try the following script:
# Create symbolic links
sudo ln -sv /usr/lib/qmmp/libqmmp* /usr/lib/x86_64-linux-gnu/
# Compile
qmake .
make -j4
# Install libraries into QMMP
sudo cp youtube/libyoutube.so /usr/lib/qmmp/qmmp/Transports/
sudo cp youtubeui/libyoutubeui.so /usr/lib/qmmp/qmmp/General/
sudo chmod 644 /usr/lib/qmmp/qmmp/Transports/libyoutube.so /usr/lib/qmmp/qmmp/General/libyoutubeui.so
I'm creating those symbolic links because it was the way I figured out to solve linkage problems...
But I'm still stuck... Now everything compiles and is links, but now I got a segmentation fault when QMMP attempts to load the Transport plugin (libyoutube.so).
I will dig a bit more to figure out why. If you have made any progress, please let me know ;)
Hi... I did manage to get this plugin compile in a Debian 8.0 box with qt5 versions of qjson, pythonqt and qmmp. The plugin loads into qmmp, but there is no output in the main-window (screenshot attached). Any solution for this strange problem.? Thanks.

Sorry for the long time to respond...
I installed Debian on my computer to test your problem but I got the correct results...

If you launch QMMP from console it will produce some debug messages. Can you provide the output when you try to search?
PS: the compilation on Debian is not as clean as should be, it requires some tweaks to make it work. I will try to improve this. If you can provide some insights about how to do it, I will be very grateful!
I think the version of Debian you have installed is 9.0 (i.e., current stable, code-name Stretch), and in that case, the youtube-plugin will work. My case was with Debian 8.0 (code-name Jessie). I think there is something to do with Qt5 - current Debian stable has Qt5 5.7.x, whereas it was 5.3.2 in case of Jessie - and there is something missing in Jessie version of Qt5? In fact, the build-requirement of Qt5 version of Qmmp is Qt5 > 5.4.x, and I managed it compile in Debian 8.0 with some minor adjustments (i.e., the projectM plugin won't compile).
I had tested your plugin in other distros, and it is working fine. Say for example, Linux Mint 18.x. No issues there (all of them have Qt5 > 5.4).
Would it be possible for you to release the Qt4-compatible version of your youtube-plugin - like the way Qmmp does...? We have Qt4 versions of PythonQt, QJson so the build-requirements would easily be met.
As for the insights, did you mean packaging for Debian?
Here is the console output:
QmmpPluginCache: loaded plugin libalsa.so OutputALSA: setupMixer() OutputALSA: setupMixer() success QmmpUiPluginCache: loaded plugin libyoutubeui.so QmmpUiPluginCache: loaded plugin libskinned.so MainWindow: detected wm: Xfwm4 Skin: using :/glare Skin: cannot find region.txt. Transparency disabled Visual: loaded plugin libanalyzer.so WindowSystem: setting sticky state of window 0x5200005 to false.
There is no further output in the Youtube-UI window (i.e., after I enter a search-word). It's all blank...
@rigon would you mind just setting up a PPA on Launchpad? It would build all the needed packages and you wouldn't need to troubleshoot building errors. :sunglasses: :+1:
Of course you would still set youtube-dl as a suggested package
That is a great idea! :D I will do that!