-
Notifications
You must be signed in to change notification settings - Fork 18
Build musl-based statically linked binaries #197
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
base: main
Are you sure you want to change the base?
Conversation
|
Thanks for the PR @defect. The caveats make sense, let us know what your testing looks like. I'll do some testing on my end early next week and will share what I find. A couple additional thoughts.
|
|
@rjenkins I did a bit of smoke testing on our target platform yesterday and it seems like it works for that workload (traces over OTLP only right now). However, it might be a bit more taxing on the CPU than expected as you say. I will try to do the same tests with a musl rotel vs. standard glibc rotel. I also pushed a commit here (or would you prefer that as a separate PR?) that adds features for compiling with jemalloc or mimalloc. They both build nicely on all platforms except for jemalloc on I'll try to get some time this weekend to do some performance testing there. |
Nice, glad it's working. One PR is fine, thanks for the changes. +1 on the testing and we can see if using jemalloc or mimalloc helps any. Will take a look on Monday to help verify perf findings. |
|
@defect How's this coming along? Have y'all made a decision on mimalloc vs. the default allocator for your project? Given the results here building with |






Hi! Thanks for a cool project!
I'm testing out rotel as an alternative to the opentelemetry-collector but unfortunately we have some devices that run with a fairly old glibc (ubuntu 20.04 based), so the distributed binaries from the releases don't work on them.
I ended up building a binary that's statically linked with musl to make it self-contained and portable to systems with older glibc (or no glibc at all, i guess), and wanted to see if that is a reasonable approach? Maybe you've already tried this and come to the conclusion that it's broken :)
Some caveats, as this needs a bit of work if it's at all interesting;
g++in the build step. This is a workaround i found in a github comment, and i think the issue stems from https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=988837 . It might need a bit more scrutiny to make sure it's not messing anything uprotelbinary (andclickhouse-ddl)