coslyk / moonplayer

Video player that can play online videos from youtube, bilibili etc.
https://coslyk.github.io/moonplayer.html
GNU General Public License v3.0
638 stars 93 forks source link

AppImage doesn't work #69

Closed baimafeima closed 4 years ago

baimafeima commented 5 years ago

I downloaded the latest AppImage file but it doesn't run after I made it executable. Can someone else test whether it's because of the AppImage or my system?

coslyk commented 5 years ago

Hello @baimafeima , could you post the output in terminal?

baimafeima commented 5 years ago

How could I launch an AppImage from the terminal to check its output?

coslyk commented 5 years ago

@baimafeima Run ./xxx.AppImage just like other executable files

baimafeima commented 5 years ago

Then I get the error report: bash: Run: command not found...

baimafeima commented 5 years ago

Thanks, then I get this error message: ./MoonPlayer-x86_64.AppImage: error while loading shared libraries: libjack.so.0: cannot open shared object file: No such file or directory

baimafeima commented 5 years ago

Is it related to my operating system or the AppImage is not working on other systems too?

coslyk commented 5 years ago

Can you try installing libjack on your system?

coslyk commented 5 years ago

I have repacked it and uploaded to the release page. Try downloading Moon_Player-1.9.2.glibc2.17-x86_64.AppImage ?

baimafeima commented 5 years ago

The latest Moon_Player-1.9.2.glibc2.17-x86_64.AppImage unfortunately doesn't work either. Memory is suddenly up to 2.45 GiB when I usually only need around 700. Libjack is not in the repository of my operating system, so I have no way of installing it.

coslyk commented 5 years ago

Can you tell me which Linux distribution you are using?

baimafeima commented 5 years ago

I'm using Solus. Some time ago, I've actually tried to have Moonplayer included into their repositories. You can find the issue here.

coslyk commented 5 years ago

As I googled, the package jack-audio-connection-kit on Solus contains libjack. Try installing it? If this doesn't work, try installing mpv, then all dependencies should be sufficient.

baimafeima commented 5 years ago

I installed both jack-audio-connection-kit and mpv but now I get - after typing ./Moon_Player-1.9.2.glibc2.17-x86_64.AppImage this error:

/tmp/.mount_Moon_PBaGRYf/usr/bin/moonplayer: error while loading shared libraries: libkeyutils.so.1: cannot open shared object file: No such file or directory

coslyk commented 5 years ago

Please install all the missing libraries according to the terminal output until all the dependencies are sufficient. You can use Google to find out the name of packages which contain the libraries.

baimafeima commented 5 years ago

I cannot find these libraries in my operating system. Installing them separately could potentially break my system. I thought they should all be bundled in the AppImage itself?

coslyk commented 5 years ago

The AppImage is bundled automatically by linuxdeploy-qt, it seems that this tool that it can't bundle all the dependencies correctly. In this case you'd better to compile it by yourself.

baimafeima commented 5 years ago

@probonopd Would you have an idea how this can be solved? Does the AppImage bundled through linuxdeploy-qt work on your machine? Many thanks in advance.

probonopd commented 5 years ago

@probonopd Would you have an idea how this can be solved?

The AppImage needs to bundle any library that cannot be expected to be there on each target system by default.

Does the AppImage bundled through linuxdeploy-qt work on your machine?

You can watch the test log at https://github.com/AppImage/appimage.github.io/pull/870

coslyk commented 5 years ago

After reading the source code I found that some libraries are automatically excluded by the AppImage building tools, because most of the Linux distributions include them and they need to be compatible with your platform, e.g. driver files. Bundling them into AppImage may cause the program not work.

There is a list of them: https://github.com/AppImage/AppImages/blob/master/excludelist

So if these libraries are not installed in your system, you should install them yourself.

As I googled the package keyutils contain the libkeyutils on your system.

probonopd commented 5 years ago

So if these libraries are not installed in your system, you should install them yourself.

These libraries are on the list because they are assumed to be part of every system. On which kind of system are they missing?

baimafeima commented 5 years ago

@probonopd I'm on Solus.

probonopd commented 5 years ago

Maybe you can suggest in their bug tracker to install the libraries listed on https://github.com/AppImage/AppImages/blob/master/excludelist by default in order to maximize out-of-the-box compatibility with many AppImages. Thanks.

coslyk commented 5 years ago

I just repacked the AppImage to include libkeyutils.

baimafeima commented 5 years ago

@probonopd My account on their development tracker was suspended as they don't like my political position on anti-censorship and freedom. It's a pity that they don't get politics right but after all they are a technically fascinating Linux distribution. So unfortunately, I cannot help with that but it would be great if you could do that as you are the main developer. @coslyk Thanks for your continued efforts to help getting Moonplayer to work on Solus. Where can I download the latest AppImage to test it?

coslyk commented 5 years ago

I don't understand what you mean by saying "political position". I believe that no one will refuse your feedback just because of this.Maybe because they think that this software may lead to copyright problems. As a tool MoonPlayer can't inspect whether the video is copyright, users should inspect it themselves. You can explain to them that MoonPlayer is something just like youtube-dl.The repacked AppImage is available on the Download page.

baimafeima commented 5 years ago

@coslyk Yes, exactly. This is what I explained and in addition to that it allows users to not be tracked by nasty cookies. At least I hope so. Unfortunately, my comment was deleted and shortly thereafter my account frozen. Maybe they had a bad day. See: https://dev.getsol.us/T5565

coslyk commented 5 years ago

@baimafeima Flatpak released: https://flathub.org/apps/details/com.github.coslyk.MoonPlayer

probonopd commented 5 years ago

@coslyk is there a working AppImage now?

coslyk commented 5 years ago

@probonopd You can try this: https://github.com/coslyk/AppImageCollection/releases/download/init/MoonPlayer-2.7-x86_64.AppImage

But the libva is not backward compatible, the hardware decoding may not work, so I don't recommend to use the AppImage version here (T_T)

probonopd commented 5 years ago

Thank you. It does launch now.

coslyk commented 5 years ago

@probonopd Thank you for your test!

The packaged libva1 from Ubuntu xenial doesn't work on my host system, which use libva2 by default. It seems that they use different APIs. Do you have any idea to solve it?

va

probonopd commented 5 years ago

Are you running Wayland? (Just guessing here, I have no real clue about VO)

coslyk commented 5 years ago

@probonopd I'm using XWindow.

probonopd commented 5 years ago

Sorry I do not know then.

coslyk commented 5 years ago

Maybe this is a solution: https://voltaicforge.com/linux/steam-vaapi-fix-linux/#

We can make it prefer to use the host system's libva, if the host system doesn't have it then use the packaged one.

probonopd commented 5 years ago

Sounds good, worth trying.