goblin icon indicating copy to clipboard operation
goblin copied to clipboard

Build failure when specifying elf32 feature without elf64

Open parasyte opened this issue 5 years ago • 1 comments

Disable default-features and specify only elf32:

[dependencies]
goblin = { version = "0.2", default-features = false, features = ["std", "elf32"] }

Build fails:

   Compiling goblin v0.2.0
error[E0432]: unresolved import `crate::elf64`
   --> /Users/parasyte/.cargo/registry/src/github.com-1ecc6299db9ec823/goblin-0.2.0/src/elf/header.rs:207:17
    |
207 |             use crate::elf64;
    |                 ^^^^^^^^^^^^ no `elf64` in the root

error[E0433]: failed to resolve: maybe a missing crate `elf64`?
   --> /Users/parasyte/.cargo/registry/src/github.com-1ecc6299db9ec823/goblin-0.2.0/src/elf/dynamic.rs:704:35
    |
704 |     elf_dyn_std_impl!(u64, crate::elf64::program_header::ProgramHeader);
    |                                   ^^^^^ maybe a missing crate `elf64`?

error: aborting due to 2 previous errors

Some errors have detailed explanations: E0432, E0433.
For more information about an error, try `rustc --explain E0432`.
error: could not compile `goblin`.

Looking at the code, specifying the opposite (elf64 without elf32) will also fail for similar reasons.

parasyte avatar Feb 16 '20 04:02 parasyte

Hmm looks like a build regression. Probably something got messed up in refactor. We have a makefile that should invoke some of these matrix combinations.

Should be simple fix. I might have some time this weekend to look into it, or perhaps you could ? :)

m4b avatar Feb 20 '20 17:02 m4b