CQCL-DEV / tket-rs

Experimental rust bindings to tket via autocxx
0 stars 1 forks source link

Build fails with `include/Circuit/Command.hpp:17:10: fatal error: 'optional' file not found` #3

Closed cqc-alec closed 1 year ago

cqc-alec commented 1 year ago

With a clean checkout of tket-rs, on Linux, with the following conan profile:

$ conan profile show tket-rs-linux-x86_64
Configuration for profile tket-rs-linux-x86_64:

[settings]
os=Linux
os_build=Linux
arch=x86_64
arch_build=x86_64
compiler=gcc
compiler.version=11
compiler.libcxx=libstdc++11
build_type=Release
[options]
[conf]
[build_requires]
[env]

I get the following error from cargo build --release:

  conanfile.txt: Generated graphinfo
  cargo:rustc-link-search=/home/alec/.conan/data/tket/1.0.51/tket/stable/package/4ace1c49999316ae43b4455540f31e1e116bbffa/lib
  cargo:rustc-link-search=/home/alec/.conan/data/symengine/0.9.0/_/_/package/45e5ea24dcacb9991292ffeff23cfa629ca667ea/lib
  cargo:rustc-link-search=/home/alec/.conan/data/tktokenswap/0.1.2/tket/stable/package/80fb837516394cda6b1bd8309d15a00794d84cf6/lib
  cargo:rustc-link-search=/home/alec/.conan/data/tkwsm/0.2.1/tket/stable/package/9fc667eb89afdf149c79034b5e03fab4903b1155/lib
  cargo:rustc-link-search=/home/alec/.conan/data/boost/1.81.0/_/_/package/dc8aedd23a0f0a773a5fcdcfe1ae3e89c4205978/lib
  cargo:rustc-link-search=/home/alec/.conan/data/gmp/6.2.1/_/_/package/f7d295909e4a77ea9afe0e22daa8e7d48da26066/lib
  cargo:rustc-link-search=/home/alec/.conan/data/tkassert/0.1.1/tket/stable/package/4a1341ad32e9184a0acbe16009573d4b6225aa60/lib
  cargo:rustc-link-search=/home/alec/.conan/data/tkrng/0.1.2/tket/stable/package/6557f18ca99c0b6a233f43db00e30efaa525e27e/lib
  cargo:rustc-link-search=/home/alec/.conan/data/zlib/1.2.13/_/_/package/dfbe50feef7f3c6223a476cd5aeadb687084a646/lib
  cargo:rustc-link-search=/home/alec/.conan/data/bzip2/1.0.8/_/_/package/c32092bf4d4bb47cf962af898e02823f499b017e/lib
  cargo:rustc-link-search=/home/alec/.conan/data/libbacktrace/cci.20210118/_/_/package/dfbe50feef7f3c6223a476cd5aeadb687084a646/lib
  cargo:rustc-link-search=/home/alec/.conan/data/tklog/0.1.2/tket/stable/package/6557f18ca99c0b6a233f43db00e30efaa525e27e/lib

  --- stderr
  /home/alec/.conan/data/tket/1.0.51/tket/stable/package/4ace1c49999316ae43b4455540f31e1e116bbffa/include/Circuit/Command.hpp:17:10: fatal error: 'optional' file not found
  thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: ParseError(AutocxxCodegenError(Bindgen(ClangDiagnostic("/home/alec/.conan/data/tket/1.0.51/tket/stable/package/4ace1c49999316ae43b4455540f31e1e116bbffa/include/Circuit/Command.hpp:17:10: fatal error: 'optional' file not found\n"))))', build.rs:42:10
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
cqc-alec commented 1 year ago

I can get it to succeed by prefixing the command with:

BINDGEN_EXTRA_CLANG_ARGS="-I/usr/include/c++/11 -I/usr/include/x86_64-linux-gnu/c++/11"