-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Trying to run mumble_server-1.4.230.x64.linux
static binary on headless Debian Bullseye - needs libmysqlclient.so.21
#5522
Comments
There is no pre-compiled Linux binary anymore because the supposedly static binary turned out to not be static. See also #5453 We decided to no longer provide the static binary on our website for that reason. We will only be able to do that again once someone finds a way to convince vcpkg to create a fully static build of Mumble. |
If you compile it yourself, you only have to make sure the correct Qt DB backend is installed on your system and then choose the DB type in the server's configuration file. No need to change the build. |
Ah ok, thanks... FWIW I found my way there after following the note in the wiki: "For nearly all Linux distributions, you can simply use the static binary." (and "static binary" links to http://dl.mumble.info/ - where I found it in
Ah ok, great thanks. 😄
AFAIK you're right. Although we're really just hoping that the MariaDB devs continue to make MariaDB fully backwards compatible with MySQL. But they are also making lots of improvements (that aren't in MySQL) so as time goes on, the drift gets greater. (and currenlty whilst you can replace MySQL with MariaDB, you can't go back the other way). IMO it might be worth rethinking "official" support for MariaDB if you want to support a hi-throughput scalable SQL DB on Linux into the future?! I say that as lots of Linux distros default to using MariaDB to provide "MySQL". Many have completely replaced MySQL with MariaDB (e.g. Debian, Arch, CentOS, Slackware, etc). From what I can gather, since Oracle bought Sun (and they changed to an "open core" licence model), all active open source MySQL devs have moved to MariaDB. The only devs actively working on MySQL appear to be paid Oracle employees, so are only doing maintenance to the open source release. Additional MySQL features seem to only be available via a (paid) proprietary licence. But obviously, it's your project, so while MariaDB is backwards compatible, it should continue to work...
Good to know, thanks! |
Ah okay - I would say about 90% of the information in the wiki is outdated by now 🙈
Yeah that sounds reasonable. We'll have to rewrite the DB implementation at some point anyway, because the current implementation is just horrible. At that stage we could also think about supporting new backends. At the moment we are strictly limited to whatever Qt supports (and in addition to that what we support in our code explicitly). |
Context
Apologies if here isn't the right place to be posting this...
Perhaps I'm trying to do something that isn't supported, but I have been trying to run the new 1.4.230 mumble-server on a headless Debian Bullseye server.
I've installed what I gather are the dependencies, but it seems that it's explicitly compiled against MySQL (not MariaDB) and unfortunately fails if I try to run it against MariaDB client shared lib. The relevant MySQL library is in Sid (not in any stable version of Debian), but installing that is far from ideal and I'd prefer to avoid it if possible.
Obviously I could compile it myself (and I'm assuming that I could then compile against MariaDB and/or SQLite instead?!). But in my perfect world, I much rather just pull your pre-compiled binary and it "just works"!
Description
IMO it'd be better to use MariaDB by default for your pre-compiled static binary. AFAIK all distros have MariaDB available these days, but I'm not sure which ones have actual MySQL anymore (although I know Ubuntu does and Debian definitely doesn't! Debian still uses the "MySQL" namespace, but everything MySQL actually points to MariaDB equivalents).
Anyway, here's the explicit commands that I tried. As you can see at the bottom, once I installed actual MySQL shared lib (from unstable/Sid) then it appeared to be working ok. But that's a dirty hack and IMO is not acceptable for a production server.
I then tested
libmariadb-dev-compat
(which does providelibmysqlclient.so
- it still doesn't havelibmysqlclient.so.21
so I just made a symlink):So I removed libmariadb-dev-compat (and the symlink) and manually downloaded the actual MySQL lib from unstalbe/Sid:
Now it will run (actually it won't because I haven't set up the ini file etc, but it demonstrates that it no longer errors and it exits
0
):(FWIW, obviously running in production I would use a systemd service file, a proper ini file and not be running it directly as root!)
Mumble component
Server
OS-specific?
Yes
Additional information
If the chance of precompiling your Linux static binary against MariaDB instead is unlikely, would it be possible to share how I could compile against MariaDB instead myself (on Debian)?
Ideally it'd be great if I could skip MSSQL support too (if SQLite is still and option for v14.x, then that might be nice to include, but no one on Debian is ever going to use MSSQL...).
The text was updated successfully, but these errors were encountered: