A Lightweight Kernel for the Harness Metacomputing Framework ∗

Total Page:16

File Type:pdf, Size:1020Kb

A Lightweight Kernel for the Harness Metacomputing Framework ∗ A Lightweight Kernel for the Harness Metacomputing Framework ∗ C. Engelmann and G. A. Geist Computer Science and Mathematics Division Oak Ridge National Laboratory, Oak Ridge, TN 37831, USA fengelmannc,[email protected] http://www.csm.ornl.gov Abstract cations from software modules, parallel plug-in paradigms, highly available DVMs, fault-tolerant message pass- Harness is a pluggable heterogeneous Distributed Vir- ing, fine-grain security mechanisms and heterogeneous tual Machine (DVM) environment for parallel and dis- reconfigurable communication frameworks. tributed scientific computing. This paper describes recent Currently, there are three different Harness system proto- improvements in the Harness kernel design. By using a types, each concentrating on different research issues. The lightweight approach and moving previously integrated sys- teams at Oak Ridge National Laboratory [3, 5, 12] and at the tem services into software modules, the software becomes University of Tennessee [6, 7, 13] provide different C vari- more versatile and adaptable. This paper outlines these ants, while the team at Emory University [11, 14, 15, 18] changes and explains the major Harness kernel components maintains a Java-based alternative. in more detail. A short overview is given of ongoing ef- Conceptually, the Harness software architecture consists forts in integrating RMIX, a dynamic heterogeneous recon- of two major parts: a runtime environment (kernel) and a figurable communication framework, into the Harness en- set of plug-in software modules. The multi-threaded user- vironment as a new plug-in software module. We describe space kernel manages the set of dynamically loadable plug- the overall impact of these changes and how they relate to ins. While the kernel provides only basic functions, plug- other ongoing work. ins may provide a wide variety of services needed in fault- tolerant parallel and distributed scientific computing, such as messaging, scientific algorithms and resource manage- 1. Introduction ment. Multiple kernels can be aggregated into a Distributed Virtual Machine. The heterogeneous adaptable reconfigurable networked This paper describes recent improvements in the kernel systems (Harness [9]) research project is an ongoing col- design, which significantly enhance versatility and adapt- laborative effort among Oak Ridge National Laboratory, ability by introducing a lightweight design approach. First, The University of Tennessee, Knoxville, and Emory Uni- we outline the changes in the design and then explain the versity. It focuses on the design and development of a plug- major kernel components in more detail. We continue with gable lightweight heterogeneous Distributed Virtual Ma- a short overview of recent efforts in integrating RMIX, a dy- chine (DVM) environment, where clusters of PCs, work- namic heterogeneous reconfigurable communication frame- stations, and “big iron” supercomputers can be aggregated work, into the Harness environment. We describe the over- to form one giant DVM (in the spirit of its widely-used pre- all impact of these changes and how they relate to other on- decessor, “Parallel Virtual Machine” (PVM) [10]). going work. This paper concludes with a brief summary of As part of the Harness project, a variety of experi- the presented research. ments and system prototypes were developed to explore lightweight pluggable frameworks, adaptive reconfig- 2. Kernel Architecture urable runtime environments, assembly of scientific appli- Earlier designs of a multi-threaded kernel [3] for Har- ∗ This research is sponsored by the Mathematical, Information, and ness were derived from an integrated approach similar to Computational Sciences Division; Of®ce of Advanced Scienti®c Computing Research; U.S. Department of Energy. The work was per- PVM [10], since the Harness software was initially devel- formed at the Oak Ridge National Laboratory, which is managed by oped as a follow-on to PVM, based on the distributed vir- UT-Battelle, LLC under Contract No. De-AC05-00OR22725. tual machine (DVM) model. Other User Application Harness Harness Proxy Daemons Communicator Plug-In Plug-In A Plug-In B (HCom) Identity Plug-Ins Invocation Database Groups Control Msg Creation Send/Receive Msg Types HCore API HMsg API Message Handler (HMsg) Controller (HCtl) (Local HCore Functionality) Identity Plug-Ins Invocation Database Groups Figure 1. Previous Kernel Design Figure 3. Harness Architecture between kernels, and to control the DVM. Recent improve- ments in the design (Figure 2) are based on a lightweight ap- proach. By moving previously integrated services into plug- ins, the kernel becomes more versatile and adaptable. The new design features a lightweight kernel with plug- in, thread and process management only. All other basic components, such as communication, distributed control and event notification, are moved into plug-ins in order to make them reconfigurable and exchangeable at runtime. The kernel provides a container for the user to load and ar- range all software components based on actual needs, with- Figure 2. New Lightweight Kernel Design out any preconditions imposed by the managing framework (Figure 3). The user can choose the programming model (peer-to-peer, client/server, PVM, MPI, Harness DVM) by In PVM, every node runs a local virtual machine and the loading the appropriate plug-in(s). overall set of virtual machines is controlled by a single mas- The kernel itself may run as a daemon process and ac- ter. This master is a single point of control and failure. In the cepts various command line and configuration file options, DVM model, all nodes form together a distributed virtual such as loading default plug-ins and spawning certain pro- machine, which they equally control in virtual synchrony. grams on startup, for bootstrapping with an initial set of ser- Symmetric state replication among all nodes, or a subset, vices. A debug variant with more extensive error logging assures high availability. Since there is no single point of and memory tracing is also provided using the ‘.debug’ ex- control or failure, the DVM survives as long as at least one tension or “–debug” command line flag. node is still alive. The original Harness kernel design (Figure 1) featured In the following sections, we describe the three major all components needed to manage plug-ins and external pro- kernel components (process manager, thread pool and plug- cesses, to send messages between components inside and in loader) in more detail. 2.1. Process Manager 2.3. Plug-in Loader Harness is a pluggable multi-threaded environment. The plug-in loader handles loading and unloading of run- However, in heterogeneous distributed scientific comput- time plug-ins, which exist in the form of shared libraries. ing scenarios it is sometimes necessary to fork a child Such plug-ins are automatically unloaded on kernel shut- process and execute a different program, e.g. for remote lo- down. Plug-ins may load and unload other plug-ins on de- gins using the ssh program. The process manager allows mand. Only plug-in modules that reside in a specific pre- just that. In addition, it also provides access to the stan- set plug-in directory, or in a respective sub-directory, may dard input and output channels of spawned programs, be loaded. The kernel itself may load plug-ins on startup, in allowing plug-ins to initiate and control them. a separate thread that applies command line options. Every plug-in has the opportunity to initialize itself dur- Only programs that reside in a specific preset program ing loading and to finalize itself during unloading via directory, or in a respective sub-directory, may be executed. <plug-in name> init() and <plug-in name> fini() func- Links to system programs, such as ssh, may be created by tions that are automatically resolved and called by the the system administrator. plug-in loader if they exist. Plug-ins are able to load and Forking a process in a multi-threaded environment is unload other plug-ins they depend on during initializa- not very well defined. On startup, the Harness kernel im- tion and finalization, since the plug-in loading and unload- mediately creates a separate process that is responsible for ing functions are reentrant and deadlock free. launching child processes and relaying standard input and A plug-in (shared library) is loaded by the plug-in loader output between spawned programs and the kernel. This via dlopen() without exporting any of its symbols (functions avoids any problems associated with duplicating threads and data) to the global name space of the kernel. Plug-in and file descriptors in the kernel. symbols are not made automatically available to the kernel or to other plug-ins, to prevent naming conflicts and to al- low multiple plug-ins to offer the same interface with differ- 2.2. Thread Pool ent implementations. In fact, only the module (kernel or an- other plug-in) that loads a plug-in may have access to it us- ing a unique and private handle. Due to the potentially unpredictable runtime configura- The plug-in loading and unloading policy is based on tion of the Harness environment, certain issues regarding ownership. A module that loads a specific plug-in owns it thread creation, termination and synchronization need to be and is also responsible for unloading it. The ownership of addressed. They range from dealing with the limited num- orphaned plug-ins is automatically transferred to the kernel. ber of threads controllable by a single process to stalling the They are unloaded on kernel shutdown. The plug-in loader system by using too many simultaneous threads. The thread supports multiple loading to allow different modules to load pool allows the execution of jobs in threads, while staying the same plug-in. Plug-ins that maintain state may use ref- in a preset range of running threads utilizing a job queue. erence counting and separate state instances to support mul- Jobs are submitted to the thread pool in the form of a tiple loading.
Recommended publications
  • Program Library HOWTO David A
    Program Library HOWTO David A. Wheeler version 1.36, 15 May 2010 This HOWTO for programmers discusses how to create and use program libraries on Linux. This includes static libraries, shared libraries, and dynamically loaded libraries. Table of Contents Introduction...........................................................................................................................3 Static Libraries.......................................................................................................................3 Shared Libraries....................................................................................................................4 Dynamically Loaded (DL) Libraries...............................................................................11 Miscellaneous......................................................................................................................14 More Examples....................................................................................................................18 Other Information Sources...............................................................................................22 Copyright and License.......................................................................................................23 Introduction This HOWTO for programmers discusses how to create and use program libraries on Linux using the GNU toolset. A “program library” is simply a file containing com- piled code (and data) that is to be incorporated later into a program; program libraries allow
    [Show full text]
  • GNU Astronomy Utilities
    GNU Astronomy Utilities Astronomical data manipulation and analysis programs and libraries for version 0.15.58-2b10e, 23 September 2021 Mohammad Akhlaghi Gnuastro (source code, book and web page) authors (sorted by number of commits): Mohammad Akhlaghi ([email protected], 1812) Pedram Ashofteh Ardakani ([email protected], 54) Raul Infante-Sainz ([email protected], 34) Mos`eGiordano ([email protected], 29) Vladimir Markelov ([email protected], 18) Sachin Kumar Singh ([email protected], 13) Zahra Sharbaf ([email protected], 12) Nat´aliD. Anzanello ([email protected], 8) Boud Roukema ([email protected], 7) Carlos Morales-Socorro ([email protected], 3) Th´er`eseGodefroy ([email protected], 3) Joseph Putko ([email protected], 2) Samane Raji ([email protected], 2) Alexey Dokuchaev ([email protected], 1) Andreas Stieger ([email protected], 1) Fran¸coisOchsenbein ([email protected], 1) Kartik Ohri ([email protected], 1) Leindert Boogaard ([email protected], 1) Lucas MacQuarrie ([email protected], 1) Madhav Bansal ([email protected], 1) Miguel de Val-Borro ([email protected], 1) Sepideh Eskandarlou ([email protected], 1) This book documents version 0.15.58-2b10e of the GNU Astronomy Utilities (Gnuastro). Gnuastro provides various programs and libraries for astronomical data manipulation and analysis. Copyright c 2015-2021, Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
    [Show full text]
  • GNU MP the GNU Multiple Precision Arithmetic Library Edition 6.2.1 14 November 2020
    GNU MP The GNU Multiple Precision Arithmetic Library Edition 6.2.1 14 November 2020 by Torbj¨ornGranlund and the GMP development team This manual describes how to install and use the GNU multiple precision arithmetic library, version 6.2.1. Copyright 1991, 1993-2016, 2018-2020 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being \A GNU Manual", and with the Back-Cover Texts being \You have freedom to copy and modify this GNU Manual, like GNU software". A copy of the license is included in Appendix C [GNU Free Documentation License], page 132. i Table of Contents GNU MP Copying Conditions :::::::::::::::::::::::::::::::::::: 1 1 Introduction to GNU MP ::::::::::::::::::::::::::::::::::::: 2 1.1 How to use this Manual :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 2 2 Installing GMP ::::::::::::::::::::::::::::::::::::::::::::::::: 3 2.1 Build Options:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 3 2.2 ABI and ISA :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 8 2.3 Notes for Package Builds:::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 11 2.4 Notes for Particular Systems :::::::::::::::::::::::::::::::::::::::::::::::::::::: 12 2.5 Known Build Problems ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 14 2.6 Performance
    [Show full text]
  • Linux: Come E Perchх
    ÄÒÙÜ Ô ©2007 mcz 12 luglio 2008 ½º I 1. Indice II ½º Á ¾º ¿º ÈÖÞÓÒ ½ º È ÄÒÙÜ ¿ º ÔÔÖÓÓÒÑÒØÓ º ÖÒÞ ×Ó×ØÒÞÐ ÏÒÓÛ× ¾½ º ÄÒÙÜ ÕÙÐ ×ØÖÙÞÓÒ ¾ º ÄÒÙÜ ÀÖÛÖ ×ÙÔÔ ÓÖØØÓ ¾ º È Ð ÖÒÞ ØÖ ÖÓ ÓØ Ù×Ö ¿½ ½¼º ÄÒÙÜ × Ò×ØÐÐ ¿¿ ½½º ÓÑ × Ò×ØÐÐÒÓ ÔÖÓÖÑÑ ¿ ½¾º ÒÓÒ ØÖÓÚÓ ÒÐ ×ØÓ ÐÐ ×ØÖÙÞÓÒ ¿ ½¿º Ó׳ ÙÒÓ ¿ ½º ÓÑ × Ð ××ØÑ ½º ÓÑ Ð ½º Ð× Ñ ½º Ð Ñ ØÐ ¿ ½º ÐÓ ½º ÓÑ × Ò×ØÐÐ Ð ×ØÑÔÒØ ¾¼º ÓÑ ÐØØÖ¸ Ø×Ø ÐÖ III Indice ¾½º ÓÑ ÚÖ Ð ØÐÚ×ÓÒ ¿ 21.1. Televisioneanalogica . 63 21.2. Televisione digitale (terrestre o satellitare) . ....... 64 ¾¾º ÐÑØ ¾¿º Ä 23.1. Fotoritocco ............................. 67 23.2. Grafica3D.............................. 67 23.3. Disegnovettoriale-CAD . 69 23.4.Filtricoloreecalibrazionecolori . .. 69 ¾º ×ÖÚ Ð ½ 24.1.Vari.................................. 72 24.2. Navigazionedirectoriesefiles . 73 24.3. CopiaCD .............................. 74 24.4. Editaretesto............................. 74 24.5.RPM ................................. 75 ¾º ×ÑÔ Ô ´ËÐе 25.1.Montareundiscoounapenna . 77 25.2. Trovareunfilenelsistema . 79 25.3.Vedereilcontenutodiunfile . 79 25.4.Alias ................................. 80 ¾º × ÚÓÐ×× ÔÖÓÖÑÑÖ ½ ¾º ÖÓÛ×Ö¸ ÑÐ ººº ¿ ¾º ÖÛÐРгÒØÚÖÙ× Ð ÑØØÑÓ ¾º ÄÒÙÜ ½ ¿¼º ÓÑ ØÖÓÚÖ ÙØÓ ÖÖÑÒØ ¿ ¿½º Ð Ø×ØÙÐ Ô Ö Ð ×ØÓÔ ÄÒÙÜ ¿¾º ´ÃµÍÙÒØÙ¸ ÙÒ ×ØÖÙÞÓÒ ÑÓÐØÓ ÑØ ¿¿º ËÙÜ ÙÒ³ÓØØÑ ×ØÖÙÞÓÒ ÄÒÙÜ ½¼½ ¿º Á Ó Ò ÄÒÙÜ ½¼ ¿º ÃÓÒÕÙÖÓÖ¸ ÕÙ×ØÓ ½¼ ¿º ÃÓÒÕÙÖÓÖ¸ Ñ ØÒØÓ Ô Ö ½½¿ 36.1.Unaprimaocchiata . .114 36.2.ImenudiKonqueror . .115 36.3.Configurazione . .116 IV Indice 36.4.Alcuniesempidiviste . 116 36.5.Iservizidimenu(ServiceMenu) . 119 ¿º ÃÓÒÕÙÖÓÖ Ø ½¾¿ ¿º à ÙÒ ÖÖÒØ ½¾ ¿º à ÙÒ ÐÙ×ÓÒ ½¿½ ¼º ÓÒÖÓÒØÓ Ò×ØÐÐÞÓÒ ÏÒÓÛ×È ÃÍÙÒØÙ º½¼ ½¿¿ 40.1.
    [Show full text]
  • GNU MP the GNU Multiple Precision Arithmetic Library Edition 6.0.0 25 March 2014
    GNU MP The GNU Multiple Precision Arithmetic Library Edition 6.0.0 25 March 2014 by Torbj¨orn Granlund and the GMP development team This manual describes how to install and use the GNU multiple precision arithmetic library, version 6.0.0. Copyright 1991, 1993-2014 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being “A GNU Manual”, and with the Back-Cover Texts being “You have freedom to copy and modify this GNU Manual, like GNU software”. A copy of the license is included in Appendix C [GNU Free Documentation License], page 127. i Table of Contents GNU MP Copying Conditions ................................... 1 1 Introduction to GNU MP .................................... 2 1.1 How to use this Manual ........................................................... 2 2 Installing GMP ................................................ 3 2.1 Build Options ..................................................................... 3 2.2 ABI and ISA ...................................................................... 8 2.3 Notes for Package Builds ......................................................... 11 2.4 Notes for Particular Systems ..................................................... 12 2.5 Known Build Problems ........................................................... 14 2.6 Performance optimization .......................................................
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • GNU Astronomy Utilities
    GNU Astronomy Utilities Astronomical data manipulation and analysis programs and libraries for version 0.7, 8 August 2018 Mohammad Akhlaghi Gnuastro (source code, book and webpage) authors (sorted by number of commits): Mohammad Akhlaghi ([email protected], 1101) Mos`eGiordano ([email protected], 29) Vladimir Markelov ([email protected], 18) Boud Roukema ([email protected], 7) Leindert Boogaard ([email protected], 1) Lucas MacQuarrie ([email protected], 1) Th´er`eseGodefroy ([email protected], 1) This book documents version 0.7 of the GNU Astronomy Utilities (Gnuastro). Gnuastro provides various programs and libraries for astronomical data manipulation and analysis. Copyright c 2015-2018 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled \GNU Free Documentation License". For myself, I am interested in science and in philosophy only because I want to learn something about the riddle of the world in which we live, and the riddle of man's knowledge of that world. And I believe that only a revival of interest in these riddles can save the sciences and philosophy from narrow specialization and from an obscurantist faith in the expert's special skill, and in his personal knowledge and authority; a faith that so well fits our `post-rationalist' and `post- critical' age, proudly dedicated to the destruction of the tradition of rational philosophy, and of rational thought itself.
    [Show full text]
  • R Installation and Administration Version 1.7.0 (2003-04-16)
    R Installation and Administration Version 1.7.0 (2003-04-16) R Development Core Team Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the con- ditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another lan- guage, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the R Development Core Team. Copyright c 2001–2002 R Development Core Team ISBN 3-901167-52-8 i Table of Contents 1 Obtaining R ............................... 1 1.1 Getting and unpacking the sources ....................... 1 1.2 Using rsync ............................................. 1 2 Installing R under Unix .................... 2 2.1 Simple compilation ...................................... 2 2.2 Making the manuals ..................................... 3 2.3 Installation ............................................. 3 3 Installing R under Windows ................ 5 3.1 Building from source .................................... 5 4 Installing R on Classic MacOS .............. 6 5 Add-on packages ........................... 7 5.1 Installing packages ...................................... 7 5.2 Updating packages .....................................
    [Show full text]
  • The GNU Configure and Build System
    The GNU configure and build system Ian Lance Taylor Copyright c 1998 Cygnus Solutions Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the con- ditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another lan- guage, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation. Chapter 1: Introduction 1 1 Introduction This document describes the GNU configure and build systems. It describes how autoconf, automake, libtool, and make fit together. It also includes a discussion of the older Cygnus configure system. This document does not describe in detail how to use each of the tools; see the respective manuals for that. Instead, it describes which files the developer must write, which files are machine generated and how they are generated, and where certain common problems should be addressed. This document draws on several sources, including the autoconf manual by David MacKenzie (see section “autoconf overview” in Autoconf ), the automake manual by David MacKenzie and Tom Tromey (see section “automake overview” in GNU Automake), the libtool manual by Gordon Matzigkeit (see section “libtool overview” in GNU libtool), and the Cygnus configure manual by K. Richard Pixley. 1.1 Goals The GNU configure and build system has two main goals.
    [Show full text]
  • R Installation and Administration Version 4.2.0 Under Development (2021-09-29)
    R Installation and Administration Version 4.2.0 Under development (2021-09-29) R Core Team This manual is for R, version 4.2.0 Under development (2021-09-29). Copyright c 2001{2021 R Core Team Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into an- other language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the R Core Team. i Table of Contents 1 Obtaining R :::::::::::::::::::::::::::::::::::::::::::::::::::: 1 1.1 Getting and unpacking the sources ::::::::::::::::::::::::::::::::::::::::::::::::: 1 1.2 Getting patched and development versions ::::::::::::::::::::::::::::::::::::::::: 1 1.2.1 Using Subversion and rsync ::::::::::::::::::::::::::::::::::::::::::::::::::: 1 2 Installing R under Unix-alikes :::::::::::::::::::::::::::::::: 3 2.1 Simple compilation :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 3 2.2 Help options ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 4 2.3 Making the manuals ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 5 2.4 Installation ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    [Show full text]
  • GNU Automake for Version 1.7.8, 7 September 2003
    GNU Automake For version 1.7.8, 7 September 2003 David MacKenzie and Tom Tromey Copyright °c 1995, 1996, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. This is the first edition of the GNU Automake documentation, and is consistent with GNU Automake 1.7.8. Published by the Free Software Foundation 59 Temple Place - Suite 330, Boston, MA 02111-1307 USA Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the con- ditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into another lan- guage, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation. Chapter 2: General ideas 1 1 Introduction Automake is a tool for automatically generating ‘Makefile.in’s from files called ‘Makefile.am’. Each ‘Makefile.am’ is basically a series of make variable definitions1, with rules being thrown in occasionally. The generated ‘Makefile.in’s are compliant with the GNU Makefile standards. The GNU Makefile Standards Document (see section “Makefile Conventions” in The GNU Coding Standards) is long, complicated, and subject to change. The goal of Automake is to remove the burden of Makefile maintenance from the back of the individual GNU maintainer (and put it on the back of the Automake maintainer).
    [Show full text]
  • [Ubuntu BOSH Releases: 1] Components
    Copyright ©2017 Black Duck Software, Inc. [Ubuntu BOSH releases: 1] Components Applicable License(s) ACL 2.2.52 GNU Lesser General Public License v2.1 or later Advanced Linux Sound GNU General Public License v2.0 or later Architecture (ALSA) 1.0.27.2 ATK - Accessibility Toolkit GNU Lesser General Public License v2.1 or 2.10.0 later avahi 0.6.31 GNU Lesser General Public License v2.1 or later c-ares 1.10.0 MIT License ca-certificates-java GNU General Public License v2.0 or later 20130815ubuntu1 Cairo-Pixman 0.30.2 MIT License Cairo-Pixman (GNU Lesser General Public License v2.1 or 1.13.0~20140204 later OR Mozilla Public License 1.1) colord 1.0.6 GNU General Public License v2.0 or later Common Unix Printing System (GNU General Public License v2.0 or later (CUPS) 1.7.2 AND GNU Library General Public License v2 or later) cracklib2 2.9.1 GNU Lesser General Public License v2.1 or later Cyrus SASL 2.1.25.dfsg1 BSD 4-clause "Original" or "Old" License D-Bus 1.6.18 (GNU General Public License v2.0 or later AND Academic Free License v2.1) dconf 0.20.0 (GNU Lesser General Public License v2.1 or later AND GNU General Public License v3.0 or later) DejaVu fonts 2.34 Public Domain desktop-file-utils 0.22 GNU General Public License v2.0 or later dosfstools 3.0.26 GNU General Public License v3.0 or later elfutils 0.158 GNU General Public License v3.0 or later AND (GNU General Public License v2.0 or later OR GNU Lesser General Public License v3.0 or later)) FLAC - Free Lossless Audio (BSD 3-clause "New" or "Revised" License Codec 1.3.0 OR GNU Lesser General
    [Show full text]