Skip to content

Commit 1dfe344

Browse files
committed
fix: default to glibc for Linux downloads for better stability
The musl variant has known stability issues with binject (segfaults). While musl theoretically works on both musl and glibc systems, glibc provides better stability in practice. This change affects all socket-btm binary downloads on Linux when libc is not explicitly specified.
1 parent b73e351 commit 1dfe344

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

src/releases/socket-btm.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ export interface SocketBtmBinaryConfig {
128128
targetArch?: Arch
129129
/**
130130
* Linux libc variant (musl or glibc).
131-
* Defaults to musl for Linux for broader compatibility.
131+
* Defaults to glibc for Linux for better stability.
132132
* Ignored for non-Linux platforms.
133133
*/
134134
libc?: Libc
@@ -435,8 +435,9 @@ export async function downloadSocketBtmRelease(
435435
const platform = (targetPlatform || os.platform()) as Platform
436436
const arch = (targetArch || os.arch()) as Arch
437437

438-
// Default to musl for Linux for broader compatibility (works on both musl and glibc systems)
439-
const libcType = libc || (platform === 'linux' ? 'musl' : undefined)
438+
// Default to glibc for Linux for better stability
439+
// (musl works on both musl and glibc systems, but has known stability issues with some tools like binject)
440+
const libcType = libc || (platform === 'linux' ? 'glibc' : undefined)
440441

441442
// Build asset name and platform-arch identifier
442443
const assetName = getBinaryAssetName(baseName, platform, arch, libcType)

0 commit comments

Comments
 (0)