You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Which is, obviously, quite not right :)
Not sure if that makes a difference, but I also manually add that rpath via -Wl,-rpath at link time. No matter what though, this shouldn't happen.
new_rpath is a str, so this splits it into separate entries per character I think...
system parameters
macOS 14.5, Meson 1.4.1 onwards
This is quite breaking, and would be nice to get this fixed for 1.5.0 if possible.
As a side note, the linked PR is also causing another set of differences in my builds (a lot of RPATHs being left over after installing, compared to earlier on, and I'm sure they are supposed to be removed even after that PR) but I'll make a separate issue once I make sure it's definitely not correct.
The text was updated successfully, but these errors were encountered:
Fixes regression in commit 78e9009.
new_rpath is only set when install_rpath appears in meson.build.
Before this commit, we treated new_rpath as a single string to pass to
-add_rpath. This worked as long as new_rpath had a single rpath in it,
though for ELF we explicitly supported multiple rpaths separated with
":" (as binutils ld is quite happy with that too).
install_name_tool does not support paths with colons in it:
```
21:12 <awilfox> Load command 19 cmd LC_RPATH cmdsize 40 path /bar:/baz:/eli:/ldap (offset 12)
21:12 <awilfox> Load command 20 cmd LC_RPATH cmdsize 24 path /foo (offset 12)
21:14 <awilfox> so the result is: do not use colons
```
After commit 78e9009, we simply ended
up with one load command for LC_RPATH per char in new_rpath, which was
wrong in every possible case.
What we actually need to do is pass every distinct rpath as a separate
`-add_rpath` argument, so we split it on the colons instead. We do the
same splitting to ensure proper diff'ability for ELF anyways...
Fixes#13355
(cherry picked from commit 7b43a2e)
I'm building a library and setting an
install_rpath
on it, like so:install_rpath : '/usr/lib/swift'
.Expected behaviour
Before 1.4.1, this would result in the rpath getting correctly added on install, as follows (
otool -l library.dylib
):Current behaviour
However, with 1.4.1 onwards (testing on master), this happens:
Which is, obviously, quite not right :)
Not sure if that makes a difference, but I also manually add that rpath via
-Wl,-rpath
at link time. No matter what though, this shouldn't happen.The faulty code was added here: https://github.com/mesonbuild/meson/pull/13012/files#diff-d708bb4ba1cd44eef4be4fa7a95a66e78e29816178905b4a95b5276eaa046431R409
meson/mesonbuild/scripts/depfixer.py
Lines 407 to 409 in d2e7250
new_rpath
is astr
, so this splits it into separate entries per character I think...system parameters
macOS 14.5, Meson 1.4.1 onwards
This is quite breaking, and would be nice to get this fixed for 1.5.0 if possible.
As a side note, the linked PR is also causing another set of differences in my builds (a lot of RPATHs being left over after installing, compared to earlier on, and I'm sure they are supposed to be removed even after that PR) but I'll make a separate issue once I make sure it's definitely not correct.
The text was updated successfully, but these errors were encountered: