Installing Pony
Prebuilt Pony binaries are available on a number of platforms. They are built using a very generic CPU instruction set and as such, will not provide maximum performance. If you need to get the best performance possible from your Pony program, we strongly recommend building from source.
All prebuilt releases are currently AMD64 only. If you want to install on different CPU architecture, you'll need to build from source.
Prebuilt Pony installations will use clang as the default C compiler and clang++ as the default C++ compiler. If you prefer to use different compilers, such as gcc and g++, these defaults can be overridden by setting the $CC
and $CXX
environment variables to your compiler of choice.
FreeBSD 13.0
Prebuilt FreeBSD 13.0 packages are available via ponyup.
ponyup default freebsd-13.0
ponyup update ponyc release
Linux
Prebuilt Linux packages are available via ponyup for Glibc and musl libc based Linux distribution. You can install nightly builds as well as official releases using ponyup.
If you are running on a support Linux platform, ponyup should correctly select it so long as you have cc
and lsb_release
installed. If for some reason, the installation script can't identify your distribution, you can manually select your platform.
If we aren't creating packages for your distribution and you would like us to, please stop by the release stream in the ponylang Zulip to discuss adding support. Please note, we are almost assuredly going to ask you to help support your distribution.
At the moment, we support all supported LTS Ubuntu versions and any distributions built on top of Ubuntu (like Linux Mint and Pop!_OS).
Supported Glibc distributions
Currently, we have packages for the following Glibc based distributions:
- Linux Mint 19, 20, 21
- Pop!_OS 20.04, 22.04
- Ubuntu 20.04, 22.04
Manually selecting your Linux platform
To manually set your platform if ponyup is unable to identify it:
ponyup default PLATFORM
where PLATFORM
is from the table below
Distribution | PLATFORM String |
---|---|
Alpine | x86_64-linux-musl |
Linux Mint 20.x | x86_64-linux-ubuntu20.04 |
Linux Mint 21.x | x86_64-linux-ubuntu22.04 |
Pop!_OS 20.04 | x86_64-linux-ubuntu20.04 |
Pop!_OS 22.04 | x86_64-linux-ubuntu22.04 |
Ubuntu 20.04 | x86_64-linux-ubuntu20.04 |
Ubuntu 22.04 | x86_64-linux-ubuntu22.04 |
Install the latest release
ponyup update ponyc release
Additional requirements
All ponyc Linux installations need to have a C compiler such as clang installed. Compilers other than clang might work, but clang is the officially supported C compiler.
Troubleshooting Glibc compatibility
Most Linux distributions are based on Glibc and all software for them must use the same version of Glibc. You might see an error like the following when trying to use ponyc:
ponyc: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by ponyc)
If you get that error, it means that the Glibc we compiled ponyc with isn't compatible with your distribution. You've installed a ponyc build that isn't compatible with the C ABI on your distribution. You'll probably need to build ponyc from source. If you believe that you've installed a correct package for your distribution, please stop by the beginner help stream on the ponylang Zulip to discuss what you are seeing.
macOS
Prebuilt macOS packages for Apple Silicon are available via ponyup. You can also install nightly builds using ponyup.
To install the most recent ponyc on macOS:
ponyup update ponyc release
Windows
Windows users will need to install:
- Visual Studio 2022 or 2019 (available here) or the Microsoft C++ Build Tools (available here).
- Install the
Desktop Development with C++
workload, along with the latestWindows 10 SDK (10.x.x.x) for Desktop
individual component.
- Install the
Once you have installed the prerequisites, you can get prebuilt release or nightly builds via ponyup. To install the most recent ponyc on Windows:
ponyup update ponyc release
You can also download the latest ponyc release from Cloudsmith. Unzip the release file in a convenient location, and you will find ponyc.exe
in the bin
directory. Following extraction, to make ponyc.exe
globally available, add it to your PATH
either by using Advanced System Settings->Environment Variables to extend PATH
or by using the setx
command, e.g. setx PATH "%PATH%;<directory you unzipped to>\bin"