Skip to content

Set up Linux development environment#1

Draft
brainx wants to merge 1 commit into
mainfrom
cursor/setup-linux-dev-env-92e7
Draft

Set up Linux development environment#1
brainx wants to merge 1 commit into
mainfrom
cursor/setup-linux-dev-env-92e7

Conversation

@brainx

@brainx brainx commented Jun 17, 2026

Copy link
Copy Markdown
Owner

Summary

The repo's documented build path (scripts/build-macos.sh, make build, CI) targets macOS/Homebrew, but the cloud dev VM is Linux. This PR adds a Linux build path and developer documentation so the project builds, runs, and tests on Linux without modifying any vintage source.

  • scripts/build-linux.sh — mirrors build-macos.sh using system libraries (libssl-dev, libpcre3-dev (PCRE1), libncurses-dev, zlib1g-dev). Adds the -fcommon flag required by modern GCC/Clang for the legacy global declarations, generates Src/Makefile from Makefile.in, builds, and installs bin/mixmaster + bin/mixremailer.
  • AGENTS.md## Cursor Cloud specific instructions documenting the Linux build, run/test commands, and non-obvious runtime gotchas (no MTA on VM, pool batching, self-addressed loopback, expired 2007 sample keys).

No existing code was changed.

Verification

Built both binaries and ran a full end-to-end anonymous-remailer flow: client encrypts a message → remailer decrypts the hop → final mail delivered with the recovered plaintext and anonymizing disclaimer.

mixmaster_e2e_demo.mp4

Mixmaster ncurses client menu

Delivered anonymous mail (final hop output):

final_delivered_mail.eml

  • ./scripts/build-linux.sh — builds bin/mixmaster + bin/mixremailer
  • MIXPATH="$PWD/Mix" ./bin/mixremailer -M — CI smoke test, exit 0 (auto-generates RSA key)
  • cc -DHAVE_SETENV -include string.h Src/tests/test-parse_yearmonthday.c && ./a.out — prints OK.

To show artifacts inline, enable in settings.

Open in Web Open in Cursor 

Co-authored-by: BrainX <brainx@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant