fatemender / boolector-sys Goto Github PK
View Code? Open in Web Editor NEWLow-level Rust bindings for the Boolector SMT solver
License: MIT License
Low-level Rust bindings for the Boolector SMT solver
License: MIT License
I tried to follow the instructions in the new README to make a crate that depended on boolector-sys
with vendored Boolector.
Cargo.toml:
[dependencies]
boolector-sys = { version = "0.6", features = ["vendor-lgl"] }
This failed to build, with the error:
error: failed to run custom build command for `boolector-sys v0.6.0`
Caused by:
process didn't exit successfully: `/home/craig/blah/target/debug/build/boolector-sys-1460bc80a8064f48/build-script-build` (exit code: 101)
--- stdout
running "./contrib/setup-lingeling.sh"
--- stderr
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 13, kind: PermissionDenied, message: "Permission denied" }', /home/craig/.cargo/registry/src/github.com-1ecc6299db9ec823/boolector-sys-0.6.0/build-vendor.rs:93:39
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
This is on Ubuntu 20.04, with build-essential
, cmake
, and curl
all installed. Anecdotally I got the same error on Arch Linux.
Am I doing something wrong? Is this a bug?
Hello,
I am wondering if it would be possible to also implement to build boolector when needed/wanted.
Maybe it is possible to use a cargo feature to enable the build of boolector. Still this would be very nice as I believe that it is rather unlikely that boolector is being packaged in the future on most systems.
If you want I can look into it and create a PR.
Hi,
Thanks for your work on these bindings! I'm having trouble using the methods that involve a parameter of type *mut
FILE
- e.g., boolector_dump_*
, boolector_parse_*
, boolector_print_model()
. How can I create a valid *mut FILE
? Is there a way to convert from std::fs::File
, or std::io::stdout()
, to *mut FILE
? Do you have an example calling any of these methods from Rust?
Thanks in advance for the help!
Hi,
first, thanks for pulling my fix in so fast. But I have a little problem with the published package v0.6.2.
In the package v0.6.1, the boolector sources of the submodule are included, whereas in package v0.6.2 these sources are missing. Therefore the build for v0.6.2 fails.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.