Skip to content
This repository has been archived by the owner on Mar 24, 2022. It is now read-only.

Compilation errors on master #170

Closed
moderation opened this issue May 6, 2019 · 3 comments · Fixed by #171
Closed

Compilation errors on master #170

moderation opened this issue May 6, 2019 · 3 comments · Fixed by #171

Comments

@moderation
Copy link

I'm seeing two errors in building master from source.

Running cargo build --all --release --bins --lib now generates the following error.

warning: unused import: `siginfo_ext::SiginfoExt`
 --> lucet-runtime/lucet-runtime-internals/src/instance/signals.rs:3:5
  |
3 |     siginfo_ext::SiginfoExt, FaultDetails, Instance, State, TerminationDetails, CURRENT_INSTANCE,
  |     ^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: #[warn(unused_imports)] on by default

warning: unused import: `crate::instance::siginfo_ext::SiginfoExt`
  --> lucet-runtime/lucet-runtime-internals/src/instance.rs:10:5
   |
10 | use crate::instance::siginfo_ext::SiginfoExt;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error[E0133]: call to unsafe function is unsafe and requires unsafe function or block
   --> lucet-runtime/lucet-runtime-internals/src/instance.rs:842:25
    |
842 |                         siginfo.si_addr()
    |                         ^^^^^^^^^^^^^^^^^ call to unsafe function
    |
    = note: consult the function's documentation for information on how to avoid undefined behavior

error[E0133]: call to unsafe function is unsafe and requires unsafe function or block
   --> lucet-runtime/lucet-runtime-internals/src/instance/signals.rs:192:55
    |
192 |                     && !inst.alloc.addr_in_heap_guard(siginfo.si_addr());
    |                                                       ^^^^^^^^^^^^^^^^^ call to unsafe function
    |
    = note: consult the function's documentation for information on how to avoid undefined behavior

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0133`.
error: Could not compile `lucet-runtime-internals`.
warning: build failed, waiting for other jobs to finish...
error: build failed

The second issue is stranger. When I run make build it launches minimalist Go framework on port 8080 and just sits there. Very strange.


   ____    __
  / __/___/ /  ___
 / _// __/ _ \/ _ \
/___/\__/_//_/\___/ v4.1.5
High performance, minimalist Go web framework
https://echo.labstack.com
____________________________________O/_______
                                    O\
⇨ http server started on [::]:8080
@pchickey
Copy link
Contributor

pchickey commented May 6, 2019

For the first issue, it looks like libc-0.2.54 introduced a method that conflicts with our SiginfoExt trait. Our project's Cargo.lock pins libc to 0.2.51 so we did not notice this until your report. We will get a fix in shortly.

For your second issue, it looks like that go framework may have installed an executable called echo, which is bizarre and would break a lot of things. I recommend removing that executable.

@moderation
Copy link
Author

Thanks @pchickey. Turns out the second weird issue was caused by @honeycombio's github.com/honeycombio/beeline-go. I installed it doing some testing over the weekend. It ends up putting the echo binary on my path. Strange.

@moderation
Copy link
Author

Fix works. Thanks @pchickey and team.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
2 participants