musl build fails #302
Labels
No labels
Android
CS::needs customer feedback
CS::needs follow up
CS::needs on prem installation
CS::waiting
Chrome
Design:: Ready
Design:: in progress
Design::UX
E2EE
Edge
Firefox
GDPR
Iteration 13 IM
Linux
MacOS
Need::Discussion
Need::Steps to reproduce
Need::Upstream fix
Needs:: Planning
Needs::Dev-Team
Needs::More information
Needs::Priority
Needs::Product
Needs::Refinement
Needs::Severity
Priority::1-Critical
Priority::2-Max
Priority::3-Impending
Priority::4-High
Priority::5-Medium
Priority::6-Low
Priority::7-None
Progress::Backlog
Progress::Review
Progress::Started
Progress::Testing
Progress::Triage
Progress::Waiting
Reporter::Sentry
Safari
Target::Community
Target::Customer
Target::Internal
Target::PoC
Target::Security
Team:Customer-Success
Team:Design
Team:Infrastructure
Team:Instant-Messaging
Team:Product
Team:Workflows
Type::Bug
Type::Design
Type::Documentation
Type::Feature
Type::Improvement
Type::Support
Type::Tests
Windows
blocked
blocked-by-spec
cla-signed
conduit
contribution::advanced
contribution::easy
contribution::help needed
from::review
iOS
p::ti-tenant
performance
product::triage
proposal
refactor
release-blocker
s: dart_openapi_codegen
s::Famedly-Patient
s::Org-Directory
s::Passport-Generator
s::Requeuest
s:CRM
s:Famedly-App
s:Famedly-Web
s:Fhiroxide
s:Fhiroxide-cli
s:Fhiroxide-client
s:Fhirs
s:Hedwig
s:LISA
s:Matrix-Dart-SDK
s:Role-Manager
s:Synapse
s:User-Directory
s:WFS-Matrix
s:Workflow Engine
s:dtls
s:famedly-error
s:fcm-shared-isolate
s:matrix-api-lite
s:multiple-tab-detector
s:native-imaging
severity::1
severity::2
severity::3
severity::4
technical-debt
voip
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Matthias/conduit#302
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
My reason for wanting to compile against musl is to make deployment to a server more straightforward. Right now my Ubuntu 20 server gives trying to run
conduit
compiled on my Fedora 36 workstation:Here's the build failure:
The issue is known to at least someone in the rocksdb Github: https://github.com/rust-rocksdb/rust-rocksdb/issues/174#issuecomment-409410115
The dubious suggested workaround (aliasing
/usr/bin/g++
asmusl-g++
) gotlibrocksdb-sys
to compile, but resulted in a link error with theconduit
binary, probably due to a mismatch between glibc and musl:This issue is slightly different from #286, but both involve musl.
changed the description
One way to work around this: disable the
backend_rocksdb
feature. E.g.cargo build --target x86_64-unknown-linux-musl --features conduit_bin,backend_sqlite --no-default-features --release
Could you try using
cross build --target x86_64-unknown-linux-musl --release
instead ofcargo build --target x86_64-unknown-linux-musl --release
?(you may need to first
cargo install cross
)We'll have automated static builds once https://gitlab.com/famedly/conduit/-/merge_requests/569 is merged, and you'll be able to produce your own static binaries from source using Nix if you want.
Making static builds of Conduit turns out to be pretty involved, so using Nix once that MR is merged will be the easiest and most reliable way to accomplish this.