Skip to content
This repository has been archived by the owner on Aug 1, 2022. It is now read-only.

fix: bundle missing library libhogweed #351

Merged
merged 5 commits into from May 10, 2020
Merged

Conversation

rudolfs
Copy link
Member

@rudolfs rudolfs commented May 6, 2020

Trying out the "official" solution: electron-userland/electron-builder#2732.

Closes #112

@rudolfs rudolfs added bug Something isn't working infrastructure labels May 6, 2020
@rudolfs rudolfs added this to the Release II milestone May 6, 2020
@rudolfs rudolfs requested a review from geigerzaehler May 6, 2020 12:47
Copy link
Contributor

@geigerzaehler geigerzaehler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I’m not sure what adding the shared library to extraFiles does. Does it install the library to /usr/lib? This might mess up the users system.

An alternative would be to link the nettle package statically with the vendored feature. This links nettle statically. However this might also increase build times.

It might also be prudent to include the other libraries like `libnettle.so.7

@rudolfs
Copy link
Member Author

rudolfs commented May 6, 2020

I’m not sure what adding the shared library to extraFiles does. Does it install the library to /usr/lib? This might mess up the users system.

@geigerzaehler: as we're using electron bundler for distribution, I assume it would bundle the files with the package somehow. Not sure what it uses under the hood. I don't expect it to actually write stuff into your filesystem, and assume that the usr/lib path is within the package that it spits out.

I thought the comment on the builder thread was worth giving a shot before spending more time to figure this out.

@cloudhead also suggested looking into AppImage documentation. There's an option to bundle libs:

--library/-l
Bundle a shared library (.so file) into the AppDir. Set up everything so that other libraries, executables etc. use this one instead of a system one.

But would have to investigate how exactly bundler works under the hood for this to be of any help.

@rudolfs
Copy link
Member Author

rudolfs commented May 6, 2020

@geigerzaehler could you give this build a try on your machine (assuming that you remove the nettle libs from your system temporarily): https://buildkite.com/monadic/radicle-upstream/builds/2103#76b36227-4c83-4adb-ba59-6e8783da7cac?

@rudolfs rudolfs marked this pull request as ready for review May 6, 2020 13:49
@rudolfs rudolfs self-assigned this May 6, 2020
@xla xla changed the title Bundle missing library fix: bundle missing library libhogweed May 7, 2020
@geigerzaehler
Copy link
Contributor

The app image is still not working.

libhogweed.so.4: cannot open shared object file: No such file or directory

I have libhogweed.so.5. installed. I guess you need to add .so.4 to the extra files.

@rudolfs
Copy link
Member Author

rudolfs commented May 7, 2020

Ok, I changed it to .so.4 and pushed another commit, buildkite didn't pick it up, so I force pushed to kick it. But it failed to pick that build up as well : |

@rudolfs
Copy link
Member Author

rudolfs commented May 7, 2020

Buildkite is down.

Screenshot 2020-05-07 at 12 17 51

@rudolfs
Copy link
Member Author

rudolfs commented May 7, 2020

So now we got libhogweed.so.4 in the AppImage, somebody should test the latest package.

» ls squashfs-root/usr/lib
libappindicator.so.1  libgconf-2.so.4  libhogweed.so.4	libindicator.so.7  libnotify.so.4  libXss.so.1	libXtst.so.6

@rudolfs rudolfs requested a review from cloudhead May 10, 2020 09:16
@rudolfs rudolfs merged commit e7e04f9 into master May 10, 2020
@rudolfs rudolfs deleted the rudolfs/fix-linux-dist branch May 10, 2020 09:20
@geigerzaehler
Copy link
Contributor

@rudolfs this fixed it for me!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

AppImage: libhogweed.so.4 missing on Arch Linux
3 participants