Multimc5: Linux binary releases contain too many libraries, causing incompatibility

Created on 15 Jan 2017  路  13Comments  路  Source: MultiMC/MultiMC5

System Information

MultiMC version: 5

Operating System: Kali Linux 2.0

Summary of the issue or suggestion: Can't log in with my MC Account, when I press "Enter" it says : Unable to init SSL Context: (99)

What should happen: I would login

Steps to reproduce the issue (Add more if needed):

  1. Launch MultiMC

  2. Try to set an account

  3. 3.

Suspected cause: My OS ? A package missing ?

Logs/Screenshots:

Additional Info: I do not use Kali Linux with bad intentions.

bug Linux

Most helpful comment

Alternatively, you could remove the non-MultiMC libraries from MultiMC.

stuff to keep

If you keep only these in bin and install Qt5 from the system, it could work.

Also remove the plugins folder.

All 13 comments

Kali linux seems to be using OpenSSL built with versioned symbols. I have no idea why they do it, but it makes the library that would otherwise be fine unusable.

You will have to build MultiMC from source:
https://github.com/MultiMC/MultiMC5/blob/develop/BUILD.md

Alternatively, you could remove the non-MultiMC libraries from MultiMC.

stuff to keep

If you keep only these in bin and install Qt5 from the system, it could work.

Also remove the plugins folder.

In my test with the newest Kali linux VirtualBox image from their website and with the newest version of MultiMC everything works fine.
But according to the website this image "may have pre-generated SSH host keys" whatever that means.

After updating the system i can reproduce.

Can you make it work by removing all the bundled dependencies and using system libraries instead?

No, because the libraries are not in the kali debian repository.
Most of them have only newer versions available.

Building from source does work, in case @DokiTeeX wants me to i can upload a working Kali Linux build.
But he has to be aware that updating to a newer version will break MMC if he uses that build.

It should work with newer versions. I can run MultiMC this way. It is built with Qt 5.4 and my system has Qt 5.7.

Actually, I want to start releasing MultiMC for linux like this. The only direct dependencies are libc, libstdc++, zlib and Qt >= 5.4.
If you take Qt, zlib, libstdc++ and glibc from the system, it should work. Qt guarantees binary compatibility, libstdc++ and glibc have properly done versioned symbols and zlib never ever changes.

Oh, found a better fix than building a custom build:
Remove the libraries with qt5 and the libstdc++.so.6 file and it works.

Edit:
Actually you can remove everything except the libxcb* files.

Edit 2:
You can even delete the libxcb* files if you modify the start script to stop it from checking the dependencies.

Edit 3:
Looked into what is failing the library check and why and it is libxcb-sync because of a version change in the major number.

I reviewed several of the above linked posts when I was asked to help with MultiMC on Debian 9.

I believe that this is a Debian openssl issue. Please see Debian release notes:

https://www.debian.org/releases/stable/amd64/release-notes/ch-information.en.html#openssl-issues

Does MultiMC use OpenSSL 1.0.2? libssl1.0-dev provides headers against OpenSSL 1.0.2.

System Information

MultiMC version: 0.6.5-1217

Operating System: Debian 9

Instance: fabric-1.14.2-build.7_yarn-0.4.8-build.155

Steps to reproduce the issue

Launch MultiMC on Debian 9, the launcher window appears but was not yet fully loaded, for instance no languages, no version number showing, 4 red status buttons on bottom right of launcher screen, no active error console.

I could not log in to a profile with console error message implying no secure connection.

The terminal log had masses of "Unable to init SSL Context:" and several "Authentication operation failed due to a network error: Unable to init SSL Context: (99)"

Then apt-get install libssl1.0-dev and the launcher works and minecraft starts.

I recognise that I am proposing a "fix" that has been dismissed in the past. It would be interesting to know if those who have successfully compiled MultiMC for Debian 9 have libssl1.0-dev on their system.

The next stable release will not include Qt... and this problem will go away. But you will have to install Qt 5.4 or newer.

And yes, the -dev package has the required .so file symlink.

Really, it's a bug in Qt's ssl integration, because it looks for the non-versioned .so file, where it should be looking for the one with the ABI version in it.

@peterix thank you for your reply and for not rebuking me for suggesting an insecure hack.

I now see why the removal of the non-MultiMC libraries and plugins from MultiMC is a proper fix.

I have done that and confirm the method worked on Debiam 9 today.

Further I see that the difference between mmc-stable-lin64.tar.gz and mmc-develop-lin64.tar.gz, today, (both available from the https://multimc.org/ page) is simply that the troublesome library files have already been stripped out.

Thank you.

Resolving as fixed.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ProcessTerminalF picture ProcessTerminalF  路  6Comments

ChloeDawn picture ChloeDawn  路  4Comments

UpcraftLP picture UpcraftLP  路  6Comments

jinkhya picture jinkhya  路  3Comments

Mcpg picture Mcpg  路  4Comments