-
-
Notifications
You must be signed in to change notification settings - Fork 217
AppImage is missing a library #56
Comments
Maybe this would be a good candidate for https://github.com/niess/python-appimage#for-applications-developers @niess? |
The user install with a Python AppImage seems to work: wget https://github.com/niess/python-appimage/releases/download/python3.8/python3.8.2-cp38-cp38-manylinux1_x86_64.AppImage
chmod u+x python3.8.2-cp38-cp38-manylinux1_x86_64.AppImage
./python3.8.2-cp38-cp38-manylinux1_x86_64.AppImage -m pip install --upgrade guiscrcpy --user
guiscrcpy It starts the GUI and complains that adb and scrcpy are not found (I didn't install them indeed). Note however that this is not an isolated install. For example, the exe are installed in .local/bin whatever the Python version which can lead to troubles when using several versions of Python. Installing to the extracted image seems to work at first. E.g as: ./python3.8.2-cp38-cp38-manylinux1_x86_64.AppImage --appimage-extract
mv squashfs-root python3.8
./python3.8/AppRun -m pip install guiscrcpy However when running the ./python3.8/usr/bin/guiscrcpy
ERROR:root:adb could not be found in any of the paths ['bin', '/usr/bin', '~/.local/bin', '~/bin', '/usr/local/bin']
ERROR:root:scrcpy could not be found in any of the paths ['bin', '/usr/bin', '~/.local/bin', '~/bin', '/usr/local/bin']
Traceback (most recent call last):
File "./python3.8/usr/bin/guiscrcpy", line 6, in <module>
from guiscrcpy.launcher import bootstrap
File "guiscrcpy/launcher.py", line 78, in <module>
v = version()
File "guiscrcpy/lib/ver.py", line 35, in __init__
if self.get_repo():
File "guiscrcpy/lib/ver.py", line 68, in get_repo
if not repo.git.describe("--tags").startswith('0.'):
File "git/cmd.py", line 542, in <lambda>
return lambda *args, **kwargs: self._call_process(name, *args, **kwargs)
File "git/cmd.py", line 1005, in _call_process
return self.execute(call, **exec_kwargs)
File "git/cmd.py", line 822, in execute
raise GitCommandError(command, status, stderr_value, stdout_value)
git.exc.GitCommandError: Cmd('git') failed due to: exit code(128)
cmdline: git describe --tags
stderr: 'fatal: No names found, cannot describe anything.' Maybe system install is not supported? Also, it could make sense to package |
Thanks @niess for the quick response.
This is because guiscrcpy gets the latest tags from I am not very sure how AppImage works in reality, for me its just a concept (still learning).
The link to |
@srevinsaju Indeed after uninstalling GitPython as: ./python3.8/AppRun -m pip uninstall GitPython it works :) At least the GUI starts and prompts for Yet, there is this warning message: Surprisingly I don't get this issue with the The Python AppImages that I am producing can be considered as relocatable Python installs. There are standard except for this that there can be moved. So there are not strictly isolated. For example, they see the packages in the Concerning the legalities related to packaging |
@niess, Thanks for confirming this.
I have pushed a commit to
Interesting. Thanks. I have not yet tried a
I did not understand what |
@srevinsaju @probonopd I put a preliminary version of the guiscrcpy AppImage over there. Is this OK for you? It was simply generated by extracting an existing Python 3.8 AppImage and pip installing to it. Note that I did not update the meta data for now, e.g. the desktop file etc. |
Thanks @niess. I will check after 8hrs; its quite late in my part of the world 😇. I will let you know when I fix the rest of the GitPython bugs, permanently. |
@niess I have tested the AppImage. The GUI starts, but I am not able to see my devices connected on adb. And also, adb is found by guiscrcpy. Is it that, the adb AppImage will not be able to access the devices connected to usb ports / LAN.? |
@srevinsaju I did not understand. Is There is no isolation in this AppImage. It mounts to |
yea, ADB is found in the AppImage. but my devices cannot be detected by the adb. I am not sure why. If I extract the AppImage, I am able to detect the adb. @niess, are you able to mirror your mobile screen using guiscrcpy? |
@niess , I got a new error, I were trying to debug why the AppImage fails to do screen mirroring
|
@srevinsaju There was a bug in Yet this will not solve your issues related to |
@srevinsaju I finally managed to install Does it still fail for you? What Linux do you use? |
Thanks @niess. I had tested the first link to the AppImage and not the second link. My linux distribution is Arch Linux. I will check out the second AppImage once again tomorrow, (after 8hrs). I tested the first AppImage twice, and it did not work as expected, meaning, the GUI starts, but not the |
Fine. I didn't change anything except the shebang of Good Night! :) |
@niess , I have found the error. The AppImage works under a certain condition. This might be a bug in your AppImage making script, but I am not sure why exactly it happens.
I am still debugging on what actually is happening, maybe it is the adb which causes the problem. Thanks for the AppImage and your work for scrcpy. If you are interested, you might like to join https://discord.gg/cc6exT |
@srevinsaju Python packages installed with According to the CLI help you can prevent this by adding the "${APPDIR}/usr/bin/python3.8" "${APPDIR}/opt/python3.8/bin/guiscrcpy" "$@" to "${APPDIR}/usr/bin/python3.8" -s "${APPDIR}/opt/python3.8/bin/guiscrcpy" "$@" Then you can rebuild the image with On my side its working, but I have nothings installed under P.S: Sorry for the inconvenience and thank your for beta testing :P |
Thanks @niess . What next can I do for this? like testing or something.
Its absolutely fine. It was my error, which caused the problem |
@niess Thanks a lot. I have added the @probonopd @niess how to proceed, like updating metadata and related items? |
Great :) I think its better if you do it yourself, if that's OK with you? Concerning the metadata, the logo you'd like to use etc. And so you can publish it directly in the releases of your GitHub repo. The For the python-appimage build app path/to/your/app/meta/folder You could add those meta to your GitHub repo for example and add a dedicated workflow. You can find example of workflows for building & releasing the AppImages here, e.g. |
Ok, thanks a lot. I appreciate your work on |
@niess, thanks a lot for the The AppImage has been created. It works on my system. I will keep testing on other VMs too. Thanks a lot again. @probonopd should I update the PR on @appimagehub? |
@srevinsaju Great that you managed to set this AppImage :) I just tried the AppImage without Also I had a look at the deps of
Note that you need to have all shared libs available on your system when running This is a bit technical. You might also not package |
Sure, I am willing to do the hard work once, before the upcoming release of 3.7 (#76). Thanks for the information on Regarding |
@niess I have added the support for detecting adb as you have mentioned, but the config file problem is still unsolved. Should I write another config file in another folder called |
If you don't expect users to modify this config file then it sounds like an easy fix yes |
@niess Alternatively, I can prevent reading the path, to adb and scrcpy if I create another environment variable |
@niess, Seems like I had already implemented that too in the previous link. I don't remember what I do 🤦 . The previous #56 (comment) is the almost final version of 3.7 guiscrcpy |
I tested your AppImage. It works great for me :) I could run its several times without any issue. |
Thanks for testing 😃 |
@niess There is a problem now: |
@srevinsaju I don't understand what's going on neither. It seems to be blocked at some stage but I cant see any report? @probonopd ? |
@niess, you can see the report on the Travis CI (Checks), it fails at checking some ENV variable $FILES, but your python-3.8.AppImage succeeds the test due to some reason. |
I see this error:
I thought that you already patched it? Because the following tests were successful. If not, apparently you need to add a semicolon in your desktop file after the last item in Keywords, over here, i.e. |
Thanks a lot, it was my dumb mistake. I will update the AppImage and let you know if the CI passes then. |
@niess, It still fails, I edited the desktop file https://travis-ci.org/github/AppImage/appimage.github.io/builds/678669680#L612 |
OK, now the reason is that Anyway, @srevinsaju if you manage to grab an old enough version of this library (w.r.t. the AppImage validation Linux) you could simply drop it in your AppImage under |
Ideally the one from the Docker container would be copied to the AppImage. |
@niess @probonopd I have updated the CI to patch PyQt5 with the lib. Thanks @niess for the quick fix. @probonopd, I guess what @niess meant is that, the travis should probably have that file already on the testing system, without adding it to the AppImage. At most times, it might be present in the users system |
I can say for sure that e.g., Xubuntu does not have |
@probonopd OK, then it would make sense to include it in the PyQt5 wheel directly. It wrote an email to the PyQt5 mailing list about this. |
@niess unfortunately, the CI's still failing. I guess I messed up this AppImage thingy. Should I depend on other packing systems like snap or flatpak |
@srevinsaju I can understand your frustration. Note however that your AppImage works as so on many LInux. People that would pip install the wheel would have the same issues. Even more actually since you also packaged Do you still have the same error related to |
@srevinsaju I just found the CI. To me It looks like it doesn't even start because it doesn't even look for your AppImage? I don't know why. Actually, I never did a PR to appimage.io :P Maybe you could start again from scratch with a new PR? |
Ok @niess, Did a re PR, and now it doesn't find another lib (PyQt5). Thanks again. |
@srevinsaju I understand. That's quite a work at the end indeed :( Sorry that it didn't go more fluently. I am doing this as a side project. Actually my main motivation was distributing Python to my co-workers for which the I think that the PR is still failing because of |
Yes @niess, How could you understand that the error is still caused by Thanks a lot for your help |
@srevinsaju I understood that this is solved? PyQt5 wheel was not compatible with the user's system / ChromeOS? Concerning the travis log for |
@niess At last fixed the Travis on AppImage/appimage.github.io#1980 ; The libs had to be placed in usr/lib for some reason, and it worked. |
@srevinsaju Great :) Thank you for the information. Though I don't understand why but nevermind :P |
On Ubuntu 18.04:
python3: error while loading shared libraries: libpython3.8.so.1.0: cannot open shared object file: No such file or directory
. It needs to be bundled.Reference:
AppImage/appimage.github.io#1903
The text was updated successfully, but these errors were encountered: