Opened 2 months ago
Closed 2 months ago
#70394 closed defect (fixed)
meson @1.5.0: ports using meson fail to destroot when meson asks install_name_tool to remove the same rpath twice
Reported by: | christophecvr (christophecvr) | Owned by: | christophecvr (christophecvr) |
---|---|---|---|
Priority: | High | Milestone: | |
Component: | ports | Version: | 2.9.99 |
Keywords: | Cc: | christophecvr (christophecvr), reneeotten (Renee Otten), SoapZA | |
Port: | meson py-meson |
Description
After the update of meson to 1.5.0. A lot of gnome packages can not be build anymore. They al do fail during destroot phase with error :
here an example of just one package but it is for a lot of meson build packages.
Error: Failed to destroot gstreamer1-gst-plugins-base: command execution failed
Full command which Leads to error :
Installing gst-libs/gst/tag/tag-enumtypes.h to /opt/local/var/macports/build/_opt_mports_macports-ports_gnome_gstreamer1-gst-plugins-base/gstreamer1-gst-plugins-base/work/destroot/opt/local/include/gstreamer-1.0/gst/tag Installing gst-libs/gst/tag/libgsttag-1.0.0.dylib to /opt/local/var/macports/build/_opt_mports_macports-ports_gnome_gstreamer1-gst-plugins-base/gstreamer1-gst-plugins-base/work/destroot/opt/local/lib Command '['install_name_tool', '/opt/local/var/macports/build/_opt_mports_macports-ports_gnome_gstreamer1-gst-plugins-base/gstreamer1-gst-plugins-base/work/destroot/opt/local/lib/libgsttag-1.0.0.dylib', '-delete_rpath', '/opt/local/lib', '-delete_rpath', '/opt/local/lib', '-id', '/opt/local/lib/libgsttag-1.0.0.dylib', '-change', '@rpath/libgsttag-1.0.0.dylib', '/opt/local/lib/libgsttag-1.0.0.dylib']' returned non-zero exit status 1. Command failed: cd "/opt/local/var/macports/build/_opt_mports_macports-ports_gnome_gstreamer1-gst-plugins-base/gstreamer1-gst-plugins-base/work/build" && /opt/local/bin/meson install Exit code: 1 Error: Failed to destroot gstreamer1-gst-plugins-base: command execution failed
Error only occured since git commit :
commit eb4bde3ea7facc6f056d79f2dda5575a7e513f23
after this commit ports :
meson to 1.5.0 py312-meson to 1.5.0
are updated.
This error will have the longer the more serious consequences. Each time a concerned gnome package is updated build will fail.
The only solution to make it build again is:
Uninstall and clean all the concerned packages.
Uninstall py-meson meson.
clean all meson !! with port clean --all *meson
patch the ports python/py-meson and devel/meson back to 1.4.1
(and since you can't sync as it will ovetrwrite you're patches)
rebuild meson with command :
sudo port -s meson py-meson
Then all gnome packages do build again (if you build from source)
test are performed on clean macports installation master rewinded to :
commit eb4bde3ea7facc6f056d79f2dda5575a7e513f23
With that commit install failure
Wit on that commit downgrade the meson like explained above
All build fine again.
Include one main log (of failed build during destroot)
One main log on same commit but meson downgrade back to 1.4.1
Attachments (2)
Change History (8)
Changed 2 months ago by christophecvr (christophecvr)
Attachment: | main-notok-meson-150.txt added |
---|
Changed 2 months ago by christophecvr (christophecvr)
Attachment: | main-ok-meson-downgrade-to-141.txt added |
---|
same commit but meson downgraded back to 1.4.1
comment:1 Changed 2 months ago by jmroot (Joshua Root)
Cc: | christophecvr reneeotten SoapZA added; @… @… removed |
---|---|
Keywords: | meson gnome py-meson removed |
Port: | meson py-meson added; devel/meson python/py-meson py312-meson removed |
comment:2 Changed 2 months ago by ryandesign (Ryan Carsten Schmidt)
It's the same problem also discussed starting at comment:ticket:69760:3.
meson
is asking install_name_tool
to delete the same rpath twice, which install_name_tool
does not allow.
Here is the meson bug report and proposed fix: https://github.com/mesonbuild/meson/pull/13426
comment:3 follow-ups: 4 5 Changed 2 months ago by ryandesign (Ryan Carsten Schmidt)
Summary: | meson 1.5.0 upgrade does break build from many gnome packages during destroot phase. → meson @1.5.0: ports using meson fail to destroot when meson asks install_name_tool to remove the same rpath twice |
---|
comment:4 Changed 2 months ago by christophecvr (christophecvr)
Replying to ryandesign:
Hi I just saw the commit strangely it failed on two checks of meson commit checks (ubuntu bionix and Lint) they both have nothing to do with :
def get_darwin_rpaths(...)
curious it failed on those checks
comment:5 Changed 2 months ago by christophecvr (christophecvr)
Replying to ryandesign:
I now build meson 1.5.0 with the patch proposed to mesonbuild upstream by holymonson.
https://github.com/mesonbuild/meson/pull/13426
By me it works fine and packages using meson build do now back destroot and install fine.
Because this issue makes further improving and or development hazardous when messon is used
Will brake the longer the more packages using mesonbuild on update
I send a pull request to macports with this patch included to my-meson and meson ports.
Pull request :
https://github.com/macports/macports-ports/pull/25037
comment:6 Changed 2 months ago by christophecvr (christophecvr)
Owner: | set to christophecvr |
---|---|
Resolution: | → fixed |
Status: | new → closed |
the failed build with meson 1.5.0