axodotdev / axodotdev/cargo-dist

Need to build release artifact for an older GNU/Linux version

Open
#268 1 comment 0 reactions 0 assignees View on GitHub
question
Dominant language
Rust
Stars
2.1k
Forks
149
Avg merge
1d 11h
Merged PRs (30d)
32

Description

Hi,

I need to build my releases against GNU/Linux 2.6.32, for example:
This is what I need

```
$ cargo build --target x86_64-unknown-linux-gnu --release
$ file manta
manta: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=3bddb4eb2ebf10ab63469a165b6f7d8263ebdaf7, with debug_info, not stripped
```

The above is what I need which is building an artifact for an older glib version.

My problem is I am switching to cargo dist to manage my github cicd pipeline and I am under the impression that `cargo dist build --target="x86_64-unknown-linux-gnu" --tag=${{ github.ref_name }} --output-format=json ${{ matrix.dist-args }} > dist-manifest.json` is building the artifact for a more recent glib version.

```
$ file manta
$ manta: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3b3fdd0c6820f9e66bbb07fd73ad3e1e95900fbc, for GNU/Linux 3.2.0, with debug_info, not stripped
```

How can I tell `cargo dist` I want it to use GNU/Linux 2.6.32 instead of 3.2.0?

thank you very much

Contributor guide

Open the contributing guide

Research direction

Start by examining the cargo dist build command and the GitHub CI pipeline described in the issue, then compare its GNU/Linux 3.2.0 output with the cargo build result targeting GNU/Linux 2.6.32. Done means the release artifact is built against the older glibc baseline and the file output confirms GNU/Linux 2.6.32 compatibility.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, linux, rust
Domain
build-system, devops, release
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.