The latest dev branch is preventing multimc from finding libqxcb.so. The file does exist in plugins/platforms. Appears to be affecting older and fresh installs of multimc
Error when running MultiMC
https://hastebin.com/neyahuzewi.vbs
MultiMC-0.log
https://hastebin.com/neyahuzewi.vbs
Running the latest install of fedora 27
I am experiencing this with multimc not finding libqxcb.so. I am also on Fedora 27.
Yeah. I updated Qt to 5.6.3 and moved builds to an Ubuntu Trusty VM. This brought some weird new issues, as you can see.
I'm not sure how should the linux builds be packaged right now, but I'm leaning towards not including the dependencies at all.
All these would be gone:

And the launch script would be re-done to notify about missing direct dependencies.
The other idea would be to go chase some runtime linking issues in Qt plugins across different distributions...
Other than that, I don't know. Do you see other options?
The dependencies would then be zlib, recent enough glibc and libstdc++ and Qt 5.6(.3)?. This would need testing.
i like having the dependencies built into multimc as its the only QT based app i use
That's nice, but bundling it is becoming unworkable. It has way too many dependencies. On the other hand the interface between MultiMC and its immediate dependencies is fairly minimal. As long as your distro has Qt 5.6, it should work without any issues.
I'll go through it with LD_DEBUG and see what I find.
OK. It's actually the bundled version of zlib conflicting with libpng ... at least on Arch. Delete the libz so file, see if it helps.
And I guess I'm bundling the wrong libpng ... hmm.
So this is what ive found so far.
running ldd with the LD_LIBRARY_PATH points to bin/
libQt5XcbQpa.so.5:
./libQt5XcbQpa.so.5: /home/dje4321/Downloads/mmc-stable-lin64/MultiMC/bin/libz.so.1: version `ZLIB_1.2.9' not found (required by /lib64/libpng16.so.16)
Also if you use LD_PRELOAD to load plugins/platforms/libqxcb.so and run MultiMC it will spit out this error
./MultiMC: /home/dje4321/Downloads/mmc-stable-lin64/MultiMC/bin/libz.so.1: version `ZLIB_1.2.9' not found (required by /lib64/libpng16.so.16)
and deleting the libz file does nothing
if i preload the plugins/platform/libqxcb.so.1 file then it complains about a missing symbol
./MultiMC: symbol lookup error: ../plugins/platforms/libqxcb.so: undefined symbol: _ZNK21QPlatformBackingStore9toTextureERK7QRegionP5QSizePb
Well, that is a Qt symbol, so the plugin probably doesn't see the bin folder. All the other binaries and libraries do, because they have RPATH set internally.
It should work if you remove the bundled zlib. At least it does here.
I'll have to test with a bunch of different distros.
seems to be working now for some reaon after removing zlib
Yeah. I am bundling libpng12, but the new build setup requires libpng16. Including zlib collides with the system libpng16, because I'm not bundling it. And yes, this is black magic.
It would be better to make the bundled deps optional. Sort of like Steam is packaged -- you can run with or without the Steam runtime.
OK. Took a closer look at it and these are the take-away points:
Consider this table:
https://en.wikipedia.org/wiki/Qt_version_history#Qt_5
Any distro with a Qt version that is lower than the oldest currently officially supported version (by The Qt Company or whoever maintains Qt at the time) will NOT be supported, because that is the version I will build for.
MultiMC will use Qt 5.6 until March 2019, at which point I will switch it to 5.9.
5.9 means dropping Windows older than 7, macOS older than 10.10 and any distro that doesn't include Qt 5.9 or newer:
http://doc.qt.io/qt-5.9/supported-platforms.html
Alright, tested it on Arch, and it seems to work now.
Works on fedora 27 also
@peterix Just a heads up that Ubuntu 16.04 LTS packages Qt 5.5. I don't know how popular it is among your users or how much you care about keeping MultiMC working on that distro but I use it for stability and 5.5 was the current release when it was frozen less than 2 years ago.
Most helpful comment
Works on fedora 27 also