aldanor / hdf5-rust

HDF5 for Rust
https://docs.rs/hdf5
Apache License 2.0
310 stars 85 forks source link

unable to build with lzf filter #176

Closed mkolopanis closed 3 years ago

mkolopanis commented 3 years ago

I have been using this for a very new project of my own uvdata-rust which requires the lzf feature. I know this feature is new and so I've been having to declare the repository directly as a dependency.

I have not been able to pin down what commit this changed in since I have working cache of hdf5-rust, but the crate is no longer building with lzf enabled.

(base) matthew@bahamut [10:38:12] [~/tmp] 
-> % git clone https://github.com/aldanor/hdf5-rust                                         
Cloning into 'hdf5-rust'...
remote: Enumerating objects: 7357, done.
remote: Counting objects: 100% (965/965), done.
remote: Compressing objects: 100% (420/420), done.
remote: Total 7357 (delta 641), reused 808 (delta 529), pack-reused 6392
Receiving objects: 100% (7357/7357), 1.58 MiB | 1.85 MiB/s, done.

(base) matthew@bahamut [10:38:27] [~/tmp/hdf5-rust] [master]
-> % cargo build --features=lzf
    Updating crates.io index
   Compiling cfg-if v1.0.0
   Compiling memchr v2.4.1
   Compiling autocfg v1.0.1
   Compiling libc v0.2.104
   Compiling regex-syntax v0.6.25
   Compiling pkg-config v0.3.20
   Compiling proc-macro2 v1.0.30
   Compiling unicode-xid v0.2.2
   Compiling cc v1.0.71
   Compiling syn v1.0.80
   Compiling parking_lot_core v0.8.5
   Compiling hdf5-types v0.7.1 (/home/matthew/tmp/hdf5-rust/hdf5-types)
   Compiling smallvec v1.7.0
   Compiling rawpointer v0.2.1
   Compiling scopeguard v1.1.0
   Compiling hdf5 v0.7.1 (/home/matthew/tmp/hdf5-rust)
   Compiling ascii v1.0.0
   Compiling bitflags v1.3.2
   Compiling lazy_static v1.4.0
   Compiling libloading v0.7.1
   Compiling instant v0.1.12
   Compiling matrixmultiply v0.3.1
   Compiling lock_api v0.4.5
   Compiling num-traits v0.2.14
   Compiling num-integer v0.1.44
   Compiling aho-corasick v0.7.18
   Compiling quote v1.0.10
   Compiling errno v0.2.7
   Compiling lzf-sys v0.1.0
   Compiling parking_lot v0.11.2
   Compiling num-complex v0.4.0
   Compiling regex v1.5.4
   Compiling ndarray v0.15.3
   Compiling hdf5-sys v0.7.1 (/home/matthew/tmp/hdf5-rust/hdf5-sys)
   Compiling hdf5-derive v0.7.1 (/home/matthew/tmp/hdf5-rust/hdf5-derive)
warning: unused import: `H5E_CANTREGISTER`
  --> src/hl/filters/lzf.rs:10:36
   |
10 | use crate::globals::{H5E_CALLBACK, H5E_CANTREGISTER, H5E_PLIST};
   |                                    ^^^^^^^^^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` on by default

error[E0599]: no method named `is_err_code` found for type `i32` in the current scope
   --> src/hl/filters/lzf.rs:32:16
    |
32  |         if ret.is_err_code() {
    |                ^^^^^^^^^^^ method not found in `i32`
    |
    = help: items from traits can only be used if the trait is implemented and in scope
note: `H5ErrorCode` defines an item `is_err_code`, perhaps you need to implement it
   --> src/error.rs:273:1
    |
273 | pub trait H5ErrorCode: Copy {
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0599`.
warning: `hdf5` (lib) generated 1 warning
error: could not compile `hdf5` due to previous error; 1 warning emitted
mulimoen commented 3 years ago

Thank you for reporting this issue! This was not tested in CI, and #175 accidentally broke this code. See #177 for the fix