jermp / fulgor

Fulgor is a fast and space-efficient colored de Bruijn graph index.
MIT License
43 stars 9 forks source link

error[E0282]: type annotations needed for `Box<_>` #41

Closed karel-brinda closed 5 days ago

karel-brinda commented 6 days ago

Hello, I've tried to compile Fulgor on my computer, but it's failing with the following error

error[E0282]: type annotations needed for `Box<_>`

Do you have any advice on how to fix this?

Version

05d61277f1531d4dc6d6de26c37536979f579896

Computer

OSX, M1, Sonoma

Full output

immortalite:fulgor karel$ mkdir build
immortalite:fulgor karel$ cd build
immortalite:build karel$ cmake ..
-- The C compiler identification is AppleClang 16.0.0.16000026
-- The CXX compiler identification is AppleClang 16.0.0.16000026
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- CMAKE_BUILD_TYPE: Release
-- Compiling for processor: arm64
-- Compiling with flags:  -stdlib=libc++ -std=c++17 -O3 -ggdb -Wall -Wextra -Wno-missing-braces -Wno-unknown-attributes -Wno-unused-function
-- linking with rt should not be necessary on OSX; not adding rt
-- Configuring done (0.6s)
-- Generating done (0.0s)
-- Build files have been written to: /tmp/~2024-11-07_1048-56/fulgor/build
immortalite:build karel$ make -j
[ 14%] Building CXX object CMakeFiles/sshash_static.dir/external/sshash/include/gz/zip_stream.cpp.o
[ 28%] Building CXX object CMakeFiles/sshash_static.dir/external/sshash/include/dictionary.cpp.o
[ 42%] Building CXX object CMakeFiles/sshash_static.dir/external/sshash/include/info.cpp.o
[ 57%] Building CXX object CMakeFiles/sshash_static.dir/external/sshash/include/builder/build.cpp.o
warning: unexpected `cfg` condition value: `serde`
   --> libs-crates/parallel-processor-rs/src/memory_data_size.rs:103:12
    |
103 | #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
    |            ^^^^^^^^^^^^^^^^^
    |
    = note: expected values for `feature` are: `memory-guards`, `no-stats`, `process-stats`, `procfs`, and `track-usage`
    = help: consider adding `serde` as a feature in `Cargo.toml`
    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
    = note: `#[warn(unexpected_cfgs)]` on by default

warning: struct `RwLockIterator` is never constructed
  --> libs-crates/parallel-processor-rs/src/memory_fs/file/internal.rs:43:8
   |
43 | struct RwLockIterator<'a, A, B, I: Iterator<Item = B>> {
   |        ^^^^^^^^^^^^^^
   |
   = note: `#[warn(dead_code)]` on by default

warning: `parallel-processor` (lib) generated 2 warnings
warning: impl trait in impl method signature does not match trait method signature
   --> crates/minimizer_bucketing/src/lib.rs:357:37
    |
357 |     ) -> impl Future<Output = ()> + Sync + Send + 'a {
    |                                     ^^^^ this bound is stronger than that defined on the trait
    |
    = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate
    = note: we are soliciting feedback, see issue #121718 <https://github.com/rust-lang/rust/issues/121718> for more information
    = note: `#[warn(refining_impl_trait_internal)]` on by default
help: replace the return type so that it matches the trait
    |
357 |     ) -> impl Future<Output = ()> + Send + 'a {
    |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

warning: `ggcat_minimizer_bucketing` (lib) generated 1 warning
   Compiling statrs v0.16.0
   Compiling time v0.3.30
   Compiling clap v4.4.8
   Compiling memory-stats v1.1.0
   Compiling once_cell v1.18.0
   Compiling permutation v0.4.1
   Compiling atomic-counter v1.0.1
   Compiling ggcat_assembler_kmerge v0.1.0 (/private/tmp/~2024-11-07_1048-56/fulgor/external/ggcat/crates/assembler_kmers_merge)
   Compiling cxx v1.0.110
   Compiling fs_extra v1.3.0
   Compiling cxx-build v1.0.110
   Compiling link-cplusplus v1.0.9
   Compiling ggcat_querier v0.1.1 (/private/tmp/~2024-11-07_1048-56/fulgor/external/ggcat/crates/querier)
   Compiling ggcat_dumper v0.1.1 (/private/tmp/~2024-11-07_1048-56/fulgor/external/ggcat/crates/dumper)
   Compiling fdlimit v0.3.0
   Compiling cxxbridge-macro v1.0.110
   Compiling uuid v1.5.0
error[E0282]: type annotations needed for `Box<_>`
  --> /Users/karel/.cargo/registry/src/index.crates.io-6f17d22bba15001f/time-0.3.30/src/format_description/parse/mod.rs:83:9
   |
83 |     let items = format_items
   |         ^^^^^
...
86 |     Ok(items.into())
   |              ---- type must be known at this point
   |
   = note: this is an inference error on crate `time` caused by an API change in Rust 1.80.0; update `time` to version `>=0.3.35` by calling `cargo update`

For more information about this error, try `rustc --explain E0282`.
error: could not compile `time` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...
warning: unexpected `cfg` condition value: `mem-analysis`
  --> crates/assembler_kmers_merge/src/lib.rs:28:7
   |
28 | #[cfg(feature = "mem-analysis")]
   |       ^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: expected values for `feature` are: `support_kmer_counters`
   = help: consider adding `mem-analysis` as a feature in `Cargo.toml`
   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
   = note: `#[warn(unexpected_cfgs)]` on by default

warning: `ggcat_assembler_kmerge` (lib) generated 1 warning
[ 71%] Linking CXX static library libsshash_static.acat_querier, cxx(build)                                                                                                                                                                                                                       
[ 71%] Built target sshash_static
make[3]: *** [lib/libggcat_cpp_bindings.a] Error 101
make[2]: *** [CMakeFiles/ggcat_cpp_api] Error 2
make[1]: *** [CMakeFiles/ggcat_cpp_api.dir/all] Error 2
make: *** [all] Error 2
jermp commented 6 days ago

Rust problems from GGCAT, not Fulgor... actually I cannot replicate this error. Mmmh, @rob-p, any suggestions?

karel-brinda commented 6 days ago

Updating to the ggcat submodule to v1.1.0 seems to fix the problem

jermp commented 6 days ago

ohh great!

jermp commented 5 days ago

I've just updated GGCAT, 0f8190d7e51ef0faece835ec629811713ba224c0, to its latest commit. This should fix this problem. Let me know! Thanks.