Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
download:sac2c [2019/10/17 14:07] hnvdownload:sac2c [2021/02/02 11:16] – hugely simplified the downloads page hnv
Line 1: Line 1:
-===== 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 typeswe provide **basic** and **full** package.+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]]. 
 + 
 +Other operating systems may have packagessee [[: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"> 
 +=== Which variant should I use? === 
 +For normal usage, the **basic** variant is sufficient to try out all of the features of the Single Assignment C language. 
 +</callout>
  
 <HTML> <HTML>
Line 13: Line 30:
     <dd>&mdash; package includes GPU backend and advanced multi-threading scheduling.</dd>     <dd>&mdash; package includes GPU backend and advanced multi-threading scheduling.</dd>
     <dd>&mdash; more external dependencies: <em>gcc, libc, uuid-lib, hwloc, cuda<em>*</em></em></dd>     <dd>&mdash; more external dependencies: <em>gcc, libc, uuid-lib, hwloc, cuda<em>*</em></em></dd>
-    <dd>* 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.</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> </dl>
 </HTML> </HTML>
  
-//We use a CI cluster to build these packages using configurations defined in our [[https://www.macs.hw.ac.uk/gitlab/sac-group/build-sac-pkgs|package build repo]].//+=== 3rd-Party Packages  ===
  
-<callout type="primary" icon="true"> 
-=== Which package 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. 
-</callout> 
- 
-<callout type="primary" icon="true"> 
-=== Which variant should I use? === 
-For normal usage, the **basic** variant is sufficient to try out all of the features of the Single Assignment C language. 
-</callout> 
- 
-==== Weeklies --- Bleeding-Edge Release ==== 
- 
-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. 
- 
-=== Ubuntu 16 === 
-{{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.
  
Line 54: Line 42:
 | 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 usageIf 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 supportedPlease 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
Line 102: Line 63:
 <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>
Line 135: Line 100:
 $ 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>