Libelektra: Los enlaces de Rust solo funcionan con la dependencia de ruta

Creado en 29 nov. 2019  ·  4Comentarios  ·  Fuente: ElektraInitiative/libelektra

El uso de la dependencia de crates.io no funciona.
Solo puedo usar los enlaces rust si los compilo primero en el proyecto Elektra y luego uso el directorio compilado (reemplaza macros) como una dependencia de ruta.

Pasos para reproducir el problema

# 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

Resultado Esperado

Construir con éxito

Resultado actual

Error:

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

Comentario más útil

Está trabajando ahora :)

Todos 4 comentarios

¡Gracias por reportar este problema!

Parece que las encuadernaciones de las cajas no están actualizadas o que su Elektra es demasiado antigua. Por ejemplo, keyIsDirectBelow se renombró a keyIsDirectlyBelow. El autor de los enlaces de Rust le cambió el nombre, por lo que tal vez pueda darnos más información sobre qué es exactamente lo que está mal aquí: wink:

¡Gracias por el informe!

Desde el último lanzamiento de Elektra de 0.9.1 todavía no he podido lanzar los enlaces actualizados a crates.io . Así que probablemente estés usando rust-bindings 0.9 con Elektra 0.9.1 , que no es compatible. Lanzaré la actualización muy pronto y entonces ya no debería tener ningún problema. Te lo haré saber una vez que esté hecho.

Acabo de publicar nuevas versiones elektra y elektra-sys en crates.io. Avísame si tienes más problemas.

Está trabajando ahora :)

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

sanssecours picture sanssecours  ·  4Comentarios

markus2330 picture markus2330  ·  4Comentarios

mpranj picture mpranj  ·  3Comentarios

e1528532 picture e1528532  ·  4Comentarios

mpranj picture mpranj  ·  4Comentarios