Rootcore < Atlascomputing < Twiki

Total Page:16

File Type:pdf, Size:1020Kb

Rootcore < Atlascomputing < Twiki Table of Contents RootCore.............................................................................................................................................................1 Introduction........................................................................................................................................................2 If Something Goes Wrong......................................................................................................................2 Individual Build Commands.............................................................................................................................4 Setting up RootCore................................................................................................................................4 Setting up Root on Lxplus and Tier 3 Sites......................................................................................5 Setting up RootCore on MacOS.......................................................................................................5 Compilation Commands.........................................................................................................................5 Package Management.............................................................................................................................6 Code Commit and Tag Creation.......................................................................................................8 Miscellaneous Commands......................................................................................................................8 Using RootCore................................................................................................................................................10 Enabling Cintex for Athena Releases...................................................................................................10 Linking Binaries With Your Packages.................................................................................................10 Running on the Grid.............................................................................................................................11 Submitting Multiple Datasets with the Same Tarball....................................................................11 Testing Your RootCore Installation for Grid Submission..............................................................12 Working With Releases On The Grid............................................................................................12 Using Grid Submission Scripts for Batch Submission...................................................................12 Centrally Provided Data Files...............................................................................................................13 Adapting Your Package to RootCore............................................................................................................15 Package Layout.....................................................................................................................................15 Package Makefile..................................................................................................................................16 Generating Dictionaries........................................................................................................................17 Using Reflex Dictionaries..............................................................................................................17 Compiling with -pedantic.....................................................................................................................18 Can't We Make -pedantic The Default?.........................................................................................18 Optional Dependencies.........................................................................................................................18 Dual-Use Packages...............................................................................................................................19 Using External Libraries.......................................................................................................................19 Using Boost Libraries.....................................................................................................................19 Using LHAPDF Library.................................................................................................................20 RooUnfold......................................................................................................................................20 CLHEP...........................................................................................................................................21 CMake............................................................................................................................................21 Bayesian Analysis Toolkit (BAT)..................................................................................................21 FastJet.............................................................................................................................................21 Hans Boehm Garbage Collector.....................................................................................................22 Detecting Other Packages.....................................................................................................................22 Package Auto-Configuration................................................................................................................23 Unit Tests..............................................................................................................................................24 Binary Releases................................................................................................................................................25 Other New Features..............................................................................................................................26 Determining the package name at compile time............................................................................26 Improved Unit Tests.......................................................................................................................26 Root Glue Package................................................................................................................................26 Internal Structure of the Glue Package...........................................................................................27 Downloading Calibration/Data Files....................................................................................................27 Visible Changes For Existing Users.....................................................................................................28 i Table of Contents Binary Releases Known And Anticipated Issues............................................................................................................28 Migration from RootCore to cmake...............................................................................................................30 Migrating unit tests...............................................................................................................................30 Known Issues....................................................................................................................................................31 Common Problems...............................................................................................................................31 Feature Requests...................................................................................................................................31 ii RootCore Comment: page moved from AtlasProtected to the Atlas web, other topics also will be moved. RootCore 1 Introduction RootCore is a package that helps developers build packages that work standalone (outside Athena). It works both for packages that are ROOT-only and for packages that work with both Athena and ROOT. RootCore is meant to make life easier for all parties involved: • the package developer has an easier life, because he no longer has to maintain his own makefile, • the package user has an easier life, because packages have a standard build prescription and are more likely to build without problems and • the support group has an easier life, because the build process is more standardized and problems can often be addressed centrally. The basic creation of a RootCore environment is straightforward. RootCore depends on ROOT, so ensure that ROOT is accessible: the environment variable ROOTSYS should beset, and the ROOT bin directory should be in the PATH. Suppose you have a list of all the packages that you need in the file packages.txt, then you can set up your entire RootCore environment with the following lines: mkdir packages cd packages svn co svn+ssh://svn.cern.ch/reps/atlasoff/PhysicsAnalysis/D3PDTools/RootCore/tags/`svn ls svn+ssh://svn.cern.ch/reps/atlasoff/PhysicsAnalysis/D3PDTools/RootCore/tags | tail -n 1` RootCore source RootCore/scripts/setup.sh rc checkout packages.txt rc find_packages rc compile That's it. If you want a little more control over what goes on, you will find descriptions of how to do each step that build does in the document below. Please note that you have to repeat the last command in each session you want to use RootCore and
Recommended publications
  • Extending the UHC LLVM Backend: Adding Support for Accurate Garbage Collection
    Extending the UHC LLVM backend: Adding support for accurate garbage collection Paul van der Ende MSc Thesis October 18, 2010 INF/SCR-09-59 Daily Supervisors: Center for Software Technology dr. A. Dijkstra Dept. of Information and Computing Sciences drs. J.D. Fokker Utrecht University Utrecht, the Netherlands Second Supervisor: prof. dr. S.D. Swierstra Abstract The Utrecht Haskell Compiler has an LLVM backend for whole program analyse mode. This backend pre- viously used the Boehm-Weiser library for heap allocation and conservative garbage collection. Recently an accurate garbage collector for the UHC compiler has been developed. We wanted this new garbage collection library to work with the LLVM backend. But since this new collector is accurate, it needs cooperation with the LLVM backend. Functionality needs to be added to find the set of root references and traversing all live references. To find the root set, the bytecode interpreter backend currently uses static stack maps. This is where the problem arises. The LLVM compiler is known to do various aggressive transformations. These optimizations might change the stack layout described by the static stack map. So to avoid this problem we wanted to use the shadow-stack provided by the LLVM framework. This is a dynamic structure maintained on the stack to safely find the garbage collection roots. We expect that the shadow-stack approach comes with a runtime overhead for maintaining this information dynamically on the stack. So we did measure the impact of this method. We also measured the performance improvement of the new garbage collection method used and compare it with the other UHC backends.
    [Show full text]
  • Improving Memory Management Security for C and C++
    Improving memory management security for C and C++ Yves Younan, Wouter Joosen, Frank Piessens, Hans Van den Eynden DistriNet, Katholieke Universiteit Leuven, Belgium Abstract Memory managers are an important part of any modern language: they are used to dynamically allocate memory for use in the program. Many managers exist and depending on the operating system and language. However, two major types of managers can be identified: manual memory allocators and garbage collectors. In the case of manual memory allocators, the programmer must manually release memory back to the system when it is no longer needed. Problems can occur when a programmer forgets to release it (memory leaks), releases it twice or keeps using freed memory. These problems are solved in garbage collectors. However, both manual memory allocators and garbage collectors store management information for the memory they manage. Often, this management information is stored where a buffer overflow could allow an attacker to overwrite this information, providing a reliable way to achieve code execution when exploiting these vulnerabilities. In this paper we describe several vulnerabilities for C and C++ and how these could be exploited by modifying the management information of a representative manual memory allocator and a garbage collector. Afterwards, we present an approach that, when applied to memory managers, will protect against these attack vectors. We implemented our approach by modifying an existing widely used memory allocator. Benchmarks show that this implementation has a negligible, sometimes even beneficial, impact on performance. 1 Introduction Security has become an important concern for all computer users. Worms and hackers are a part of every day internet life.
    [Show full text]
  • Evaluation of WYSIWYG Extensions for Mediawiki
    Evaluation of WYSIWYG Extensions for Mediawiki Projektpraktikum aus Projekt- und Qualitätsmanagement 188.235 (im Ausmaß von 4 SWS) Betreuer: Dipl. – Ing. Dr. Wolfgang Aigner Florian Mayrhuber [email protected] November 2007 Table of Content 1. Wikis and Mediawiki ...................................................................................................................................................... 1 2. Motivation ............................................................................................................................................................................ 1 2.1. MediaWiki Markup ................................................................................................................................................ 1 2.2. More Userfriendly Approaches ....................................................................................................................... 1 3. Objectives and Structure .............................................................................................................................................. 2 4. WYSIWYG Editors ............................................................................................................................................................ 2 4.1. FCKeditor ................................................................................................................................................................... 2 4.2. Wikiwyg .....................................................................................................................................................................
    [Show full text]
  • Project Management Software March 2019
    PROJECT MANAGEMENT SOFTWARE MARCH 2019 Powered by Methodology CONTENTS 3 Introduction 5 Defining Project Management Software 6 FrontRunners (Small Vendors) 8 FrontRunners (Enterprise Vendors) 10 Runners Up 22 Methodology Basics 2 INTRODUCTION his FrontRunners analysis minimum qualifying score of 3.96 Tis a data-driven assessment for Usability and 3.91 for User identifying products in the Project Recommended, while the Small Management software market that Vendor graphic had a minimum offer the best capability and value qualifying score of 4.55 for Usability for small businesses. For a given and 4.38 for User Recommended. market, products are evaluated and given a score for Usability (x-axis) To be considered for the Project and User Recommended (y-axis). Management FrontRunners, a FrontRunners then plots 10-15 product needed a minimum of 20 products each on a Small Vendor user reviews published within 18 and an Enterprise Vendor graphic, months of the evaluation period. based on vendor business size, per Products needed a minimum user category. rating score of 3.0 for both Usability and User Recommended in both In the Project Management the Small and Enterprise graphics. FrontRunners infographic, the Enterprise Vendor graphic had a 3 INTRODUCTION The minimum score cutoff to be included in the FrontRunners graphic varies by category, depending on the range of scores in each category. No product with a score less than 3.0 in either dimension is included in any FrontRunners graphic. For products included, the Usability and User Recommended scores determine their positions on the FrontRunners graphic. 4 DEFINING PROJECT MANAGEMENT SOFTWARE roject management software and document management, as well Phelps organizations manage as at least one of the following: time and deliver projects on time, on tracking, budgeting, and resource budget and within scope.
    [Show full text]
  • Greater Customization of Ghci Prompt
    Greater customization of GHCi prompt Author: Nikita Sazanovich Mentor: Nikita Kartashov SPb AU, spring 2016 GHC[i] The Glasgow Haskell Compiler, or simply GHC, is a state-of-the-art, open source, compiler and interactive environment for the functional language Haskell. GHCi is GHC’s interactive environment. GHC is heavily dependent on its users and contributors. GHC Ticket #5850 Most shells allow arbitrary user customization of the prompt. The bash prompt has ​ numerous escape sequences for useful information, and if those aren't enough, it allows ​arbitrary command calls. GHCi should gain similar customization abilities. Ways to implement this may include: 1. addition of more escape sequences. 2. addition of a single extra escape sequence with one parameter (an external command call). 3. redesigning the :set prompt option to take a Haskell function. Implementing the feature 1. Haskell Language. 2. Looking for inspiration: bash escape sequences. 3. Understanding the GHC codebase. 4. Refactoring the existing GHC code. 5. Writing the code: parsing the prompt, lazy evaluation, cross-platform. 6. Testing the feature locally. Details: Parsing the prompt :set prompt "%t %w: ghci> " set prompt "%t %w: ghci> " prompt "%t %w: ghci> " "%t %w: ghci> " %t %w: ghci> q%w: ghci> %w: ghci> : ghci> qghci> ... Details: Lazy evaluation Eager evaluation. :set prompt "%t %w: ghci> " READ AND STORE IN PROMPT_STRING IF NEED_TO_PRINT_PROMPT THEN PARSE_AND_PRINT PROMPT_STRING Lazy evaluation. :set prompt "%t %w: ghci> " CREATE_FUNC MAKE_PROMPT = CURRENT_TIME + " " + CURRENT_DIRECTORY + ": ghci> " IF NEED_TO_PRINT_PROMPT THEN PRINT MAKE_PROMPT Details: Cross-platform getUserName :: IO String getUserName = do #ifdef mingw32_HOST_OS getEnv "USERNAME" `catchIO` \e -> do putStrLn $ show e return "" #else getLoginName #endif Contributing the patch to GHC ● Communicating with GHC developers.
    [Show full text]
  • Atlassian Is Primed to Widen Its Appeal Beyond IT
    Seth Agulnick, [email protected] REPORT Atlassian Is Primed to Widen Its Appeal Beyond IT Companies: CA, CRM, GOOG/GOOGL, HPE, IBM, JIVE, MSFT, NOW, ORCL, TEAM, ZEN February 11, 2016 Report Type: Initial Coverage ☐ Previously Covered Full Report ☐ Update Report Research Question: Will Atlassian’s workflow tools continue to grow quickly with software development teams while also expanding into new use cases? Summary of Findings Silo Summaries . Atlassian Corp. Plc’s (TEAM) tracking and collaboration tools, widely 1) Atlassian Software Users considered the best-in-class for software development, are gaining JIRA and Confluence are both effective tools for team traction among nontechnical teams. collaboration. JIRA can be customized to suit nearly any team’s development process, though setup is . The company’s two flagship products, JIRA and Confluence, are complicated. Confluence is much easier to use and slowly being rolled out in departments like human resources, sales, tends to be deployed more widely. Atlassian’s biggest customer support and product management. These represent a advantage is the way all of its software pieces work together. Atlassian products—which already are being much larger market than Atlassian’s traditional core in IT. branched out beyond software development—can grow . JIRA was praised for its flexibility and advanced customization even further with business teams. options, though the latter trait makes setup and maintenance a challenge. It has great potential for sales growth with any business 2) Users of Competing Software Three of these five sources said Atlassian’s JIRA is not team that needs to track numerous tasks through a multistage the right fit for every company.
    [Show full text]
  • Comparative Studies of Programming Languages; Course Lecture Notes
    Comparative Studies of Programming Languages, COMP6411 Lecture Notes, Revision 1.9 Joey Paquet Serguei A. Mokhov (Eds.) August 5, 2010 arXiv:1007.2123v6 [cs.PL] 4 Aug 2010 2 Preface Lecture notes for the Comparative Studies of Programming Languages course, COMP6411, taught at the Department of Computer Science and Software Engineering, Faculty of Engineering and Computer Science, Concordia University, Montreal, QC, Canada. These notes include a compiled book of primarily related articles from the Wikipedia, the Free Encyclopedia [24], as well as Comparative Programming Languages book [7] and other resources, including our own. The original notes were compiled by Dr. Paquet [14] 3 4 Contents 1 Brief History and Genealogy of Programming Languages 7 1.1 Introduction . 7 1.1.1 Subreferences . 7 1.2 History . 7 1.2.1 Pre-computer era . 7 1.2.2 Subreferences . 8 1.2.3 Early computer era . 8 1.2.4 Subreferences . 8 1.2.5 Modern/Structured programming languages . 9 1.3 References . 19 2 Programming Paradigms 21 2.1 Introduction . 21 2.2 History . 21 2.2.1 Low-level: binary, assembly . 21 2.2.2 Procedural programming . 22 2.2.3 Object-oriented programming . 23 2.2.4 Declarative programming . 27 3 Program Evaluation 33 3.1 Program analysis and translation phases . 33 3.1.1 Front end . 33 3.1.2 Back end . 34 3.2 Compilation vs. interpretation . 34 3.2.1 Compilation . 34 3.2.2 Interpretation . 36 3.2.3 Subreferences . 37 3.3 Type System . 38 3.3.1 Type checking . 38 3.4 Memory management .
    [Show full text]
  • Full Stack Developer / Architect London £470/Day Years of Experience: 17+ Latest Contract: Senior Full-Stack Developer, Leading Social Media App
    Full Stack Developer / Architect London £470/day Years of experience: 17+ Latest contract: Senior Full-stack Developer, Leading Social Media App. For the past 17 years, gaining exposure to cutting edge technologies and applying them to creative ends has been my passion. From the early Web to contemporary Interactive / New Media, I have been following a path which has brought more ambitious & challenging projects each time. Working with content from Film, TV, Visual Effects &Journalism and applying such as multi-platform storytelling, machine learning, gamification & altered reality, I have been involved in creating interactive experiences which entertain, inform & inspire. I am actively seeking projects which allow me to continue to expand my knowledge of cutting-edge technology and surpass past challenges in terms of creativity, scale and impact. Expertise - Interaction design, Full-Stack Application Architecture, Object Oriented Design Patterns, Relational Data Modelling, Proprietary Scripting Languages, Automation, Microservices - Natural Language Processing, Semantic Neural Networks & the employment of Ontologies (in particular SUMO) for Machine Learning - Development of proprietary suites of Tools & Frameworks for RAD in particular dealing with Abstract Data Types, Game-state Management, Multilingual Data, REST/API interactions, Content Creation, Editing & Delivery - R&D and Rapid Prototyping, Concept Development, Technical Writing for R&D credits, Project Specification - Project Management, Roll Out, Development Team Management,
    [Show full text]
  • Guide to Open Source Solutions
    White paper ___________________________ Guide to open source solutions “Guide to open source by Smile ” Page 2 PREAMBLE SMILE Smile is a company of engineers specialising in the implementing of open source solutions OM and the integrating of systems relying on open source. Smile is member of APRIL, the C . association for the promotion and defence of free software, Alliance Libre, PLOSS, and PLOSS RA, which are regional cluster associations of free software companies. OSS Smile has 600 throughout the World which makes it the largest company in Europe - specialising in open source. Since approximately 2000, Smile has been actively supervising developments in technology which enables it to discover the most promising open source products, to qualify and assess them so as to offer its clients the most accomplished, robust and sustainable products. SMILE . This approach has led to a range of white papers covering various fields of application: Content management (2004), portals (2005), business intelligence (2006), PHP frameworks (2007), virtualisation (2007), and electronic document management (2008), as well as PGIs/ERPs (2008). Among the works published in 2009, we would also cite “open source VPN’s”, “Firewall open source flow control”, and “Middleware”, within the framework of the WWW “System and Infrastructure” collection. Each of these works presents a selection of best open source solutions for the domain in question, their respective qualities as well as operational feedback. As open source solutions continue to acquire new domains, Smile will be there to help its clients benefit from these in a risk-free way. Smile is present in the European IT landscape as the integration architect of choice to support the largest companies in the adoption of the best open source solutions.
    [Show full text]
  • WHY USE a WIKI? an Introduction to the Latest Online Publishing Format
    WHY USE A WIKI? An Introduction to the Latest Online Publishing Format A WebWorks.com White Paper Author: Alan J. Porter VP-Operations WebWorks.com a brand of Quadralay Corporation [email protected] WW_WP0309_WIKIpub © 2009 – Quadralay Corporation. All rights reserved. NOTE: Please feel free to redistribute this white paper to anyone you feel may benefit. If you would like an electronic copy for distribution, just send an e-mail to [email protected] CONTENTS Overview................................................................................................................................ 2 What is a Wiki? ...................................................................................................................... 2 Open Editing = Collaborative Authoring .................................................................................. 3 Wikis in More Detail................................................................................................................ 3 Wikis Are Everywhere ............................................................................................................ 4 Why Use a Wiki...................................................................................................................... 5 Getting People to Use Wikis ................................................................................................... 8 Populating the Wiki................................................................................................................. 9 WebWorks ePublisher and Wikis
    [Show full text]
  • E-BUG TRACKING SYSTEM GUIDE: Mrs
    E-BUG TRACKING SYSTEM GUIDE: Mrs. Sathya Priya R1 R.B. Babu2, R. Marimuthu3, G. Gowtham4, V. Prakash5 1Assistant Professor, KSR Institute for Engineering and Technology, Tiruchengode. 2,3,4,5Department of Computer Science And Engineering, KSR Institute for Engineering and Technology, Tiruchengode. ABSTRACT This is the world of information. The ever-growing field Information Technology has its many advanced notable features which made it what it was now today. In this world, the information has to be processed, clearly distributed and must be efficiently reachable to the end users intended for that. Otherwise, we know it led to disastrous situations. The other coin of the same phase is it is absolutely necessary to know any bugs that are hither-to face by the end users. The project “e-bug tracking system” aims to provide the solution for that. The Bug Tracker can be made from any two types. The first one being the system side, the other being the services side. Our project deals with the second one. The paper is wholly dedicated to tracking the bugs that are hither- by arise. The administrator maintains the master details regarding to the bugs id, bugs type, bugs description, bugs severity, bugs status, user details. The administrator too has the authority to update the master details of severity level, status level, etc, modules of the paper. The administrator adds the users and assign them responsibility of completing the paper. Finally, on analysing the paper assigned to the particular user, the administrator can track the bugs, and it is automatically added to the tables containing the bugs, by order of severity and status.
    [Show full text]
  • Awesome Selfhosted - Software Development - Project Management
    Awesome Selfhosted - Software Development - Project Management Software Development - Project Management See also: awesome-sysadmin/Code Review Bonobo Git Server - Set up your own self hosted git server on IIS for Windows. Manage users and have full control over your repositories with a nice user friendly graphical interface. ( Source Code) MIT C# Fossil - Distributed version control system featuring wiki and bug tracker. BSD-2-Clause- FreeBSD C Goodwork - Self hosted project management and collaboration tool powered by Laravel & VueJS. (Demo, Source Code) MIT PHP Gitblit - Pure Java stack for managing, viewing, and serving Git repositories. (Source Code) Apache-2.0 Java gitbucket - Easily installable GitHub clone powered by Scala. (Source Code) Apache-2.0 Scala/Java Gitea - Community managed fork of Gogs, lightweight code hosting solution. (Demo, Source Code) MIT Go GitLab - Self Hosted Git repository management, code reviews, issue tracking, activity feeds and wikis. (Demo, Source Code) MIT Ruby Gitlist - Web-based git repository browser - GitList allows you to browse repositories using your favorite browser, viewing files under different revisions, commit history and diffs. ( Source Code) BSD-3-Clause PHP Gitolite - Gitolite allows you to setup git hosting on a central server, with fine-grained access control and many more powerful features. (Source Code) GPL-2.0 Perl GitPrep - Portable Github clone. (Demo, Source Code) Artistic-2.0 Perl Git WebUI - Standalone web based user interface for git repositories. Apache-2.0 Python Gogs - Painless self-hosted Git Service written in Go. (Demo, Source Code) MIT Go Kallithea - Source code management system that supports two leading version control systems, Mercurial and Git, with a web interface.
    [Show full text]