Libelektra: Rust ๋ฐ”์ธ๋”ฉ์€ ๊ฒฝ๋กœ ์ข…์†์„ฑ์—์„œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2019๋…„ 11์›” 29์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: ElektraInitiative/libelektra

crates.io์˜ ์ข…์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
Elektra ํ”„๋กœ์ ํŠธ์—์„œ ๋จผ์ € Rust ๋ฐ”์ธ๋”ฉ์„ ์ปดํŒŒ์ผํ•œ ๋‹ค์Œ ์ปดํŒŒ์ผ๋œ(๋งคํฌ๋กœ ๊ต์ฒด) ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๊ฒฝ๋กœ ์ข…์†์„ฑ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ Rust ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ๋‹จ๊ณ„

# 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

์˜ˆ์ƒ ๊ฒฐ๊ณผ

๋นŒ๋“œ ์„ฑ๊ณต

์‹ค์ œ ๊ฒฐ๊ณผ

์˜ค๋ฅ˜:

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.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๊ทธ๊ฒƒ์€ ์ง€๊ธˆ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค :)

๋ชจ๋“  4 ๋Œ“๊ธ€

์ด ๋ฌธ์ œ๋ฅผ ์‹ ๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ƒ์ž์˜ ๋ฐ”์ธ๋”ฉ์ด ์ตœ์‹ ์ด ์•„๋‹ˆ๊ฑฐ๋‚˜ Elektra๊ฐ€ ๋„ˆ๋ฌด ์˜ค๋ž˜๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด keyIsDirectBelow๋Š” keyIsDirectlyBelow๋กœ ์ด๋ฆ„์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Rust ๋ฐ”์ธ๋”ฉ์˜ ์ž‘์„ฑ์ž์— ์˜ํ•ด ์ด๋ฆ„์ด ๋ณ€๊ฒฝ๋˜์—ˆ์œผ๋ฏ€๋กœ ์—ฌ๊ธฐ์—์„œ ์ •ํ™•ํžˆ ๋ฌด์—‡์ด ์ž˜๋ชป๋˜์—ˆ๋Š”์ง€ ๋” ๋งŽ์€ ํ†ต์ฐฐ๋ ฅ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.wink:

์‹ ๊ณ  ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

0.9.1 ์˜ ์ตœ์‹  Elektra ๋ฆด๋ฆฌ์Šค ์ดํ›„๋กœ crates.io ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๋œ ๋ฐ”์ธ๋”ฉ์„ ์•„์ง ๋ฆด๋ฆฌ์Šคํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” Elektra 0.9.1 ์™€ ํ•จ๊ป˜ ๋…น ๋ฐ”์ธ๋”ฉ 0.9 ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ณง ์—…๋ฐ์ดํŠธ๋ฅผ ์ถœ์‹œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ๋” ์ด์ƒ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์™„๋ฃŒ๋˜๋ฉด ์•Œ๋ ค๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ crates.io์— ์ƒˆ๋กœ์šด elektra ๋ฐ elektra-sys ๋ฒ„์ „์„ ๊ฒŒ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๋” ์žˆ์œผ๋ฉด ์•Œ๋ ค์ฃผ์„ธ์š”.

๊ทธ๊ฒƒ์€ ์ง€๊ธˆ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค :)

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰