-
Notifications
You must be signed in to change notification settings - Fork 736
[client/gui] copy libdart_ffi to bundle/lib post build #4212
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
Conversation
The GUI binary, multipass.gui's RUNPATH is $ORIGIN/lib, which resolves to `$REPO_ROOT/build/bin/bundle/lib/`, whereas the libdart_ffi.so is in `$REPO_ROOT/build/lib` folder. Hence, the multipass.gui fails to launch on local builds if libdart_ffi.so is not somehow placed to the library search path manually (i.e. by copying, or by LD_LIBRARY_PATH). This patch adds a libdart_ffi.so symlink to the bundle/lib so the GUI can find the dart_ffi library on local build without relying on a manual intervention. Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
79668d6 to
eec3052
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4212 +/- ##
=======================================
Coverage 89.31% 89.31%
=======================================
Files 259 259
Lines 15684 15684
=======================================
Hits 14008 14008
Misses 1676 1676 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
symlinking gets complicated pretty fast when the folder structure changes. Signed-off-by: Mustafa Kemal Gilor <mustafa.gilor@canonical.com>
cbf6b1c to
0cc0d85
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Works as expected. I have no issues with a simple copy over a symlink
|
@ricab @sharder996 @Sploder12, could I interest any of you in doing a secondary review? :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks Mustafa!
Just a question out of curiosity: how would the symlink get more complicated than the copy? Either command needs updating on dir-structure changes, no?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested on MacOS. LGTM!
Trade you for a rubber stamp on #4181
Unfortunately for us, the |
Fair enough :) Re-approved 👍 |
The GUI binary, multipass.gui's RUNPATH is $ORIGIN/lib, which resolves to
$REPO_ROOT/build/bin/bundle/lib/, whereas the libdart_ffi.so is in$REPO_ROOT/build/libfolder. Hence, the multipass.gui fails to launch on local builds if libdart_ffi.so is not somehow placed in the library search path manually (i.e., by copying, or by LD_LIBRARY_PATH).This patch copies the libdart_ffi.so to the bundle/lib so the GUI can find the dart_ffi library on local build without relying on manual intervention.
MULTI-2067