Giter Site home page Giter Site logo

leto's Introduction

Leto

The implementation of the Leto algorithm is available in this repository.

Building With Vagrant

Using Vagrant will allow you to build Leto within a VM that contains all of the (outdated) dependencies it needs. This is the easiest way to install Leto.

Dependencies

For the Vagrant install you will need:

  • Vagrant
  • VirtualBox

Building

To build with Vagrant run vagrant up. This will generate a VM based on Debian 8 with all of the required dependencies for building and running Leto. Note that this will take a while to complete.

Running Under Vagrant

To run Leto under Vagrant, run vagrant up (if you haven't already from the build step) followed by vagrant ssh. The Leto source and benchmarks will be within the /vagrant folder. Note that this folder is shared with the host operating system, so local changes to Leto will affect the VM and vice versa. See the "Running Leto" section at the bottom of this file for how to run the system once you've sshed into the VM.

After you are done, run vagrant halt or vagrant suspend to stop the VM (see the Vagrant documentation for the difference between these two). If you want to delete everything, run vagrant destroy. vagrant up will bring the VM back up again, rebuilding if necessary (i.e., you used vagrant destroy instead of halt or suspend).

Building Leto From Scratch

Building Leto from scratch is NOT recommended. Getting the proper versions of dependencies is key as there appear to be compatibility issues between new versions of bisonc++ and clang.

Dependencies

Leto depends on the following software. It is known to work with the versions in parenthesis. With the exception of z3, these are all the current versions in the Debian Jessie package repository.

  • bisonc++ (4.09.02)
  • GNU cpp (4.9.2-10)
  • clang (3.5.0-10)
  • flexc++ (2.01.00)
  • GNU Make (4.0)
  • python3 (3.4.2)
  • z3 (4.5.0)

Compiling Leto

To build the system, run make from the src directory. If all goes well you will end up with a binary named leto in the src directory.

If the build process complains about not being able to find z3++.h be sure you installed the z3 development headers. You may have to build z3 from source to get these (the Debian package omits these headers, for example).

Running Leto

See USAGE.mkd for information on running Leto.

leto's People

Contributors

bboston7 avatar zpgong avatar

Watchers

 avatar James Cloos avatar Sahil Verma avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.