Open mamscience opened 2 years ago
From the error message it looks like you're missing cmake. Installation instructions on a Mac are here:
(Disclaimer: we did not try compiling this on a Mac, will try running through the instructions myself as soon as I find some time to do it.)
Yes, you're right, I just found out myself as well. Thanks for the reply.
It compiled but it aborts with the following message. I think it's a reference to AWS,...
dyld[28746]: Library not loaded: @rpath/libaws-cpp-sdk-s3.dylib
Referenced from: /Rust/project/target/debug/build/tiledb-sys-7ccfb55706149010/out/dist/lib/libtiledb.dylib
Reason: tried: '/Rust/project/target/debug/build/tiledb-sys-7ccfb55706149010/out/dist/lib/libaws-cpp-sdk-s3.dylib' (no such file),
'/Rust/project/target/debug/build/tiledb-sys-7ccfb55706149010/out/dist/lib/libaws-cpp-sdk-s3.dylib' (no such file),
'/Rust/project/target/debug/deps/libaws-cpp-sdk-s3.dylib' (no such file), '/Rust/project/target/debug/libaws-cpp-sdk-s3.dylib' (no such file),
'/Users/m/opt/anaconda3/envs/ll/lib/rustlib/x86_64-apple-darwin/lib/libaws-cpp-sdk-s3.dylib' (no such file),
'/Users/m/lib/libaws-cpp-sdk-s3.dylib' (no such file), '/usr/local/lib/libaws-cpp-sdk-s3.dylib' (no such file),
'/usr/lib/libaws-cpp-sdk-s3.dylib' (no such file)
Yup, looks like you also need the AWS SDK installed. I would try this link: https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/setup-linux.html
Many many thanks for the pointer, it's been a while since i've touch C and Cmaking. Installing S3 part of the AWS SDK didn't solve my issue and I'm reluctant to install the whole SDK as I'm not planning it to use it for cloud.
So I tried install it without the --S3 flag, using TileDB's version 2.21, and bindgen 0.58.2. Unfortunately, Rust buckles, see error below. Have you encountered this before? Were/are you using nightly builds? Cheers and thanks in advance
error[E0658]: deriving `Default` on enums is experimental
--> /Rust/project/target/debug/build/tiledb-rust-209d4e65a1149745/out/bindings.rs:162:25
|
162 | #[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
| ^^^^^^^
|
= note: see issue #86985 <https://github.com/rust-lang/rust/issues/86985> for more information
= note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info)
error: no default declared
--> /Rust/project/target/debug/build/tiledb-rust-209d4e65a1149745/out/bindings.rs:162:25
|
162 | #[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
| ^^^^^^^
|
= help: make a unit variant default by placing `#[default]` above it
= note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0658]: deriving `Default` on enums is experimental
--> /Rust/project/target/debug/build/tiledb-rust-209d4e65a1149745/out/bindings.rs:194:25
|
194 | #[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
| ^^^^^^^
|
= note: see issue #86985 <https://github.com/rust-lang/rust/issues/86985> for more information
= note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info)
error: no default declared
--> /Rust/project/target/debug/build/tiledb-rust-209d4e65a1149745/out/bindings.rs:194:25
|
194 | #[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
| ^^^^^^^
|
= help: make a unit variant default by placing `#[default]` above it
= note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0658]: deriving `Default` on enums is experimental
--> /Rust/project/target/debug/build/tiledb-rust-209d4e65a1149745/out/bindings.rs:221:25
|
221 | #[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
| ^^^^^^^
|
= note: see issue #86985 <https://github.com/rust-lang/rust/issues/86985> for more information
= note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info)
error: no default declared
--> //Rust/project/target/debug/build/tiledb-rust-209d4e65a1149745/out/bindings.rs:221:25
|
221 | #[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
| ^^^^^^^
|
= help: make a unit variant default by placing `#[default]` above it
= note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info)
error[E0658]: deriving `Default` on enums is experimental
--> /Rust/project/target/debug/build/tiledb-rust-209d4e65a1149745/out/bindings.rs:270:25
|
270 | #[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
| ^^^^^^^
|
= note: see issue #86985 <https://github.com/rust-lang/rust/issues/86985> for more information
= note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info)
error: no default declared
--> /Rust/project/target/debug/build/tiledb-rust-209d4e65a1149745/out/bindings.rs:270:25
|
270 | #[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
| ^^^^^^^
|
= help: make a unit variant default by placing `#[default]` above it
= note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info)
No worries, this seems to have worked. The error you're seeing no longer seems AWS SDK-related.
I am not at my machine right now, but this looks like an error where running cargo +nightly build
might help. As in, experimental features only work on nightly.
I am not 100% certain this even needs to derive Default TBH, so you could alternatively experiment with just turning that trait off and seeing what happens.
Well, I tried the nightly, but a different errors pops up now..see below.
I am not 100% certain this even needs to derive Default TBH, so you could alternatively experiment with just turning that trait off and seeing what happens.
Could you elaborate on how to do that? I've also started to make a new binding for the latest stable version of TileDB, but unfortunately, bindgen doesn't wanna play: https://github.com/rust-lang/rust-bindgen/issues/2188
error: no default declared
--> /project/target/debug/build/tiledb-rust-48c2259a77600c80/out/bindings.rs:162:25
|
162 | #[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
| ^^^^^^^
|
= help: make a unit variant default by placing `#[default]` above it
= note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info)
error: no default declared
-->/project/target/debug/build/tiledb-rust-48c2259a77600c80/out/bindings.rs:202:25
|
202 | #[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
| ^^^^^^^
|
= help: make a unit variant default by placing `#[default]` above it
= note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info)
error: no default declared
--> /project/target/debug/build/tiledb-rust-48c2259a77600c80/out/bindings.rs:233:25
|
233 | #[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
| ^^^^^^^
|
= help: make a unit variant default by placing `#[default]` above it
= note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info)
error: no default declared
--> /project/target/debug/build/tiledb-rust-48c2259a77600c80/out/bindings.rs:282:25
|
282 | #[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
| ^^^^^^^
|
= help: make a unit variant default by placing `#[default]` above it
= note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info)
error: could not compile `tiledb-rust` due to 4 previous errors```
small bump?
I am also having trouble building. I get a bunch of Cmake warnings (about deprications) and I get an error about not being able to find the tiledb/tiledb
header. First, I get a compilation error MD5
is deprecated from openssl (I have OpenSSL 3.1.3 installed) Additionally, the build fails and thread throws panic:
1 error generated.
make[6]: *** [tiledb/CMakeFiles/TILEDB_CORE_OBJECTS.dir/sm/crypto/crypto_openssl.cc.o] Error 1
make[5]: *** [tiledb/CMakeFiles/TILEDB_CORE_OBJECTS.dir/all] Error 2
make[4]: *** [all] Error 2
make[3]: *** [CMakeFiles/install-tiledb] Error 2
make[2]: *** [CMakeFiles/install-tiledb.dir/all] Error 2
make[1]: *** [CMakeFiles/install-tiledb.dir/rule] Error 2
make: *** [install-tiledb] Error 2
wrapper.hpp:2:10: fatal error: 'tiledb/tiledb' file not found
wrapper.hpp:2:10: fatal error: 'tiledb/tiledb' file not found, err: true
I am assuming it is a versioning issue? Any pointers here?
Hi Unable to build per your instructions. Could you help out what might be the reason to this? Platform: MacOs (latest). Rust 1.54 (latest).
` process didn't exit successfully: '/dev/Rust/target/debug/build/tiledb-sys-a8fff7cd1562e5ec/build-script-build' (exit status: 101) --- stdout cargo:rustc-link-lib=dylib=tiledb cargo:rustc-link-search=native=/dev/Rust/target/debug/build/tiledb-sys-7ccfb55706149010/out/dist/lib
--- stderr cannot find cmake make: No targets specified and no makefile found. Stop. make: No rule to make target 'install-tiledb'. Stop. wrapper.hpp:2:10: fatal error: 'tiledb/tiledb' file not found wrapper.hpp:2:10: fatal error: 'tiledb/tiledb' file not found, err: true thread 'main' panicked at 'Unable to generate bindings: ()', /.cargo/registry/src/github.com-1ecc6299db9ec823/tiledb-sys-0.1.1/build.rs:83:10 note: run with 'RUST_BACKTRACE=1' environment variable to display a backtrace
`