Skip to content

Unable to build openssl 0.7.x for ARM #314

Closed
@operutka

Description

@operutka

I've been trying to build the new 0.7.x release for ARM using rust 1.4.0 cross-compiler; unfortunately I always get the following errors:

...
/home/xxx/.cargo/registry/src/github.com-0a35038f75765ae4/openssl-0.7.0/src/bn/mod.rs:92:50: 92:64 error: mismatched types:
 expected `*const u8`,
    found `*const i8`
(expected u8,
    found i8) [E0308]
/home/xxx/.cargo/registry/src/github.com-0a35038f75765ae4/openssl-0.7.0/src/bn/mod.rs:92             try_ssl!(ffi::BN_dec2bn(v.raw_ptr(), c_str.as_ptr()));
                                                                                                                                              ^~~~~~~~~~~~~~
/home/xxx/.cargo/registry/src/github.com-0a35038f75765ae4/openssl-0.7.0/src/macros.rs:24:19: 24:39 note: in this expansion of try_ssl_if! (defined in /home/xxx/.cargo/registry/src/github.com-0a35038f75765ae4/openssl-0.7.0/src/macros.rs)
/home/xxx/.cargo/registry/src/github.com-0a35038f75765ae4/openssl-0.7.0/src/bn/mod.rs:92:13: 92:67 note: in this expansion of try_ssl! (defined in /home/xxx/.cargo/registry/src/github.com-0a35038f75765ae4/openssl-0.7.0/src/macros.rs)
/home/xxx/.cargo/registry/src/github.com-0a35038f75765ae4/openssl-0.7.0/src/bn/mod.rs:92:50: 92:64 help: run `rustc --explain E0308` to see a detailed explanation
...

Note that this is only an example. There is a lot of errors like this but it's always type mismatch between *const u8 and *const i8. Building it directly for x86/x86_64 works fine as well as building the 0.6.x release for ARM, x86 and x86_64. I use the same version of Rust on all mentioned architectures (it is 1.4.0 8ab8581f6 2015-10-27).

My guess is that CStr and CString use different mapping for c_char on ARM but I don't know why there is no problem with the 0.6.x release.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions