Open nitssousa opened 8 years ago
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.0
If your Ubuntu version is prior to yakkety
(16.10), you cannot build the plugin against libpython3-dev
and libpythonqt3.0
, as reported here: https://bugs.launchpad.net/ubuntu/+source/pythonqt/+bug/1603273
So, you have to download the following packages and install them with dpkg -i <package.deb>
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 notifications@github.com 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!
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