Build statically-linked sqlcipher for Unix#334
Conversation
turt2live
left a comment
There was a problem hiding this comment.
I'm not super familiar with a lot of this code, but at a glance it appears it won't work on Windows - can we get some assurances that it appears to build fine for the supported environments?
dbkr
left a comment
There was a problem hiding this comment.
Looks fine, but this isn't behind an option or anything so this will make our debian build ship with a statically linked sqlite. If we want to do this, we should remove it as a dependency from the debian package.
We'd also need to communicate to all other re-packagers to not depend on sqlcipher |
|
I've now removed |
turt2live
left a comment
There was a problem hiding this comment.
I defer to Dave on this one
dbkr
left a comment
There was a problem hiding this comment.
Seems fine from my PoV then. We should check with whoever has the job of releasing currently.
|
Landing this, it won't be in a release for nearly 3 weeks, have notified known packagers |
|
I just updated the first time to a nightly that I think has this patch: Element Nightly version: 2022042401 Olm version: 3.2.8 from aur/element-desktop-nightly-bin. I launched using the desktop file, which does
I reset the event store, it started indexing, and crashed after ~1 minute. |
|
@HarHarLinks Try removing the Note that as of about 4 hours ago, this env var has been removed in the So you should just be able to update and have it work :) Edit: And now I realise you just noticed that on the linked issue. Ah well :) |
This PR is a direct application of this patch by the Arch Linux community to help fix incompatibilities between sqlcipher and electron 15+. Full context is in #691.
I've just copy/pasted the patch to this PR for easier review, but from what I can see, this changeset is:
sqlcipher.soon Linux, whereas before we relied on it being provided by a separate distro package.--enable-tcl=noconfigure flag when compiling sqlcipher for Mac and Unix.--with-pic=yesconfigure flag for Linux only.RUSTFLAGS=-Clink-arg=-Wl,-Bsymbolic -Clink-arg=-Wl,--exclude-libs,ALLfor Linux only.tclshon all platforms (previously Linux was excluded).The implication is that Linux builds will now receive and use a statically-linked version of sqlite instead of relying on distro packages. It may be worth checking with downstream packagers whether this change is OK.
It should also be ensured that the Element Desktop build machines have the appropriate packages installed to handle this new configuration (
tclshis needed now, for instance).This PR currently has none of the required changelog labels.
Add one of:
T-Deprecation,T-Enhancement,T-Defect,T-Taskto indicate what type of change this is plusX-Breaking-Changeif it's a breaking change.