Giter VIP home page Giter VIP logo

sreach's Introduction

Ubuntu OS X Coverage Builds/UnitTests Coverity Scan
Coverity Scan Build Status

dReal: An SMT Solver for Nonlinear Theories of the Reals

Please visit http://dreal.cs.cmu.edu for more information.

Download

Please check out our releases page to download latest static binaries.

How to Build

In most cases, running ./build.sh in the top dReal directory should suffice. If not, see below.

Required Packages

Documentations

sreach's People

Contributors

maxvonhippel avatar rachelwang avatar smc4wm avatar soonho-tri avatar soonhokong avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

sreach's Issues

possible bug?

Could you check the following compiler warnings? It might indicate real bugs.

Arif asked me to check how to install SReach on Gauss machine, so I gave a shot and found those messages.

/usr0/home/soonhok/work/sreach/src/statSMT_para.cpp: In member function ‘virtual void Lai::doTest(long unsigned int, long unsigned int)’:
/usr0/home/soonhok/work/sreach/src/statSMT_para.cpp:452:5: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
     else  w = 1/t; g = 0.5*(2*log(w) + log(log(w)) - log(4*pi) - 3*exp(-0.016*sqrt(w)));
     ^~~~
/usr0/home/soonhok/work/sreach/src/statSMT_para.cpp:452:20: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘else’
     else  w = 1/t; g = 0.5*(2*log(w) + log(log(w)) - log(4*pi) - 3*exp(-0.016*sqrt(w)));
                    ^
/usr0/home/soonhok/work/sreach/src/statSMT_sq.cpp: In member function ‘virtual void Lai::doTest(long unsigned int, long unsigned int)’:
/usr0/home/soonhok/work/sreach/src/statSMT_sq.cpp:448:5: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
     else  w = 1/t; g = 0.5*(2*log(w) + log(log(w)) - log(4*pi) - 3*exp(-0.016*sqrt(w)));
     ^~~~
/usr0/home/soonhok/work/sreach/src/statSMT_sq.cpp:448:20: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘else’
     else  w = 1/t; g = 0.5*(2*log(w) + log(log(w)) - log(4*pi) - 3*exp(-0.016*sqrt(w)));

`sh: 1: dreach: not found` errors

I've installed dreal3 using the instructions here.

(env) mvh:release$ sudo ctest
Test project /home/mvh/tools/dreal/build/release
          Start    1: style_check
   1/3010 Test    #1: style_check ........................................................   Passed    4.61 sec
          Start    2: test_adept
   2/3010 Test    #2: test_adept .........................................................   Passed    0.00 sec
          Start    3: c_api_bool_01
   3/3010 Test    #3: c_api_bool_01 ......................................................   Passed    0.00 sec
          Start    4: c_api_dreal_api_test1
   4/3010 Test    #4: c_api_dreal_api_test1 ..............................................   Passed    0.00 sec
          Start    5: c_api_dreal_jl_01
   5/3010 Test    #5: c_api_dreal_jl_01 ..................................................   Passed    0.00 sec
          Start    6: c_api_dreal_jl_02
   6/3010 Test    #6: c_api_dreal_jl_02 ..................................................   Passed    0.01 sec
          Start    7: c_api_ea_01
   7/3010 Test    #7: c_api_ea_01 ........................................................   Passed    0.01 sec
          Start    8: c_api_ea_02
   8/3010 Test    #8: c_api_ea_02 ........................................................   Passed    0.00 sec
          Start    9: c_api_example_01
   9/3010 Test    #9: c_api_example_01 ...................................................   Passed    0.03 sec
          Start   10: c_api_example_02
... etc

I then installed all the tools using those same instructions.

(env) mvh:tools$ sudo make
ocaml setup.ml -configure
File "./setup.ml", line 1775, characters 22-40:
1775 |         let compare = Pervasives.compare
                             ^^^^^^^^^^^^^^^^^^
Alert deprecated: module Stdlib.Pervasives
Use Stdlib instead.

If you need to stay compatible with OCaml < 4.07, you can use the 
stdlib-shims library: https://github.com/ocaml/stdlib-shims
File "setup.ml", line 3467, characters 16-34:
Alert deprecated: module Stdlib.Pervasives
Use Stdlib instead.

If you need to stay compatible with OCaml < 4.07, you can use the 
stdlib-shims library: https://github.com/ocaml/stdlib-shims

Configuration:
ocamlfind: ........................................... /usr/bin/ocamlfind
ocamlc: .............................................. /usr/bin/ocamlc.opt
ocamlopt: ............................................ /usr/bin/ocamlopt.opt
ocamlbuild: .......................................... /usr/bin/ocamlbuild
Package name: ........................................ dReal
Package version: ..................................... `
os_type: ............................................. Unix
system: .............................................. linux
architecture: ........................................ amd64
ccomp_type: .......................................... cc
ocaml_version: ....................................... 4.08.1
standard_library_default: ............................ /usr/lib/ocaml
standard_library: .................................... /usr/lib/ocaml
bytecomp_c_compiler: ................................. x86_64-linux-gnu-gcc -O2 -fno-strict-aliasing -fwrapv -fPIC -D_FILE_OFFSET_BITS=64 -D_REENTRANT
native_c_compiler: ................................... x86_64-linux-gnu-gcc -O2 -fno-strict-aliasing -fwrapv -D_FILE_OFFSET_BITS=64 -D_REENTRANT
model: ............................................... default
ext_obj: ............................................. .o
ext_asm: ............................................. .s
ext_lib: ............................................. .a
ext_dll: ............................................. .so
default_executable_name: ............................. a.out
systhread_supported: ................................. true
Install architecture-independent files dir: .......... /usr/local
Install architecture-dependent files in dir: ......... $prefix
User executables: .................................... $exec_prefix/bin
System admin executables: ............................ $exec_prefix/sbin
Program executables: ................................. $exec_prefix/libexec
Read-only single-machine data: ....................... $prefix/etc
Modifiable architecture-independent data: ............ $prefix/com
Modifiable single-machine data: ...................... $prefix/var
Object code libraries: ............................... $exec_prefix/lib
Read-only arch-independent data root: ................ $prefix/share
Read-only architecture-independent data: ............. $datarootdir
Info documentation: .................................. $datarootdir/info
Locale-dependent data: ............................... $datarootdir/locale
Man documentation: ................................... $datarootdir/man
Documentation root: .................................. $datarootdir/doc/$pkg_name
HTML documentation: .................................. $docdir
DVI documentation: ................................... $docdir
PDF documentation: ................................... $docdir
PS documentation: .................................... $docdir
findlib_version: ..................................... 1.8.1
is_native: ........................................... true
suffix_program: ......................................
Remove a file.: ...................................... rm -f
Remove a directory.: ................................. rm -rf
Turn ocaml debug flag on: ............................ true
Turn ocaml profile flag on: .......................... false
Compiler support generation of .cmxs.: ............... true
OCamlbuild additional flags: .........................
Create documentations: ............................... true
Compile tests executable and library and run them: ... false
pkg_batteries: ....................................... /usr/lib/ocaml/batteries

ocaml setup.ml -build
File "./setup.ml", line 1775, characters 22-40:
1775 |         let compare = Pervasives.compare
                             ^^^^^^^^^^^^^^^^^^
Alert deprecated: module Stdlib.Pervasives
Use Stdlib instead.

If you need to stay compatible with OCaml < 4.07, you can use the 
stdlib-shims library: https://github.com/ocaml/stdlib-shims
File "setup.ml", line 3467, characters 16-34:
Alert deprecated: module Stdlib.Pervasives
Use Stdlib instead.

If you need to stay compatible with OCaml < 4.07, you can use the 
stdlib-shims library: https://github.com/ocaml/stdlib-shims
Finished, 1 target (0 cached) in 00:00:00.
findlib: [WARNING] cannot read directory /usr/lib/ocaml/METAS: No such file or directory
+ /usr/bin/ocamlyacc parsing/drh_parser.mly
99 shift/reduce conflicts, 1 reduce/reduce conflict.
+ /usr/bin/ocamlyacc smt2/smt2parser.mly
93 shift/reduce conflicts, 2 reduce/reduce conflicts.
Finished, 107 targets (0 cached) in 00:00:03.

So, since dreach is in the tools of dreal, I would imagine it should be installed now. (Never mind that I cannot actually find any dreach binary anywhere ...)

I now cd back to sreach, and try to run:

(env) mvh:build$ ./sreach_sq ../statistical_test/test01 ../models/02_bouncing_ball_with_drag.pdrh dreach 8 0.001
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
sh: 1: dreach: not found
BEST 0.01 0.99 1 1: estimate = 0.00436681, successes = 0, samples = 227
total combinations are227

Do you have any notion what could be wrong? Do I need to do something more, in order to make dreach globally available? Do I need to recompile sreach? I am on Linux Mint 20. Thanks!

Difficulty building on Linux Mint 20

Hi, I am trying to build and install sreach on Linux Mint 20. I believe I have successfully installed all the dependencies, except for clang-omp. I cannot find this package online, although I see some discussion that it apparently has moved into llvm?

(env) mvh:build$ cmake -DCMAKE_CXX_COMPILER=clang-omp++ ../src
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:2 (project):
  The CMAKE_CXX_COMPILER:

    clang-omp++

  is not a full path and was not found in the PATH.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.


-- Configuring incomplete, errors occurred!
See also "/home/mvh/tools/sreach/build/CMakeFiles/CMakeOutput.log".
See also "/home/mvh/tools/sreach/build/CMakeFiles/CMakeError.log".

I am a competent Unix user but not especially experienced with CMake, and am not sure how to approach this problem. Do you have any advice? Possibly useful:

(env) mvh:sreach$ head /home/mvh/tools/sreach/build/CMakeFiles/CMakeOutput.log
The system is: Linux - 5.4.0-42-generic - x86_64
(env) mvh:sreach$ head /home/mvh/tools/sreach/build/CMakeFiles/CMakeError.log
Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.
Compiler: clang-omp++ 
Build flags: 
Id flags:  

The output was:
No such file or directory


Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" failed.

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.