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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions