-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
librsvg build failure after updating rust binary package #112275
Comments
How can someone reproduce this? I ran
and I don't get a SIGSEGV. You say
Are you building another crate that depends on librsvg? |
Hi @saethlin, I am just doing a system update with my distro's package manager, I can share their librsvg pkgbuild if you want. |
Yes, if you can point us to whatever is compiling librsvg that would be great. As it is, I have absolutely no idea. |
I can't reproduce this by following the recipe for librsvg with the official compiler. Rust 1.70 contains an LLVM upgrade, so I would not be surprised if this patch that modifies our targets has now broken something. Can you run this?
Then in gdb run these commands
The backtrace that's printed may help identify where the segfault is coming from. |
Ok, I have run gdb but I couldn't even get to backtrace because of this: Program received signal SIGSEGV, Segmentation fault. |
We found the problem in #112286 - it's related to stripping during installation, which worked fine previosuly but breaks since 1.70, probably due to how libLLVM is being built. |
Hi @hhoffstaette , actually I made a mistake, the affected package was the precompiled binary, I had pointed to the wrong recipe (just fixed the link). They simply install it directly from the official source. |
@Evhorizon Can you tell me what Based on the recipe you've linked, I feel like you're working with a not-stripped libLLVM. The size should be an easy way to confirm whether or not it is stripped. |
@saethlin the size output of the command is 144 M |
That sounds stripped to me. So this is definitely a duplicate of #112286 |
@saethlin does this mean that the official binary package is already stripped? |
No. If you download the tarball and extract it without installing it, you should see that the I don't know how your distro is stripping the libLLVM here, but everything indicates that it is. |
Ok, I tried to strip down the Venom's recipe for rust-bin to the bare minimum, like that: |
Unfortunately, I don't know anything about Venom Linux, how your package manager works, or what this I suspect you can demonstrate that the install package from Rust works if you do this:
That should print the version message. If it does, then there is something in Venom Linux that is stripping the components, and disabling that (for now) would make Rust 1.70 work. But I have no idea how to guide you through that process. Without help from someone managing Venom Linux, I don't think there is anything else I can do to help you. |
Yes, sorry, I should have given further details before about how the package manager works. Basically, it's something like Arch Linux PKGBUILD, the build () function encloses all the build instructions in bash, while PKG is the fake installation directory. What puzzles me is that here the package manager seems to just execute the install.sh script in the original package, without stripping or anything else. I will reopen the issue that I opened in their Github, and FWIW following your suggestion, Rust does print the version message. Also, after building Rust from source, librsvg builds fine. |
unsure if we could close this issue (either as "solved" or "not our issue"). The issue reporter is not available anymore I think, can anyone in this thread share if they can still reproduce this? thanks |
At this point I would be comfortable closing this as a duplicate of #112286 |
ah yes thanks @saethlin while scrolling the comment thread I missed your comment from months ago Closing as duplicate, then. |
error: process didn't exit successfully: "rustc -vV" (signal: 11, SIGSEGV: invalid memory reference)
Version it worked on
It most recently worked on: Rust 1.69
Version with regression
Rust 1.70.0The text was updated successfully, but these errors were encountered: