Closed ahjolinna closed 5 years ago
@mrgreywater it was after this got merged https://github.com/alamminsalo/orion/pull/252
PS. I'm not sure how it works with qml, but at least for "basic" Qt5 apps I do recommend using Clazy to test the code quality
That code is valid c++14. Both the osx and windows build are compiling, see appveyor and travis ci.
Seems like the orion.pro build file only configures for c++11, so changing CONFIG += c++11
to CONFIG += c++14
in the orion.pro build file might be enough to make it compile for you. Anyway I'll look into the build configuration on linux.
If that doesn't help, whatever compiler you're using doesn't seem to deduce the auto type correctly. I'll look into adding a linux build in travis and add a appimage artifact.
Thanks for letting me know.
@mrgreywater : I use openSUSE OBS to build my pkgs, and it support many linux distros ..not just SUSE, for example SailfishOS / mer use it and oc many other
also I use default GCC(++), I haven't tried clang/llvm (which I do like more)
anyway, I do recommend to use Clazy for checking your Qt5 apps
Thanks for showing me Clazy, but this is not a code issue, this is a build configuration issue. As I said, I'll look into it soon.
I got that, but I just wanted to mention Clazy as a tip at least
@mrgreywater I added that 'patch' and I get this build error now with openSUSE leap 15* , but the tumbleweed (rolling) version did build just fine
*leap 15 uses Qt5.9 (LTS), compare to tumbleweed that oc has the latest Qt5
PS. obs also has appimage support, which is great if you don't want to do local building or if you don't have/use linux you can at least check that it builds
also now when I try to open orion , it crashes:
(edit/update): I forgot that I had a major nvidia driver (410.66) update which caused the crash (this happens sometimes)
@mrgreywater : I tried adding openssl (or/and libopenssl1_0_0) and the leap 15 (with Qt5.9) still fails to build, same error
Sorry, I didn't see that hidden second error log there: https://paste.kde.org/pzzkxcdfs/1d4rq9/raw
-I/usr/lib64/qt5/mkspecs/linux-g++ -o channellistmodel.o src/model/channellistmodel.cpp
[ 49s] In file included from src/main.cpp:43:0:
[ 49s] src/player/mpvobject.h:10:10: fatal error: mpv/render_gl.h: No such file or directory
[ 49s] #include <mpv/render_gl.h>
[ 49s] ^~~~~~~~~~~~~~~~~
[ 49s] compilation terminated.
[ 49s] make: *** [Makefile:791: main.o] Error 1
This just means your libmpv-dev package is out of date. mpv added a new render api and deprecated their old one (opengl-cb) in mpv 0.28.0, so you need to either find an up-to-date libmpv-dev package, or compile your own (see ci/build_mpv.sh )
@mrgreywater : well unfortunately mpv 0.28.x requires ffmpeg4.x and leap 15 has the older 3.4.4 and so does many other LTS distros, so do you think it would be possible to add "backwards compatibility" for those users?
because I don't think adding ffmpeg4 would work (or at least an ideal solution) as it could break the distro or at least many other apps, yes I could pkgs so that you can have both version....but still.
Similarly to what I do in travis, you could potentially use these scripts https://github.com/mpv-player/mpv-build to compile and build ffmpeg and libmpv to a static library, so they are all included in the final orion binary. Alternatively compile ffmpeg static, and mpv shared (so the libmpv.so contains the ffmpeg binary), and distribute your own up-to-date libmpv package for openSUSE. Adding back support for the old deprecated API is not the right solution imo.
personally I do hate that both ffmpeg and mpv keep breaking their APIs so much/easily (just plain laziness and lack of discipline). I think it's sad that LTS distros can loose support of some apps because of this.
Having two version of ffmpeg/mpv isn't an ideal or good solution, just because it works it doesn't mean it you should do it...just a lazy way out of a problem.
for now orion is part of the official suse repos I wonder if openSUSE team will remove the leap 15 version because of this(same with or other LTS distros)...or either they may keep the old version as long as it works and then remove it
Well it's the genesis of mpv to remove old parts and only keep what's new and actually needed. And to their defense, they haven't actually removed the old api, just deprecated it.
Personally I also think the real problem here is that those distributions don't keep their packages updated, and keep distributing old versions, even if there doesn't seem to be any reason to do so.
Anyway, I'll bring back the old code with a mpv version check to choose between the APIs.
well at least with openSUSE leap (15 forward) does share it's core pkgs with SUSE enterprise, so this is one of the reason why those pkgs won't get any major updates ...for the other LTS distros it also just comes down to having a well tested system.
personally I like the "semi-rolling" update model the most, it's what for example chakraOS is using.....I think Jolla's SailfishOS kinda uses that model ...and with mer as their "rolling" base
@XenonPK any input? assuming this is you https://build.opensuse.org/user/show/xenonpk (because of this https://build.opensuse.org/package/revisions/games:tools/orion)
added opengl-cb backward compatibility to #258
@mrgreywater : thanks, it builds now...so I will close this
I tried to make a build for openSUSE (tumbleweed) using OBS, and it fails
https://build.opensuse.org/package/show/home:ahjolinna/orion
the whole build log file : link