Spack Tutorial on AWS

Total Page:16

File Type:pdf, Size:1020Kb

Spack Tutorial on AWS Spack Tutorial on AWS The most recent version of these slides can be found at: July 28-29, 2020 https://spack-tutorial.readthedocs.io LLNL-PRES-806064 This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under contract DE-AC52-07NA27344. Lawrence Livermore National Security, LLC Tutorial Materials Download the latest version of slides and handouts at: spack-tutorial.readthedocs.io For more: § Spack website: spack.io § Spack GitHub repository: github.com/spack/spack § Spack Reference Documentation: spack.readthedocs.io Q&A on Slack: spackpm.herokuapp.com Tutorial materials: spack-tutorial.readthedocs.io 2 LLNL-PRES-806064 Software complexity in HPC is growing glm suite-sparse yaml-cpp metis cmake ncurses parmetis pkgconf nalu hwloc libxml2 xz bzip2 openssl boost trilinos superlu openblas netlib-scalapack mumps openmpi zlib netcdf hdf5 matio m4 libsigsegv parallel-netcdf Nalu: Generalized Unstructured Massively Parallel Low Mach Flow Q&A on Slack: spackpm.herokuapp.com Tutorial materials: spack-tutorial.readthedocs.io 3 LLNL-PRES-806064 Software complexity in HPC is growing adol-c automake autoconf perl glm suite-sparse yaml-cpp metis cmake ncurses gmp libtool parmetis pkgconf m4 libsigsegv nalu hwloc libxml2 xz bzip2 openssl p4est pkgconf boost hwloc libxml2 trilinos superlu openblas xz netlib-scalapack netcdf-cxx netcdf mumps openmpi zlib netcdf hdf5 nanoflann matio m4 libsigsegv parallel-netcdf matio hdf5 Nalu: Generalized Unstructured Massively Parallel Low Mach Flow sundials glm netlib-scalapack mumps openmpi trilinos hypre openblas gdbm superlu-dist parmetis sqlite readline zlib petsc python dealii slepc ncurses arpack-ng openssl metis cmake gmsh oce suite-sparse tetgen intel-tbb netgen bzip2 assimp boost gsl muparser dealii: C++ Finite Element Library Q&A on Slack: spackpm.herokuapp.com Tutorial materials: spack-tutorial.readthedocs.io 4 LLNL-PRES-806064 Software complexity in HPC is growing r-randomforest glm suite-sparse yaml-cpp r-labeling metis cmake ncurses parmetis pkgconf nalu r-lazyeval r-munsell hwloc libxml2 xz r-colorspace bzip2 openssl r-rcolorbrewer boost r-viridislite trilinos superlu openblas r-dichromat netlib-scalapack r-scales mumps r-tibble r-assertthat openmpi zlib netcdf hdf5 r-rlang r-gtable matio m4 libsigsegv parallel-netcdf r-ggplot2 r-plyr r-reshape2 r-rcpp r-modelmetrics Nalu: Generalized Unstructured Massively Parallel Low Mach Flow freetype bzip2 gperf r-r6 r-minqa fontconfig r-caret r-nloptr r-digest cairo libxml2 r-rcppeigen pixman r-lme4 harfbuzz libpng r-praise r-testthat pango adol-c automake sed xz gobject-introspection autoconf perl glib gettext r-mgcv r-crayon tar gmp libtool m4 libsigsegv libffi r-nlme p4est pkgconf libtiff hwloc libxml2 r-pbkrtest help2man xz r-mass zlib r-car r-foreach r-iterators flex netcdf-cxx netcdf r-sparsem curl r python ncurses nanoflann pkgconf openssl readline matio r-quantreg r-matrixmodels pcre hdf5 jdk libjpeg-turbo r-matrix cmake sundials r-lattice icu4c sqlite font-util r-adabag r-glmnet glm tk tcl nasm libxau gdbm xproto netlib-scalapack r-cubist r-mlbench libxdmcp openmpi xextproto mumps r-magrittr perl libpthread-stubs trilinos xtrans r-data-table libxcb util-macros hypre r-stringr xcb-proto r-xgboost libx11 inputproto r-rminer r-e1071 r-class r-codetools openblas kbproto gdbm bison r-kknn r-igraph r-irlba r-stringi r-rpart automake superlu-dist parmetis sqlite autoconf readline r-nnet zlib r-pkgconfig petsc gmp libtool m4 libsigsegv python dealii slepc ncurses arpack-ng openssl r-mda cmake metis r-kernlab gmsh oce suite-sparse r-strucchange r-zoo tetgen r-sandwich intel-tbb r-party netgen r-survival bzip2 r-multcomp r-th-data assimp r-plotrix boost r-coin r-mvtnorm r-modeltools gsl r-pls muparser dealii: C++ Finite Element Library R Miner: R Data Mining Library Q&A on Slack: spackpm.herokuapp.com Tutorial materials: spack-tutorial.readthedocs.io 5 LLNL-PRES-806064 What is the “production” environment for HPC? § Someone’s home directory? § LLNL? LANL? Sandia? ANL? LBL? TACC? — Environments at large-scale sites are very different. § Which MPI implementation? § Which compiler? § Which dependencies? § Which versions of dependencies? — Many applications require specific dependency versions. Real answer: there isn’t a single production environment or a standard way to build. Reusing someone else’s software is HARD. Q&A on Slack: spackpm.herokuapp.com Tutorial materials: spack-tutorial.readthedocs.io 6 LLNL-PRES-806064 The complexity of the exascale ecosystem threatens productivity. 5+ target architectures/platforms 15+ applications x 80+ software packages x Xeon Power KNL NVIDIA ARM Laptops? Up to 7 compilers 10+ Programming Models 2-3 versions of each package x Intel GCC Clang XL x OpenMPI MPICH MVAPICH OpenMP CUDA x PGI Cray NAG OpenACC Dharma Legion RAJA Kokkos + external dependencies = up to 1,260,000 combinations! § Every application has its own stack of dependencies. § Developers, users, and facilities dedicate (many) FTEs to building & porting. § Often trade reuse and usability for performance. We must make it easier to rely on others’ software! Q&A on Slack: spackpm.herokuapp.com Tutorial materials: spack-tutorial.readthedocs.io 7 LLNL-PRES-806064 What aBout containers? § Containers provide a great way to reproduce and distribute an already-built software stack § Someone needs to build the container! — This isn’t trivial — Containerized applications still have hundreds of dependencies § Using the OS package manager inside a container is insufficient — Most binaries are built unoptimized — Generic binaries, not optimized for specific architectures § HPC containers may need to be rebuilt to support many different hosts, anyway. — Not clear that we can ever build one container for all facilities — Containers likely won’t solve the N-platforms problem in HPC We need something more flexible to build the containers Q&A on Slack: spackpm.herokuapp.com Tutorial materials: spack-tutorial.readthedocs.io 8 LLNL-PRES-806064 Spack is a flexiBle package manager for HPC § How to install Spack: $ git clone https://github.com/spack/spack $ . spack/share/spack/setup-env.sh § How to install a package: $ spack install hdf5 § HDF5 and its dependencies are installed within the Spack directory. § Unlike typical package managers, Spack can also install github.com/spack/spack many variants of the same build. — Different compilers — Different MPI implementations @spackpm — Different build options Q&A on Slack: spackpm.herokuapp.com Tutorial materials: spack-tutorial.readthedocs.io 9 LLNL-PRES-806064 Who can use Spack? People who want to use or distribute software for HPC! 1. End Users of HPC Software — Install and run HPC applications and tools 2. HPC Application Teams — Manage third-party dependency libraries 3. Package Developers — People who want to package their own software for distribution 4. User support teams at HPC Centers — People who deploy software for users at large HPC sites Q&A on Slack: spackpm.herokuapp.com Tutorial materials: spack-tutorial.readthedocs.io 10 LLNL-PRES-806064 Spack is used worldwide! Over 4,300 software packages Over 2,900 monthly active users (on docs site) Over 600 contributors from labs, academia, industry Plot shows sessions on spack.readthedocs.io for one month Q&A on Slack: spackpm.herokuapp.com Tutorial materials: spack-tutorial.readthedocs.io 11 LLNL-PRES-806064 Users on our documentation site have also been increasing Q&A on Slack: spackpm.herokuapp.com Tutorial materials: spack-tutorial.readthedocs.io 12 LLNL-PRES-806064 Spack is Being used on many of the top HPC systems § Official deployment tool for the U.S. Exascale Computing Project § >= 5 of the top 10 supercomputers § High Energy Physics community — Fermilab, CERN, collaborators § Astra (Sandia) #1 Fugaku OSS software stack is deployed with Spack § Fugaku (Japanese National Supercomputer Project) Summit (ORNL), Sierra (LLNL) SuperMUC-NG (LRZ, Germany) Edison, Cori, Perlmutter (NERSC) Q&A on Slack: spackpm.herokuapp.com Tutorial materials: spack-tutorial.readthedocs.io 13 LLNL-PRES-806064 One month of Spack development is pretty Busy! Q&A on Slack: spackpm.herokuapp.com Tutorial materials: spack-tutorial.readthedocs.io14 14 LLNL-PRES-806064 ContriButions to Spack continue to grow! § In November 2015, LLNL provided most of the contributions to Spack § Since then, we’ve gone from 300 to over 4,000 packages § Most packages are from external contributors! § Many contributions in core, as well. § We are committed to sustaining Spack’s open source ecosystem! Q&A on Slack: spackpm.herokuapp.com Tutorial materials: spack-tutorial.readthedocs.io 15 LLNL-PRES-806064 Spack 0.15 was released at the end of June § Many new features: — Packages can specify how they should be found on the system • spack external find command — Source code mirror for all Spack packages (from 0.15.1) — Testing builds in GitLab for all packages in E4S — Better Cray support — Better compiler optimization support on macOS • apple-clang now its own compiler — Enhancements and simplification to configuration • spack config add / spack config remove § Over 4,300 packages — 430 new since 0.14 in November 2019 § Several bugfix releases since (0.15.1, 0.15.2, 0.15.3) Q&A on Slack: spackpm.herokuapp.com Tutorial materials: spack-tutorial.readthedocs.io 16 LLNL-PRES-806064 Spack is not the only tool that automates builds 1. “Functional” Package Managers — Nix https://nixos.org/ — GNU Guix https://www.gnu.org/s/guix/ 2. Build-from-source Package
Recommended publications
  • Arch Linux Installation
    (DELL)ARCH LINUX INSTALLATION INFORMATION Current installed version archlinux-2014.05.01, Arch Linux is also run on the Raspberry Pi:s but way easier to install. Check out the Raspberry Pi installation document for that. Text in Bold Courier New is either something on the screen you’ll see in text or something you should type in. This guide is mainly for the Dell Dimension 9200 we use in the room, but everything could be adapted to your own computer. Just check your hard drive space and which driver you should use for your graphic card. DOWNLOAD Get latest version from: https://www.archlinux.org/download/ Create a bootable USB drive, recommended program for that is USBWriter, since it’s just to open USBWrite, chose the .iso-file (the file you downloaded from Arch Linux’s site) and see that you have the USB plugged in and that the program finds it, then click Start. Easy as pie. http://sourceforge.net/projects/usbwriter/ Keyboard Arch Linux will have the English layout so here’s a picture in case you need it. There’s also a way of temporary switching the keyboard layout but not going to bring that up here. (DELL)ARCH LINUX INSTALLATION INSTALLATION Now that you have your USB ready, plug it in and let’s boot and install Arch Linux. You should get something like the picture below, choose “Boot Arch Linux (x86_64)”. If you don’t get it your boot order settings are most likely not set to have USB drive boot first (pressing F12 during boot will get you a boot order list, or F2 to go into BIOS settings, F12 usually works and there you can select USB Device).
    [Show full text]
  • Debian \ Amber \ Arco-Debian \ Arc-Live \ Aslinux \ Beatrix
    Debian \ Amber \ Arco-Debian \ Arc-Live \ ASLinux \ BeatriX \ BlackRhino \ BlankON \ Bluewall \ BOSS \ Canaima \ Clonezilla Live \ Conducit \ Corel \ Xandros \ DeadCD \ Olive \ DeMuDi \ \ 64Studio (64 Studio) \ DoudouLinux \ DRBL \ Elive \ Epidemic \ Estrella Roja \ Euronode \ GALPon MiniNo \ Gibraltar \ GNUGuitarINUX \ gnuLiNex \ \ Lihuen \ grml \ Guadalinex \ Impi \ Inquisitor \ Linux Mint Debian \ LliureX \ K-DEMar \ kademar \ Knoppix \ \ B2D \ \ Bioknoppix \ \ Damn Small Linux \ \ \ Hikarunix \ \ \ DSL-N \ \ \ Damn Vulnerable Linux \ \ Danix \ \ Feather \ \ INSERT \ \ Joatha \ \ Kaella \ \ Kanotix \ \ \ Auditor Security Linux \ \ \ Backtrack \ \ \ Parsix \ \ Kurumin \ \ \ Dizinha \ \ \ \ NeoDizinha \ \ \ \ Patinho Faminto \ \ \ Kalango \ \ \ Poseidon \ \ MAX \ \ Medialinux \ \ Mediainlinux \ \ ArtistX \ \ Morphix \ \ \ Aquamorph \ \ \ Dreamlinux \ \ \ Hiwix \ \ \ Hiweed \ \ \ \ Deepin \ \ \ ZoneCD \ \ Musix \ \ ParallelKnoppix \ \ Quantian \ \ Shabdix \ \ Symphony OS \ \ Whoppix \ \ WHAX \ LEAF \ Libranet \ Librassoc \ Lindows \ Linspire \ \ Freespire \ Liquid Lemur \ Matriux \ MEPIS \ SimplyMEPIS \ \ antiX \ \ \ Swift \ Metamorphose \ miniwoody \ Bonzai \ MoLinux \ \ Tirwal \ NepaLinux \ Nova \ Omoikane (Arma) \ OpenMediaVault \ OS2005 \ Maemo \ Meego Harmattan \ PelicanHPC \ Progeny \ Progress \ Proxmox \ PureOS \ Red Ribbon \ Resulinux \ Rxart \ SalineOS \ Semplice \ sidux \ aptosid \ \ siduction \ Skolelinux \ Snowlinux \ srvRX live \ Storm \ Tails \ ThinClientOS \ Trisquel \ Tuquito \ Ubuntu \ \ A/V \ \ AV \ \ Airinux \ \ Arabian
    [Show full text]
  • Free Gnu Linux Distributions
    Free gnu linux distributions The Free Software Foundation is not responsible for other web sites, or how up-to-date their information is. This page lists the GNU/Linux distributions that are ​Linux and GNU · ​Why we don't endorse some · ​GNU Guix. We recommend that you use a free GNU/Linux system distribution, one that does not include proprietary software at all. That way you can be sure that you are. Canaima GNU/Linux is a distribution made by Venezuela's government to distribute Debian's Social Contract states the goal of making Debian entirely free. The FSF is proud to announce the newest addition to our list of fully free GNU/Linux distributions, adding its first ever small system distribution. Trisquel, Kongoni, and the other GNU/Linux system distributions on the FSF's list only include and only propose free software. They reject. The FSF's list consists of ready-to-use full GNU/Linux systems whose developers have made a commitment to follow the Guidelines for Free. GNU Linux-libre is a project to maintain and publish % Free distributions of Linux, suitable for use in Free System Distributions, removing. A "live" distribution is a Linux distribution that can be booted The portability of installation-free distributions makes them Puppy Linux, Devil-Linux, SuperGamer, SliTaz GNU/Linux. They only list GNU/Linux distributions that follow the GNU FSDG (Free System Distribution Guidelines). That the software (as well as the. Trisquel GNU/Linux is a fully free operating system for home users, small making the distro more reliable through quicker and more traceable updates.
    [Show full text]
  • GNU/Linux for Beginners
    What is Linux? Awesome Applications Linux Manuals: Linux is an independent Unix-like operating system Debian Handbook that can be freely modified and redistributed. It works Debian Users' Manuals on all major 32-bit and 64-bit computer hardware Arch Linux platforms and is an implementation of the POSIX Linux Handbook specification with which all true versions of Unix UbuntuHandbook comply. Linux uses no code from proprietary Unix Making Installation Media: sources, and much of the software available for Linux After downloading the .img or .iso file, install to and is developed by the Free Software Foundation's GNU then boot from USB flash drive . Or b urn the .img project. The result of efforts by thousands of or .iso file to disc. Burning is NOT just copying. programmers coordinating via the Internet, Linux is Linux applications (apps) focus on doing one job well MS Windows® installation tools: now recognized as one of the most stable and flexible RaWrite operating systems available at any price. with communications between applications implemented using well-defined public protocols and balenaEtcher file formats. This modular design has a number of Rufus What Systems Run Linux? advantages, including flexibility, simplicity, and U niversal USB Installer Desktops and Laptops stability. A particular application can be replaced by U N etbootin Linux graphical interfaces such as GNOME or KDE any equivalent which follows the same rules. can replace Mac OS and Windows on the workstation Linux/Unix or Similar installation tools: for most users' needs. Runs on all major PC hardware The resulting freedom of choice leads to friendly The dd command line program.
    [Show full text]
  • Reproducible Builds Summit II
    Reproducible Builds Summit II December 13-15, 2016. Berlin, Germany Aspiration, 2973 16th Street, Suite 300, San Francisco, CA 94103 Phone: (415) 839-6456 • [email protected] • aspirationtech.org Table of Contents Introduction....................................................................................................................................5 Summary.......................................................................................................................................6 State of the field............................................................................................................................7 Notable outcomes following the first Reproducible Builds Summit..........................................7 Additional progress by the reproducible builds community......................................................7 Current work in progress.........................................................................................................10 Upcoming efforts, now in planning stage................................................................................10 Event overview............................................................................................................................12 Goals.......................................................................................................................................12 Event program........................................................................................................................12 Projects participating
    [Show full text]
  • Build Your Own Distro Tired of the Run-Of-The-Mill Stuff on Distrowatch? Why Not Heed Mayank Sharma and Create the Perfect Operating System for You?
    Build your own distro Tired of the run-of-the-mill stuff on Distrowatch? Why not heed Mayank Sharma and create the perfect operating system for you? few issues ago, [LXF171, 50 making it your own – by removing apps and Now traditional wisdom says that creating Distros Tested], we looked at drivers that you don’t need and adding the your own Linux system is a rather difficult the best Linux distributions for ones you do. You’ll also probably change the thing to do and shouldn’t be attempted by A all kinds of users. There were factory-fitted artwork that says more about anyone other than Linux veterans. distros that were designed with ease of use the distro vendor than you. We begin the feature with graphical point- in mind, some focused on productivity, Sure that’s one way to go about it. and-click tools. Yes, you read that right. All it while others catered to specialised use You tweak and customise the distro to suit takes is a couple of clicks to craft your very cases, such as security and privacy your requirements. But wouldn’t it be really own flavour of Linux that you can pass to conscious users. But we can guarantee great if you just create your very own, custom friends and family. We’ve got tools that’ll help that there wasn’t a distro designed Linux distribution? you create and distribute customised spins specifically and entirely for you! based on Ubuntu, Fedora and While most Linux users make do OpenSUSE – the three mainstream with one of the mainstream distros out “We’ve got tools that’ll Linux distributions that house there, there’s always something or the help you create and thousands of open source software in other that’s missing.
    [Show full text]
  • Arch Linux Risc OS While Raspbian Has the Difference with the Been Created to Try Risc OS Is That It Is Small to Shield Users from and Fast
    08/07/2014 14:44 Raspberry Pi User Guide.indd 1 08/07/2014 14:43 rPi_manual.indd 37 7/8/14 10:58 AM CONTENTS Unpack the box 3 Operating Systems 4 Installation 6 Loading the O/S 7 Raspbian 8 Command line: Learn the ropes 10 Packages: How do they work? 16 OpenElec 20 Camera controller 22 Sending output 26 Minecraft Pi 30 Postscript 32 Raspberry Pi User Guide.indd 2 08/07/2014 14:43 CONTENTS Unpack the box Inside the box you will find the Raspberry Pi board, a 5V Power Supply (optional) and a 16 GB microSD card. Unpack the box 3 Depending on which bundle you might have purchased you might Operating Systems 4 also receive a case or other accessories. Feel free to put those items Installation 6 together prior to starting up your Pi. The Pi requires 5V 2.4A power so if you did not purchase a power supply you will need to locate Loading the O/S 7 one that has a Micro USB tip on the end. Many smartphone and tablets use Micro USB charging cables, those will work just fine. Raspbian 8 Command line: Learn the ropes 10 Packages: How do they work? 16 OpenElec 20 Camera controller 22 Sending output 26 Minecraft Pi 30 Postscript 32 Raspberry Pi is a trademark of the Raspberry Pi Foundation. Parts of this manual are reproduced from ‘Raspberry Pi Beyond the Manual’ and is copyright of or licensed by Future Publishing Limited (a Future plc group company), UK 2013. All rights reserved.
    [Show full text]
  • Spack Package Repositories
    Managing HPC Software Complexity with Spack Full-day Tutorial 1st Workshop on NSF and DOE High Performance Computing Tools July 10, 2019 The most recent version of these slides can be found at: https://spack.readthedocs.io/en/latest/tutorial.html Eugene, Oregon LLNL-PRES-806064 This work was performed under the auspices of the U.S. Department of Energy by Lawrence Livermore National Laboratory under contract DE-AC52-07NA27344. github.com/spack/spack Lawrence Livermore National Security, LLC Tutorial Materials Materials: Download the latest version of slides and handouts at: bit.ly/spack-tutorial Slides and hands-on scripts are in the “Tutorial” Section of the docs. § Spack GitHub repository: http://github.com/spack/spack § Spack Documentation: http://spack.readthedocs.io Tweet at us! @spackpm 2 LLNL-PRES-806064 github.com/spack/spack Tutorial Presenters Todd Gamblin Greg Becker 3 LLNL-PRES-806064 github.com/spack/spack Software complexity in HPC is growing glm suite-sparse yaml-cpp metis cmake ncurses parmetis pkgconf nalu hwloc libxml2 xz bzip2 openssl boost trilinos superlu openblas netlib-scalapack mumps openmpi zlib netcdf hdf5 matio m4 libsigsegv parallel-netcdf Nalu: Generalized Unstructured Massively Parallel Low Mach Flow 4 LLNL-PRES-806064 github.com/spack/spack Software complexity in HPC is growing adol-c automake autoconf perl glm suite-sparse yaml-cpp metis cmake ncurses gmp libtool parmetis pkgconf m4 libsigsegv nalu hwloc libxml2 xz bzip2 openssl p4est pkgconf boost hwloc libxml2 trilinos superlu openblas xz netlib-scalapack
    [Show full text]
  • On Package Freshness in Linux Distributions
    On Package Freshness in Linux Distributions Damien Legay Alexandre Decan Tom Mens Software Engineering Department Software Engineering Department Software Engineering Department University of Mons University of Mons University of Mons Mons, Belgium Mons, Belgium Mons, Belgium [email protected] [email protected] [email protected] Abstract—The open-source Linux operating system is available bug fixes and security patches. On the other hand, these through a wide variety of distributions, each containing a collec- new versions risk introducing breaking changes, new bugs, tion of installable software packages. It can be important to keep security vulnerabilities, incompatibilities or co-installability these packages as fresh as possible to benefit from new features, bug fixes and security patches. However, not all distributions issues wherein packages cannot be installed without creating place the same emphasis on package freshness. We conducted a conflicts with some other packages [3], [4]. Specifically for survey in the first half of 2020 with 170 Linux users to gauge Debian, Claes et al. estimated that the number of packages their perception of package freshness in the distributions they being incompatible with at least one other package varies employ, the value they place on package freshness and the reasons between 15% and 25% [5]. Distribution maintainers thus have why they do so, and the methods they use to update packages. The results of this survey reveal that, for the aforementioned to go through the very time-consuming process of assessing reasons, keeping packages up to date is an important concern to new package versions for these risks.
    [Show full text]
  • Adding GNU/Hurd Support to GNU Guix Porting GNU Guix to a New Platform
    Adding GNU/Hurd support to GNU Guix Porting GNU Guix to a new platform Manolis Ragkousis [email protected] FOSDEM 30 January 2016 What is distro bootstrapping? Simply speaking ➢ Bootstrapping refers to the process of getting the distribution built “from nothing”. But how does the first package gets built? How is it usually done? ➢ Distros, like Debian or Arch Linux, use whatever is already present in the system. ➢ There’s no clear notion of “bootstrap binaries”. ➢ It's hard to track down the origins of a port (and reproduce it). Bootstrapping Guix Guix relies on a clearly defined set of pre-built binaries ●Guile ●GCC ●Binutils ●Libc ●Bootstrap binaries (Bourne shell, Coreutils, Awk, Finutils, sed and grep) Bootstrapping is complete when we have a full tool chain that does not depend on the pre-built bootstrap tools Bootstrapping the toolchain Porting to a new Platform 1) Cross-build the bootstrap binaries: guix build –-target=i585-pc-gnu bootstrap-binaries 2) “Inject” the bootstrap binaries in the package DAG for that platform. (the (gnu packages bootstrap) module) 3) Build Guix on a running OS of that platform and be done!! Well it wasn't so simple.. What's special about the Hurd ● The Hurd is a collection of servers that run on top of the Mach microkernel. ● These servers implement features that are normally implemented by the kernel. ● Through glibc the same standard interfaces known from other UNIX- like systems are provided, so usually, compiling higher level programs is essentially transparent. Building the bootstrap binaries. Produce the system specific static binaries.
    [Show full text]
  • Which Linux Distribution? Difficulty in Choosing?
    Which Linux distribution? Difficulty in choosing? Ver 190916 www.ubuntutor.com Twitter @LaoYa14 Contents Page Contents 3 That's enough 4 At first 5 At first little about Linux world 6 Quick start guide for choosing the right distro for beginners 7 Basic information 8 ”Linux tree” 9 Basic information 10 Questions on the web site 11 Distros 12 App store 13 Ubuntu 16.04 and 18.04 14 Ubuntu MATE 15 Lubuntu 16 Ubuntu Budgie 17 Kubuntu 18 Xubuntu 19 Linux Mint 20 Zorin 21 MX Linux 22 Pepermint 23 Deepin 24 Arch Linux 25 Manjaro 26 Ubuntu Kylin 27 Ubuntu Studio 28 Kali Linux 29 Edubuntu 30 Desktop environments for Linux 31 File manager NEMO 32 File manager NAUTILUS 33 Installing Ubuntu live USB (test drive) That's enough When laptop is old and there is Windows XP, what to do? You can install Ubuntu Mate on your old laptop and keep at the same time Windows XP too, if you like XP. Or you can buy a tiny new laptop about 200-300 €/$ and change Windows 10 to Ubuntu. It works! I have made both about three years ago, and I haven't used Windows since then. My own laptop is cheap HP Stream 4 MB/32 GB. When I was studying Ubuntu, I noticed that simple beginner's guide books were not available. So, I did a guide book. I also created a website and named it www.ubuntutor.com. It currently includes Ubuntu 16.04 and 18.04 tutorials. And this guide is third one.
    [Show full text]
  • Sage Installation Guide Release 9.4
    Sage Installation Guide Release 9.4 The Sage Development Team Aug 24, 2021 CONTENTS 1 Linux package managers 3 2 Install from Pre-built Binaries5 2.1 Download Guide.............................................5 2.2 Linux...................................................5 2.3 macOS..................................................6 2.4 Microsoft Windows (Cygwin)......................................6 3 Install from conda-forge 7 4 Install from Source Code 9 4.1 Supported platforms...........................................9 4.2 Prerequisites............................................... 10 4.3 Additional software........................................... 18 4.4 Step-by-step installation procedure.................................... 20 4.5 Make targets............................................... 25 4.6 Environment variables.......................................... 25 4.7 Installation in a Multiuser Environment................................. 30 5 Launching SageMath 33 5.1 Using a Jupyter Notebook remotely................................... 33 5.2 WSL Post-installation steps....................................... 34 5.3 Setting up SageMath as a Jupyter kernel in an existing Jupyter notebook or JupyterLab installation.. 35 6 Troubleshooting 37 Index 39 i ii Sage Installation Guide, Release 9.4 You can install SageMath either from a package manager, a pre-built binary tarball or from its sources. Installing SageMath from your distribution package manager is the preferred and fastest solution (dependencies will be automatically taken care of and SageMath will be using your system Python). It is the case at least for the following GNU/Linux distributions: Debian version >= 9, Ubuntu version >= 18.04, Arch Linux, and NixOS. If you are in this situation, see Linux package managers. If your operating system does not provide SageMath, you can also use a pre-built binary. See the section Install from Pre-built Binaries. Or you could install the sage package from the conda-forge project.
    [Show full text]