Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed to compile #34

Open
vulogov opened this issue May 8, 2024 · 0 comments
Open

Failed to compile #34

vulogov opened this issue May 8, 2024 · 0 comments

Comments

@vulogov
Copy link

vulogov commented May 8, 2024

 Compiling netsim-embed-router v0.4.7 (/Users/vulogov/Src/netsim-embed/router)
error[E0425]: cannot find value `IFF_TUN` in crate `libc`
    --> machine/src/iface.rs:159:45
     |
159  | ...c::IFF_TUN as i16 | libc::IFF_NO_PI as i16;
     |       ^^^^^^^ help: a constant with a similar name exists: `IFF_UP`
     |
    ::: /Users/vulogov/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.152/src/unix/bsd/apple/mod.rs:4218:1
     |
4218 | pub const IFF_UP: ::c_int = 0x1; // interface is up
     | ------------------------- similarly named constant `IFF_UP` defined here

error[E0425]: cannot find value `IFF_NO_PI` in crate `libc`
    --> machine/src/iface.rs:159:68
     |
159  | ...IFF_TUN as i16 | libc::IFF_NO_PI as i16;
     |                           ^^^^^^^^^ help: a constant with a similar name exists: `IFF_NOARP`
     |
    ::: /Users/vulogov/.cargo/registry/src/index.crates.io-6f17d22bba15001f/libc-0.2.152/src/unix/bsd/apple/mod.rs:4225:1
     |
4225 | pub const IFF_NOARP: ::c_int = 0x80; // no address resolution protocol
     | ---------------------------- similarly named constant `IFF_NOARP` defined here

error[E0412]: cannot find type `rtentry` in crate `libc`
   --> machine/src/iface.rs:272:36
    |
272 |             let mut rtentry: libc::rtentry = mem::zeroed();
    |                                    ^^^^^^^ not found in `libc`

error[E0425]: cannot find value `SIOCADDRT` in crate `libc`
   --> machine/src/iface.rs:301:60
    |
301 | ...c::ioctl(fd, libc::SIOCADDRT, &rtentry)) {
    |                       ^^^^^^^^^ not found in `libc`

error[E0425]: cannot find function `unshare` in crate `libc`
 --> machine/src/namespace.rs:9:27
  |
9 |     unsafe { errno!(libc::unshare(libc::CLONE_NEWUSER))? };
  |                           ^^^^^^^ not found in `libc`

error[E0425]: cannot find value `CLONE_NEWUSER` in crate `libc`
 --> machine/src/namespace.rs:9:41
  |
9 |     unsafe { errno!(libc::unshare(libc::CLONE_NEWUSER))? };
  |                                         ^^^^^^^^^^^^^ not found in `libc`

error[E0425]: cannot find value `SYS_gettid` in crate `libc`
  --> machine/src/namespace.rs:35:50
   |
35 |             let tid = errno!(libc::syscall(libc::SYS_gettid))?;
   |                                                  ^^^^^^^^^^ not found in `libc`

error[E0425]: cannot find function `unshare` in crate `libc`
  --> machine/src/namespace.rs:42:26
   |
42 | ...   errno!(libc::unshare(libc::CLONE_NEWNET | libc::CLONE_NEWUTS))?;
   |                    ^^^^^^^ not found in `libc`

error[E0425]: cannot find value `CLONE_NEWNET` in crate `libc`
  --> machine/src/namespace.rs:42:40
   |
42 | ...   errno!(libc::unshare(libc::CLONE_NEWNET | libc::CLONE_NEWUTS))?;
   |                                  ^^^^^^^^^^^^ not found in `libc`

error[E0425]: cannot find value `CLONE_NEWUTS` in crate `libc`
  --> machine/src/namespace.rs:42:61
   |
42 | ...NE_NEWNET | libc::CLONE_NEWUTS))?;
   |                      ^^^^^^^^^^^^ not found in `libc`

error[E0425]: cannot find function `setns` in crate `libc`
  --> machine/src/namespace.rs:50:26
   |
50 |             errno!(libc::setns(fd.as_raw_fd(), libc::CLONE_NEWNET))?;
   |                          ^^^^^ not found in `libc`

error[E0425]: cannot find value `CLONE_NEWNET` in crate `libc`
  --> machine/src/namespace.rs:50:54
   |
50 |             errno!(libc::setns(fd.as_raw_fd(), libc::CLONE_NEWNET))?;
   |                                                      ^^^^^^^^^^^^ not found in `libc`

error[E0425]: cannot find value `ETH_FRAME_LEN` in crate `libc`
   --> machine/src/lib.rs:302:45
    |
302 |                     let mut buf = [0; libc::ETH_FRAME_LEN as usize];
    |                                             ^^^^^^^^^^^^^ not found in `libc`

error[E0308]: mismatched types
  --> machine/src/namespace.rs:36:28
   |
36 |             Ok(Self { pid, tid })
   |                            ^^^ expected `i64`, found `i32`
   |
help: you can convert an `i32` to an `i64`
   |
36 |             Ok(Self { pid, tid: tid.into() })
   |                            ++++    +++++++

Some errors have detailed explanations: E0308, E0412, E0425.
For more information about an error, try `rustc --explain E0308`.
error: could not compile `netsim-embed-machine` (lib) due to 14 previous errors
warning: build failed, waiting for other jobs to finish...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant