-
Notifications
You must be signed in to change notification settings - Fork 617
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
Prebuilt binaries #326
Comments
There are no prebuilt binaries even for common platforms. Instead you can find ready-to-use third-party Docker images in the issue #7. Otherwise, you would need to distribute all dependent shared libraries along with the binaries on Windows and macOS, and statically link OpenSSL, zlib, a standard С++ library, and libc (hence, glibc can't be used) on Linux. The latter approach is greately discouraged by most Linux distributions. |
Hi, thanks for the quick reply.
Is that so bad?
Sorry if I am missing something, but I see no reason why not?
(source)
For the linux version, we can list the prerequisties for the binary like any other linux package and link them dynamically. This would avoid having to compile the server from source which takes some time, and requires a fair bit of experience. |
Because glibc doesn't actually support static linking. You can only build dynamically against specific glibc version and the binary will work only on systems with compatible (usually, newer) glibc.
You will not be able to use distribution-provided dependencies, because they are different in different distributions.
I doubt that you need an experience to copy-paste build instructions from https://tdlib.github.io/telegram-bot-api/build.html. |
Interesting, I'll read up on this.
I think just ubuntu/debian would still be better than nothing.
Of course, but that is only if nothing goes wrong :) |
They are incompatible in different Ubuntu and Debian versions. You can't run software built for specififc Ubuntu version on any other Ubuntu version, even newer one, if it links dependencies dynamically.
Only Windows or non-covered Linux distributions are slightly hard to build, because you need to install some software manually. There should be no issues for all other operating systems. |
Are prebuilt binaries for the common platforms (Windows/Mac/Linux) available anywhere?
If not, would a PR adding GitHub action workflows for automatically building them on each commit be welcome?
The text was updated successfully, but these errors were encountered: