-
-
Notifications
You must be signed in to change notification settings - Fork 860
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
Fedora 23 - undefined symbol: xcb_send_fd #1379
Comments
Having same issue |
I think it might be related to out of date libraries. Would it be possible to have multimc to get the libraries from the system and not its own folder? |
Yes. Delete the ones MultiMC comes with. Or at least some of them. Any and all of the xcb stuff. It's possible it is broken beyond repair, but removing the libs would be a way to test it. I've downloaded the fedora 23 workstation ISO, but haven't gotten to testing it yet. |
remove everything libxcb, this is what i got. [eroman@kuroneko87-Inspiron-N5050 MultiMC]$ ./MultiMC Reinstalling the application may fix this problem. |
have you removed the plugin? |
from platforms folder, yes |
Then put it back. |
Alright, that went better but now asks for another dependency, i'm trying to look for it. Seemd it has been deprecated last release of the package was for fedora 20. Here's the output. [eroman@kuroneko87-Inspiron-N5050 MultiMC]$ ./MultiMC Error: No Matches found Hint: sudo yum install Last I have normal libxcb installed [root@kuroneko87-Inspiron-N5050 ~]# dnf install libxcb |
Looking at this, you may just have to build it yourself. |
https://rpmfind.net/linux/rpm2html/search.php?query=libxcb-sync.so.0 |
never worked on C++ should be fun :p |
Good news :) Removing libxcb from launcher does the trick! $ rm ~/Downloads/MultiMC/bin/libxcb.so.1 Launcher launched, and window appeared! |
oh that's great |
+1 confirm. Just removing libxcb.so.1 from bin solves the problem |
Fedora 23 can actually run MultiMC as is. It has Qt 5.5.1. So if the distro can run it, we shouldn't need to supply all those libs. Let's do it this way. |
http://www.megafileupload.com/a0ii/MultiMC-fedora-23.tar.gz This works. It can be packaged just fine. Needs a spec file with the deps set, the .desktop file, maybe a custom runner script and an icon. |
OK. I am going to postpone this after 0.4.8. The workarounds have been described well enough here. |
It's still an issue but the fix here works for F24 as well. |
Hello again! I took some time to look at packaging and I finally think I am ready to make my attempt at packaging MultiMC. So, the repository would be available on copr for a start, maybe later included in official repository if legal issues permits so. But I am not sure of couple of issues. Since MultiMC have its own update mechanism, this would need to be disabled in packaging version. Noticed the Apache licence and naming issues, but not sure what redistributable exactly means. Am I allowed to package this source under the name of MultiMC? |
@srakitnican sorry for the delay. You can look at how it's packaged in Arch AUR for example: Basically, it doesn't include any Qt libraries or plugins and instead depends on the system version of Qt5. You could actually take the binaries below, strip the extra included Qt5 files and repackage that. It's built against Qt 5.4.x, so any newer version should work. The only other notable hard dependency is There are some optional dependencies:
And some things highly suggested to be present (the game needs them):
As for using the name, I'd say it's OK as long as you do not break the Mojang authentication code (essentially crack the game). If you decide to use the binaries, there is no problem. |
Also, this particular issue should be fixed in the develop builds now. See: |
I am not very familiar with development process so I am not sure what is possible or reasons why something is made like it is. Stuff that follows are my personal observations. By Fedora packaging guidelines there are a couple of issues I have encountered while packaging the sources. So these should be addressed before submitting package for a review request, but there are no reasons I am aware of to just keep it in copr. Following are some notes.
Other then that I've managed to put something together that works. Packages and sources can be found here: Thank you for the tips. |
Yeah. It was not made with distro packaging in mind. I actually told people that they shouldn't do it before. However, it's very hard to release binaries for 'desktop linux' that work everywhere. Even if it works, a minor change in the dependencies can break things. So, the issues: I will be looking into replacing or fixing it at some point. Other libraries... Yes. I could rename the resulting binary files so they don't clash with any system versions you might have. So for example, it would look like 'libMultiMC-rainbow.so' instead of 'librainbow.so'. As for CentOS -- CMake 3 was released 2 years ago. Either RHEL 7 missed that by a few months, or CMake 3 wasn't as mature as would be required -- 2 years ago. |
@peterix CMake 3.5 is available for RHEL/CentOS 7 via Fedora EPEL as the |
Or you can grab it from the website, yes. That's not the point. It can't be built using the base system. |
…ries It was unlikely, now it's impossible.
Alright, I made some changes to the libraries that are built as shared. They now all have a |
Perfect, just installed f25. Nice timing. Will building from source now fix it? Or was building from source always working? |
The main issue here should be gone in both develop and stable now. At least until something else breaks. |
Tested with Fedora 25 Workstation and it seems to be working. |
Unable to run generic 64-bit version.
$ ~/Downloads/MultiMC/MultiMC
MultiMC Dir: /home/user/Downloads/MultiMC
No missing dependencies found.
/home/user/Downloads/MultiMC/bin/MultiMC: symbol lookup error: /lib64/libxcb-dri3.so.0: undefined symbol: xcb_send_fd
As I found here: https://bugs.freedesktop.org/show_bug.cgi?id=73237 libxcb-dri3 should not define xcb_send_fd?
$ nm -D /lib64/libxcb-dri3.so.0 | grep xcb_send_fd
U xcb_send_fd
$ nm -D /lib64/libxcb.so.1 | grep xcb_send_fd
000000000000b0b0 T xcb_send_fd
The text was updated successfully, but these errors were encountered: