Cosmopolitan Libc makes C/C++ a build-once run-anywhere language, like Java, except it doesn't need an interpreter or virtual machine. Instead, it reconfigures stock GCC and Clang to output a POSIX-approved polyglot format that runs natively on Linux + Mac + Windows + FreeBSD + OpenBSD 7.3 + NetBSD + BIOS with the best performance and reliability.
Cosmo v4.0.2 Release Notes
After testing 4.0.x with various programs and hammering out the
remaining issues, this release includes the latest build of Cosmos.
We've confirmed bash, emacs, vim, git, links, wget, etc. work well
across platforms.
- 29eb7e6 Fix fork() regression on Windows
- 42a3bb7 Make execve() linger when it can't spoof parent
- f0b0f92 Enable sqlite3 serialization in redbean (#1349)
- 035b0e2 Attempt to fix MODE=dbg Windows execve() flake
- 7b67b20 Fix Windows MODE=tiny breakage
- c97a858 Remove missing definitions
Read the documentation:
Redundant download URLs are provided:
- https://cosmo.zip/pub/cosmos/v/4.0.2/
- https://cosmo.zip/pub/cosmos/zip/cosmos-4.0.2.zip
- https://cosmo.zip/pub/cosmocc/cosmocc-4.0.2.zip
- https://cosmo.zip/pub/cosmo/cosmopolitan-4.0.2.tar.gz
- https://justine.lol/cosmopolitan/cosmocc-4.0.2.zip
- https://justine.lol/cosmopolitan/cosmos-4.0.2.zip
- https://justine.lol/cosmopolitan/cosmopolitan-4.0.2.tar.gz
Known issues:
- You might need our
binfmt_misc
interpreter with some Linux distros - Run Windows Terminal Preview with admin privileges to use symlinks
- Use
TERM=vt100 nano
to fix frozen display state with nano editor - Self-modifying code isn't preserved across fork() on Windows
- Function tracing is disabled in child after fork() on Windows
- Z shell users need zsh 5.9+ which fixes an execve() bug