Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Please provide an AppImage #17

Open
lukas-remis opened this issue Jan 21, 2023 · 16 comments
Open

Please provide an AppImage #17

lukas-remis opened this issue Jan 21, 2023 · 16 comments
Labels
build Related to building project

Comments

@lukas-remis
Copy link

An AppImage of xstudio would be much appreciated.
Thank you!

@tedwaine
Copy link
Contributor

Hi Lukas, we will look into. We have some doubts about the licensing of Qt and ffmpeg which could mean that we are unable to distribute binaries.

@heavyrain266
Copy link

AppImages are problematic because of static linking which is not allowed by ffmpeg due to patent rights etc. On the other hand, Qt for Open Source projects is dual licensed under GPL and LGPL and there are several AppImages available.

Problem with ffmpeg could be potentially resolved if xstudio switched to gstreamer.

@lukas-remis
Copy link
Author

Well Kdenlive is available as Appimages and it's using ffmpeg. I think the LGPL license allows to use it with open and proprietary software ?

@heavyrain266
Copy link

Isn't Kdenlive made by Qt authors? That means a lot in this case. Also problem with ffmpeg comes from patents which prevents you from static linking.

@lukas-remis
Copy link
Author

How about a deb package ?

@heavyrain266
Copy link

As long as you link system deps (dylib) as rpm or deb then that could work but still, safest way it to provide the source code as tarball with instructions for sysadmins and thats it.

@lukas-remis
Copy link
Author

Sure, as long as you have a sysadmin, or enough time to take care of compiling it by yourself ;)

@alatdneg alatdneg added the build Related to building project label Jan 24, 2023
@domo5581
Copy link

domo5581 commented Apr 9, 2023

I could (maybe) create an appimage - would this satisfy the bounty?

@lukas-remis
Copy link
Author

If it works, definitely yes!

@domo5581
Copy link

Will get to it, expect it in 2-3 weeks

@eren-ince
Copy link

eren-ince commented Apr 22, 2023

After making it an AppImage, how can i provide the app to you?

@lukas-remis
Copy link
Author

I think you should do it through bountysource.

@cheseo
Copy link

cheseo commented May 12, 2023

Hello,

I think your build system is not set up as such to make an appimage easy. It does not follow the recommended way to build qt with cmake (https://doc.qt.io/qt-6/cmake-get-started.html). This means QT can't find modules such as xcb and won't link against it (which means linuxdeploy won't find it either).

I tried to run it in headless mode (-e) and got warnings/errors like: http://sprunge.us/iuyx2l

@domo5581
Copy link

The application itself isn't really made to "become" and appimage. I tried the way at appimagecrafters recommends to create appimages, but bundling binaries and finding modules are a mess

@krab
Copy link

krab commented Jul 20, 2023

The thing is, this application runtime logic / CMake scripts are not ready for being relocatable. App runtime itself relies on hardcoded paths. While AppImage mounts squashfs into /tmp/.mount-appimaXXXXXX
CMake has 2 logics, one for being able to run xstudio from build directory and another one after installation.
It also requires python/libpython installed inside AppImage in a way that it's portable (no hardcoded paths) with all xstudio python package py dependencies. (e.g. fully relocatable portable virtual env).

Also can't find xstudio.core.__pybind_xstudio out of the box.

krab@debvm:~/_dev/xstudio-appimage/xstudio-v.0.11.1/build$ PYTHONPATH=/home/krab/_dev/xstudio-appimage/xstudio-v.0.11.1/build/bin/python/local/lib/python3.11/dist-packages/:/home/krab/_dev/xstudio-appimage/xstudio-v.0.11.1/build/bin/python/lib/python3.11/site-packages/ ./bin/xstudio.bin 
[2023-07-21 02:08:11.555] [xstudio] [info] XStudio logging started.
[2023-07-21 02:08:11.767] [xstudio] [info] API enabled on 127.0.0.1:45500, session name default0
[2023-07-21 02:08:11.775] [xstudio] [warning] void xstudio::embedded_python::EmbeddedPython::setup() Failed to setup API : ModuleNotFoundError: No module named 'xstudio.core.__pybind_xstudio'

At:
  /home/krab/_dev/xstudio-appimage/xstudio-v.0.11.1/build/bin/python/local/lib/python3.11/dist-packages/xstudio/core/__init__.py(7): <module>
  <frozen importlib._bootstrap>(241): _call_with_frames_removed
  <frozen importlib._bootstrap_external>(940): exec_module
  <frozen importlib._bootstrap>(705): _load_unlocked
  <frozen importlib._bootstrap>(1152): _find_and_load_unlocked
  <frozen importlib._bootstrap>(1178): _find_and_load
  /home/krab/_dev/xstudio-appimage/xstudio-v.0.11.1/build/bin/python/local/lib/python3.11/dist-packages/xstudio/connection/__init__.py(7): <module>
  <frozen importlib._bootstrap>(241): _call_with_frames_removed
  <frozen importlib._bootstrap_external>(940): exec_module
  <frozen importlib._bootstrap>(705): _load_unlocked
  <frozen importlib._bootstrap>(1152): _find_and_load_unlocked
  <frozen importlib._bootstrap>(1178): _find_and_load
  <string>(4): <module>
 
[2023-07-21 02:08:11.776] [xstudio] [warning] void xstudio::embedded_python::EmbeddedPython::setup() Failed to setup API : ModuleNotFoundError: No module named 'xstudio.core.__pybind_xstudio'

At:
  /home/krab/_dev/xstudio-appimage/xstudio-v.0.11.1/build/bin/python/local/lib/python3.11/dist-packages/xstudio/core/__init__.py(7): <module>
  <frozen importlib._bootstrap>(241): _call_with_frames_removed
  <frozen importlib._bootstrap_external>(940): exec_module
  <frozen importlib._bootstrap>(705): _load_unlocked
  <frozen importlib._bootstrap>(1152): _find_and_load_unlocked
  <frozen importlib._bootstrap>(1178): _find_and_load
  /home/krab/_dev/xstudio-appimage/xstudio-v.0.11.1/build/bin/python/local/lib/python3.11/dist-packages/xstudio/connection/__init__.py(7): <module>
  <frozen importlib._bootstrap>(241): _call_with_frames_removed
  <frozen importlib._bootstrap_external>(940): exec_module
  <frozen importlib._bootstrap>(705): _load_unlocked
  <frozen importlib._bootstrap>(1152): _find_and_load_unlocked
  <frozen importlib._bootstrap>(1178): _find_and_load
  <string>(4): <module>
 
[2023-07-21 02:08:11.776] [xstudio] [warning] bool xstudio::embedded_python::EmbeddedPython::connect(int) Failed to init API : NameError: name 'Connection' is not defined

At:
  <string>(3): <module>
 
[2023-07-21 02:08:11.777] [xstudio] [warning] Connected failed false
[OpenColorIO Info]: Color management disabled. (Specify the $OCIO environment variable to enable.)
[2023-07-21 02:08:13.439] [xstudio] [info] XStudio UI launched.

@jankobler
Copy link

Instead of an AppImage I have create a flatpak application. Please see #54

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Related to building project
Projects
None yet
Development

No branches or pull requests

9 participants