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
meson does not properly compute RUNPATH on a merged-usr system #4392
Comments
A merged-/usr chroot can easily be created on a Debian sid system. The result is a chroot which looks like this
The ld.so.config
|
happy to provide more information if needed |
Can you copypaste the linker command Meson uses to generate a program with a broken rpath? |
I managed to finally debug why this happens. And it is symlinks, yet again. In If all symlinks pointing to library directories would be removed, the problem would go away. Obviously this is not something distros can do particularly fast so that's out. So then there's questions like:
|
running
in a unmerged-usr system
|
We get them via the compiler (we never invoke the linker directly) with this command |
On Fedora, which has had usrmerge for a while, the output is:
That is, gcc outputs both |
merged-usr chroot
unmerged-usr chroot
In short: the output is identical |
Can you test if the linked MR fixes things for you? |
@jpakkane looks good. Built systemd in a merged-usr environment and an unmerged-usr environment and then ran diffoscope on the results. No differences in the binaries were found. |
Would be awesome to have this fix in the 0.48 branch as well, in case you are planning another 0.48.x release. |
There won't be a release in 0.48 unless some major showstopper bug is reported in the wild. 0.49.0 will be released December 9th. |
Could we make a debian-only release then with just this commit backported? |
I'm happy to NMU or sponsor the upload |
I updated the packaging for 0.48.2 in Mentors: https://mentors.debian.net/package/meson For some reason Martin has not uploaded 0.48.2 yet. If you test that and find that it works (tests will fail because Rustc is still broken in Sid), feel free to upload it. |
will have a look. Thanks a lot, @jpakkane |
the rustc/llvm-7 issue is supposed to be fixed, let's see if that is true.... |
Seems to have built fine: Thanks again @jpakkane |
@jpakkane This change seems to break (at least) OpenSSL on my system, but possibly others that rely on Steps to reproduce:
meson (0.48.2-1) gives the following output:
|
I'm happy to sponsor an upload if @jpakkane want's to prepare an updated package with that patch included |
The release is the day after tomorrow and it will fix all of these. Probably not worth the effort to do a patch upload in the mean time. |
Agreed. Thanks for the heads-up. |
This was originally filed as systemd/systemd#10430
Building systemd git master on a merged-/usr Debian sid system, results in broken test binaries.
The RUNPATH is not properly set. After applying #4381, the test binaries are usable.
But in case of
/lib/x86_64-linux-gnu
, it shouldn't be added to RUNPATH at all, because this is a system library path.On a non-merged-/usr system, no such RUNPATH is added. It seems that the
lib -> usr/lib
symlink breaks the system library detection.The text was updated successfully, but these errors were encountered: