{"id":25954026,"url":"https://github.com/delcypher/nsolv","last_synced_at":"2025-07-27T04:05:19.900Z","repository":{"id":4350378,"uuid":"5486434","full_name":"delcypher/nsolv","owner":"delcypher","description":"Nsolv - A front-end that allows multiple SMTLIBv2 compliant solvers to executed in parallel.","archived":false,"fork":false,"pushed_at":"2012-12-07T13:00:31.000Z","size":196,"stargazers_count":12,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-07T06:35:34.289Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/delcypher.png","metadata":{"files":{"readme":"README","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-08-20T20:31:02.000Z","updated_at":"2025-01-23T05:09:10.000Z","dependencies_parsed_at":"2022-09-03T05:50:42.371Z","dependency_job_id":null,"html_url":"https://github.com/delcypher/nsolv","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/delcypher/nsolv","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delcypher%2Fnsolv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delcypher%2Fnsolv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delcypher%2Fnsolv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delcypher%2Fnsolv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/delcypher","download_url":"https://codeload.github.com/delcypher/nsolv/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delcypher%2Fnsolv/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267298467,"owners_count":24065881,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-04T15:48:42.404Z","updated_at":"2025-07-27T04:05:19.878Z","avatar_url":"https://github.com/delcypher.png","language":"C++","funding_links":[],"categories":["SMT-LIB ##"],"sub_categories":[],"readme":"NSolv By Dan Liew.\n\nABOUT\n\nNSolv is a simple tool for POSIX compliant operating systems that allows several\nSMTLIBv2 [1] solvers to be invoked in parallel (each solver is in its own\nprocess). The tool can operate in one of two modes\n\n* Performance Mode\nThe first solver to respond (sat|unsat) is considered to be the first\nsolver to return useful output and the other solvers are killed. After this the\noutput of this \"first solver\" is outputted to standard output.\n\n* Logging Mode\nThe first solver to respond (sat|unsat) is considered to be the first\nsolver to return useful output. The other solvers are allowed to finish unless\nthey timeout. The results and runtime of all solvers are recorded to a log file.\n\nNSolv is so named because it allows you to launch \"N Solv(ers)\".\n\nIts original purpose was to act as front-end to several SMTLIBv2 solvers for a\nmodified version ([2]) of KLEE [3]. These changes made to KLEE will most likely\nnever be merged as work is currently being done to integrate SMT-LIBv2 solvers\nvia a library rather than executing an external application as is needed for \nNSolv.\n\nBUILDING\nNSolv uses CMake as its build system. Here are a few commands you can run to get\nstarted. Nsolv has very few depencies but make sure have the following\ninstalled.\n\n* Boost libraries and development header files\n* librt (Real time library)\n* PThreads library\n* Standard development tools (C++ Compiler, development header files, etc...)\n\n1. This stage is optional but it is advised you do an out of source build. Pick\nany directory you like to build NSolv in.\n\n$ mkdir /path/to/nsolv/build/directory\n\n2. Now we'll launch your favourite CMake front-end.\n$ cd /path/to/nsolv/build/directory\n$ cmake-gui /path/to/nsolv/source-code/directory\n\nNow press configure. CMake should hopefully find all the dependencies. It will\nreport an error if there is a problem.\n\nAt this point you set the build type by setting CMAKE_BUILD_TYPE. You probably\neither want \"Release\" or \"Debug\". If you set this variable press configure\nagain.\n\nAlternatively you could use ccmake or if you're brave just plain cmake.\n\n3. Now generate your build system. Usually you just want to generate plain UNIX\nmakefiles. You can do this by pressing the \"Generate\" button in cmake-gui\n\n4. You can now start the build process by running the following command in the\nNSolv build directory.\n\n$ make\n\n5. If you wish to install (prefix is CMAKE_INSTALL_PREFIX)  run\n\n$ make install\n\n6. CMake doesn't provide an \"uninstall\" makefile target. When you run install\nthe list of installed files are put in a file called \"install_manifest.txt\" in\nthe root of your binary build folder.\n\nTo uninstall run\n\n$ xargs rm \u003c install_manifest.txt\n\nUSAGE\n\nSee the help message\n$ nsolv --help\n\nNSolv supports using a configuration file which is the recommended way to use\nit. An example configuration file can be found in \"config/example.cfg\".\n\nREFERENCES\n[1] http://www.smt-lib.org\n[2] https://github.com/delcypher/klee/tree/smtlib\n[3] http://klee.llvm.org/\n\n:set textwidth=80\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelcypher%2Fnsolv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdelcypher%2Fnsolv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelcypher%2Fnsolv/lists"}