Libelektra: Ikatan karat hanya berfungsi dengan ketergantungan jalur

Dibuat pada 29 Nov 2019  ·  4Komentar  ·  Sumber: ElektraInitiative/libelektra

Menggunakan ketergantungan dari crates.io tidak berfungsi.
Saya hanya dapat menggunakan rust binding jika saya mengkompilasinya di proyek Elektra terlebih dahulu, dan kemudian menggunakan direktori yang dikompilasi (ganti makro) sebagai dependensi jalur.

Langkah-langkah untuk Mereproduksi Masalah

# Create a new cargo project
cargo new test-elektra-rs
cd test-elektra-rs
# Add the elektra dependency
echo "elektra = \"0.9\"" >> Cargo.toml
# Build the project
cargo build

Hasil yang diharapkan

Membangun sukses

Hasil Sebenarnya

Kesalahan:

error[E0425]: cannot find function `keyIsDirectBelow` in crate `elektra_sys`
   -->CARGO_DIR/registry/src/github.com/elektra-0.9.0/src/readable.rs:231:31
    |
231 |         unsafe { elektra_sys::keyIsDirectBelow(other.as_ref(), self.as_ref()) == 1 }
    |                               ^^^^^^^^^^^^^^^^ help: a function with a similar name exists: `keyIsDirectlyBelow`

error[E0425]: cannot find value `KDB_O_NOCASE` in crate `elektra_sys`
  --> CARGO_DIR/registry/src/github.com/elektra-0.9.0/src/keyset.rs:24:43
   |
24 |         const KDB_O_NOCASE = elektra_sys::KDB_O_NOCASE as elektra_sys::option_t;
   |                                           ^^^^^^^^^^^^ help: a constant with a similar name exists: `KDB_O_NONE`

error[E0425]: cannot find value `KDB_O_WITHOWNER` in crate `elektra_sys`
  --> CARGO_DIR/registry/src/github.com/elektra-0.9.0/src/keyset.rs:26:46
   |
26 |         const KDB_O_WITHOWNER = elektra_sys::KDB_O_WITHOWNER as elektra_sys::option_t;
   |                                              ^^^^^^^^^^^^^^^ not found in `elektra_sys`

error[E0425]: cannot find value `KDB_O_NOALL` in crate `elektra_sys`
  --> CARGO_DIR/registry/src/github.com/elektra-0.9.0/src/keyset.rs:28:42
   |
28 |         const KDB_O_NOALL = elektra_sys::KDB_O_NOALL as elektra_sys::option_t;
   |                                          ^^^^^^^^^^^ help: a constant with a similar name exists: `KDB_O_NONE`

error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0425`.
error: could not compile `elektra`.

To learn more, run the command again with --verbose.
lanrust

Komentar yang paling membantu

Ini bekerja sekarang :)

Semua 4 komentar

Terima kasih telah melaporkan masalah ini!

Sepertinya penjilidan peti tidak up-to-date atau Elektra Anda terlalu tua. Misalnya keyIsDirectBelow diubah namanya menjadi keyIsDirectlyBelow. Itu diganti namanya oleh penulis binding Rust, jadi mungkin dia bisa memberi kita lebih banyak wawasan apa sebenarnya yang salah di sini :wink:

Terima kasih atas laporannya!

Sejak rilis Elektra terbaru dari 0.9.1 Saya belum sempat merilis binding yang diperbarui ke crates.io . Jadi Anda mungkin menggunakan rust-bindings 0.9 dengan Elektra 0.9.1 , yang tidak kompatibel. Saya akan merilis pembaruan segera dan Anda seharusnya tidak memiliki masalah lagi. Saya akan memberi tahu Anda setelah selesai.

Saya baru saja memublikasikan versi elektra dan elektra-sys baru ke crates.io. Beri tahu saya jika Anda memiliki masalah lebih lanjut.

Ini bekerja sekarang :)

Apakah halaman ini membantu?
0 / 5 - 0 peringkat