Libelektra: Les liaisons Rust ne fonctionnent qu'avec la dépendance de chemin

Créé le 29 nov. 2019  ·  4Commentaires  ·  Source: ElektraInitiative/libelektra

L'utilisation de la dépendance de crates.io ne fonctionne pas.
Je ne peux utiliser les liaisons de rouille que si je les compile d'abord dans le projet Elektra, puis que j'utilise le répertoire compilé (remplacer les macros) comme dépendance de chemin.

Étapes pour reproduire le problème

# 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

résultat attendu

Construire avec succès

Résultat actuel

Erreur:

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

Commentaire le plus utile

Il fonctionne maintenant :)

Tous les 4 commentaires

Merci d'avoir signalé ce problème!

Il semble que les fixations des caisses ne soient pas à jour ou que votre Elektra soit trop ancienne. Par exemple, keyIsDirectBelow a été renommé en keyIsDirectlyBelow. Il a été renommé par l'auteur des liaisons Rust, alors peut-être qu'il peut nous donner plus d'informations sur ce qui ne va pas exactement ici :wink:

Merci pour le rapport !

Depuis la dernière version d'Elektra de 0.9.1 je n'ai pas encore eu le temps de publier les liaisons mises à jour vers crates.io . Vous utilisez donc probablement des attaches antirouille 0.9 avec Elektra 0.9.1 , ce qui n'est pas compatible. Je publierai la mise à jour très bientôt et vous ne devriez plus avoir de problèmes. Je vous tiendrai au courant une fois que ce sera fait.

Je viens de publier de nouvelles versions elektra et elektra-sys sur crates.io. Faites-moi savoir si vous avez d'autres problèmes.

Il fonctionne maintenant :)

Cette page vous a été utile?
0 / 5 - 0 notes