Nitrokey / nitrokey-app2

Graphical application to manage and use Nitrokey 3 devices
https://www.nitrokey.com/products/nitrokeys
Apache License 2.0
81 stars 13 forks source link

please make this app a statically compiled one so it includes all dependencies #197

Closed commandline-be closed 1 month ago

commandline-be commented 9 months ago

please make this app a statically compiled one so it includes all dependencies

./nitrokey-app-v2.1.5-x64-linux-binary PySide6/init.py: Unable to import Shiboken from /tmp/_MEI1vycxs/base_library.zip, /tmp/_MEI1vycxs/lib-dynload, /tmp/_MEI1vycxs Traceback (most recent call last): File "nitrokeyapp/main.py", line 6, in File "PyInstaller/loader/pyimod02_importers.py", line 419, in exec_module File "PySide6/init.py", line 124, in File "PySide6/init.py", line 64, in _setupQtDirectories File "PyInstaller/loader/pyimod02_importers.py", line 419, in exec_module File "shiboken6/init.py", line 27, in ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.36' not found (required by /tmp/_MEI1vycxs/libstdc++.so.6) [350664] Failed to execute script 'main' due to unhandled exception!

daringer commented 9 months ago

flatpak support is already there - we aim to provide it through flathub with v2.2 ... the single binary won't be continued, obviously not such a good idea for Linux systems

daringer commented 8 months ago

the flathub store now contains nitrokey-app2, this is now the preferred way of installing the nitrokey-app2 on Linux systems...

f403 commented 2 months ago

I'd like to reopen this. Flatpack is way too big (2.1G disk space with all dependencies)

daringer commented 2 months ago

even though the initial issue has not mentioned binary size - we might for sure discuss this here ... currently the entire flatpak image is ~300mb ... still too much, but already reduced from idk ~600mb ... we could try to further clean up the qt6 libs at the end of the build - other than that - including dependencies into this calculation is kind of extreme - did you include the linux kernel in your estimation ? xD

no seriously: if you have a suggestion how we could distribute a smaller static binary, please share - as of now flatpak is for sure the most convenient solution, although obviously not size-optimal

commandline-be commented 2 months ago

even though the initial issue has not mentioned binary size - we might for sure discuss this here ... currently the entire flatpak image is ~300mb ... still too much, but already reduced from idk ~600mb ... we could try to further clean up the qt6 libs at the end of the build - other than that - including dependencies into this calculation is kind of extreme - did you include the linux kernel in your estimation ? xD

no seriously: if you have a suggestion how we could distribute a smaller static binary, please share - as of now flatpak is for sure the most convenient solution, although obviously not size-optimal

  1. stop using Python ?
  2. rewrite it in something more high level and less power hungry ? (Rust/Go) ?

With programs written in C/C++ static compilation typically just includes the headers and makes it distro neutral, the only customisation would for config files or such as udev rules etc.

https://slint.dev/ ?

f403 commented 2 months ago

rewrite it in [...] (Rust/Go) ?

I didn't want to make that big deal out of this, sorry :)

My issue is now solved with compilation from source code. It is still big (700M after installation and 600M of caches), but I prefer this way.

And even better for me, nitropy can do the same (an more) as the UI app

daringer commented 1 month ago

closing - and we'll be working in reducing the size - we won't open the "re-write in rust" discussion (for now :D)