Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
download:sac2c [2019/09/08 10:32] – re orgonised the downloads section hnv | download:sac2c [2021/02/02 11:16] – hugely simplified the downloads page hnv |
---|
===== 1 Compiler: the sac2c ecosystem ===== | ===== Download Binaries ===== |
| |
Binary releases of the compiler and the standard library are provided in the following sections. | <callout type="primary" icon="true"> |
| === Latest Release === |
| The latest release as of 01.02.2021 is [[https://gitlab.science.ru.nl/sac-group/sac-packages/-/releases/v1.3.3-572-1|v1.3.3-572-1]] |
| </callout> |
| |
We provide two types of distributable packages, stable releases and bleeding-edge releases (which we call //weeklies//). In both types, we provide a **basic** and a **full** package. In order to function, the basic package needs a system C compiler (GCC or MacOS Clang) and standard library, and pthreads. The full package additionally needs HWLOC and CUDA. | Binary releases of the compiler and the standard library are provided via our package repository, at https://gitlab.science.ru.nl/sac-group/sac-packages/-/releases. We support most //UNIX*// operating systems, including |
| **RPM**, **DEB**, and **MacOS**. Running on Windows is possible using [[https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux|WSL]]. |
| |
//For normal usage, the basic variant is sufficient to try out all of the features of the Single Assignment C language.// | Other operating systems may have packages, see [[:download:sac2c#rd-party_packages|3rd-party packages]]. |
| |
| Please message use on the [[:mailing_lists#user_mailing_lists|user mailing list]] if you encounter any problem. |
| |
| === Package Variants === |
| |
| We provide two types of packages variants, **basic** and **full**. |
| |
<callout type="primary" icon="true"> | <callout type="primary" icon="true"> |
=== Which package should I use? === | === Which variant should I use? === |
At the moment, we suggest using one of the //weekly// packages as these include some of the latest features. These packages only differ from our stable release packages in that we do less testing before releasing them. | For normal usage, the **basic** variant is sufficient to try out all of the features of the Single Assignment C language. |
</callout> | </callout> |
| |
==== Weeklies --- Bleeding-Edge Release ==== | <HTML> |
| <dl> |
The packages listed here are built from the //latest// changes to our development branch. Some of the features provided are still in development and may not work as expected. Please message use on the [[:mailing_lists#user_mailing_lists|user mailing list]] if you encounter any problem. | <dt><b>Basic package</b></dt> |
| <dd>— package excludes special features, like the GPU backend or advanced multi-threading scheduling.</dd> |
| <dd>— makes use of minimal external dependencies: <em>gcc, libc, uuid-lib</em>.</dd> |
| <dt><b>Full package</b></dt> |
| <dd>— package includes GPU backend and advanced multi-threading scheduling.</dd> |
| <dd>— more external dependencies: <em>gcc, libc, uuid-lib, hwloc, cuda<em>*</em></em></dd> |
| <dd>* <i>CUDA must be installed as per the recommended guidelines of the distribution. Our packages are built using <a href="https://hub.docker.com/r/nvidia/cuda">docker containers</a> provided by NVIDIA, look there for their installation procedure.</i></dd> |
| </dl> |
| </HTML> |
| |
=== Ubuntu 16 === | === 3rd-Party Packages === |
{{filelist>packages/weekly/Ubl16/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
=== Ubuntu 18 === | |
{{filelist>packages/weekly/Ubl18/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
=== RHEL 6 === | |
{{filelist>packages/weekly/RHEL6/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
=== RHEL 7 === | |
{{filelist>packages/weekly/RHEL7/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
=== MacOS === | |
{{filelist>packages/weekly/MacOS/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
=== Linux x64 === | |
The contents of this package can be installed anywhere on your system (this is particularly useful if you do not have root permission!). Upon open the archive, you will find a README file and an install script (''install.sh''). Please read the README on how to use the install script. | |
{{filelist>packages/weekly/Linux/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
| |
=== Extra === | |
We also have some //user-contributed// packages --- as these are packages outwith the project, we can not provide any support on these. Please communicate with the package maintainers directly. | We also have some //user-contributed// packages --- as these are packages outwith the project, we can not provide any support on these. Please communicate with the package maintainers directly. |
| |
| ArchLinux | via [[https://aur.archlinux.org/packages/sac-compiler-weekly|sac-compiler-weekly]] and [[https://aur.archlinux.org/packages/sac-stdlib-weekly|sac-stdlib-weekly]] | | | ArchLinux | via [[https://aur.archlinux.org/packages/sac-compiler-weekly|sac-compiler-weekly]] and [[https://aur.archlinux.org/packages/sac-stdlib-weekly|sac-stdlib-weekly]] | |
| |
=== Legacy === | ==== Installing ==== |
| |
Here we list some of the older releases for platforms we no longer package for. | Please make sure that your system is properly setup to run SaC --- at the very least you need to have a working C-compiler. |
| |
== Ubuntu 14 == | Note that on MacOS you must have Xcode installed and configured for command line usage. If you use [[https://www.brew.sh|brew]] or [[https://www.macports.org|macports]], this may already be done for you. |
{{filelist>packages/weekly/Ubl14/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
| |
==== Major Release ==== | |
| |
The following packages contain the latest //major-number// release of ''sac2c''. | |
| |
<callout type="warning" icon="true"> | |
=== Old releases === | |
The packages provided here are **old** and not fully supported. Please use one of the [[download:main#weeklies_---_bleeding-edge_release|weekly packages]] instead. | |
</callout> | |
| |
=== Ubuntu 14 === | |
{{filelist>packages/release/Ubl14/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
=== Ubuntu 16 === | |
{{filelist>packages/release/Ubl16/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
=== Ubuntu 18 === | |
{{filelist>packages/release/Ubl18/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
=== RHEL 6 === | |
{{filelist>packages/release/RHEL6/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
=== RHEL 7 === | |
{{filelist>packages/release/RHEL7/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
=== Debian 7 === | |
{{filelist>packages/release/Deb7/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
=== Debian 8 === | |
{{filelist>packages/release/Deb8/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
=== Linux x64 === | |
{{filelist>packages/release/Linux/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
=== MacOS X (10.12) === | |
{{filelist>packages/release/mac10.12/sac*&style=table&tableheader=1&recursive=1&sort=mtime&direct=1&showdate=1&showsize=1}} | |
| |
==== Installing ==== | |
| |
<accordion> | <accordion> |
<panel type="default" title="RPM (RedHat Based distributions)"> | <panel type="default" title="RPM (RedHat Based distributions)"> |
The ''rpm'' release of the compiler is designed to be installed on RedHat based distributions of Linux (e.g. RedHat, CentOS, Fedora, etc.) using the ''rpm'' tool set. | The ''rpm'' release of the compiler is designed to be installed on RedHat based distributions of Linux (e.g. RedHat, CentOS, Fedora, etc.) using the ''dnf'' or ''rpm'' tool set. |
| |
Installation: | Installation: |
| <code> |
| $ sudo dnf install sac2c-VERSION-RELEASE.rpm |
| </code> |
| or |
<code> | <code> |
$ sudo rpm --install sac2c-VERSION-RELEASE.rpm | $ sudo rpm --install sac2c-VERSION-RELEASE.rpm |
<panel type="default" title="DEB (Debian based distributions)"> | <panel type="default" title="DEB (Debian based distributions)"> |
| |
The ''deb'' package is meant to be installed on Debian based distributions (e.g. Debian, Ubuntu, etc.) using the ''dpkg'' tool set. | The ''deb'' package is meant to be installed on Debian based distributions (e.g. Debian, Ubuntu, etc.) using the ''dpkg'' or the ''apt'' tool set. |
| |
Installation: | Installation: |
<code> | <code> |
$ sudo dpkg --install sac-VERSION-RELEASE.deb | $ sudo dpkg --install sac-VERSION-RELEASE.deb |
| </code> |
| or |
| <code> |
| $ sudo apt install sac-VERSION-RELEASE.deb |
</code> | </code> |
</panel> | </panel> |
$ cd ~ && rm -rf temp_extract | $ cd ~ && rm -rf temp_extract |
</code> | </code> |
| </panel> |
| <panel type="default" title="Windows 10"> |
| While we do not currently support a native Windows version, you can still use it through a virtualisation layer |
| of your choosing. The easiest way to use ''sac2c'' on a Windows 10 system is to use Window's own virtualisation |
| for Linux support, the Windows Subsystem for Linux (WSL). |
| To do this, you have to do four things: |
| - You need to activate the developer mode of Windows. (Settings -> Update & Security -> For developers -> tick the Developer Mode) |
| - You need to activate the WSL. (Control Panel -> Programs -> Programs & Features -> Turn Features On & Off -> tick Windows Subsystem for Linux) |
| - Go to the Microsoft Store and choose a Linux Distribution of your choice, e.g, Ubuntu 18.04 LTS. |
| - Download the //basic// version of ''sac2c'' and ''sac-stdlib'' that matches the Linux version you have chosen and install it. For Ubuntu, you download the corresponding ''.deb'' files and then run |
| <code> |
| $sudo apt update |
| $sudo apt install sac2c-VERSION-RELEASE.deb |
| $sudo apt install sac-stdlib-VERSION-RELEASE.deb |
| </code> |
| |
| After that, you should have the sac system up and running: |
| the SaC binaries are postfixed by their release type (production or debug), so there is a ''sac2c_p'' and ''sac2c_d'' respectively, ''sac2c'' is simply a link to ''sac2c_p''. |
</panel> | </panel> |
</accordion> | </accordion> |