Skip to content

Failed to compile #34

@vulogov

Description

@vulogov
 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...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions