Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenSSL Woes #612

Closed
drusellers opened this issue Apr 19, 2017 · 16 comments
Closed

OpenSSL Woes #612

drusellers opened this issue Apr 19, 2017 · 16 comments

Comments

@drusellers
Copy link
Contributor

Is there any documentation about OpenSSL needs? I'm getting errors like

crypto/aes/aes.c:573:6: error: no previous prototype for function 'GFp_AES_encrypt' [-Werror,-Wmissing-prototypes]
[package]
name = "abc"
version = "0.1.0"
authors = ["Dru Sellers <dru@drusellers.com>"]

[dependencies]
rusoto = {version="0.23", features = ["s3"]}

main.rs

fn main() {
    println!("Hello, world!");
}

OpenSSL

▶ brew info openssl
openssl: stable 1.0.2k (bottled) [keg-only]
SSL/TLS cryptography library
https://openssl.org/
/usr/local/Cellar/openssl/1.0.2k (1,696 files, 12MB)
  Poured from bottle on 2017-03-20 at 17:33:02
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/openssl.rb
==> Dependencies
Build: makedepend ✘
==> Options
--universal
	Build a universal binary
--without-test
	Skip build-time tests (not recommended)
==> Caveats
A CA file has been bootstrapped using certificates from the SystemRoots
keychain. To add additional certificates (e.g. the certificates added in
the System keychain), place .pem files in
  /usr/local/etc/openssl/certs

and run
  /usr/local/opt/openssl/bin/c_rehash

This formula is keg-only, which means it was not symlinked into /usr/local.

Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries

If you need to have this software first in your PATH run:
  echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.zshrc

For compilers to find this software you may need to set:
    LDFLAGS:  -L/usr/local/opt/openssl/lib
    CPPFLAGS: -I/usr/local/opt/openssl/include
For pkg-config to find this software you may need to set:
    PKG_CONFIG_PATH: /usr/local/opt/openssl/lib/pkgconfig

Build Output

Build Output
c -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -I/usr/local/opt/openssl/include -fpic -fdata-sections -ffunction-sections -gfull -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align   -march=x86-64  -m64  -c -o /Users/drusellers/dev/beta/camp/abc/target/debug/build/ring-8963b21f1d1db7c4/out/obj/crypto/aes/aes.o crypto/aes/aes.c
cc -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -I/usr/local/opt/openssl/include -fpic -fdata-sections -ffunction-sections -gfull -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align   -march=x86-64  -m64  -c -o /Users/drusellers/dev/beta/camp/abc/target/debug/build/ring-8963b21f1d1db7c4/out/obj/crypto/bn/add.o crypto/bn/add.c
cc -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -I/usr/local/opt/openssl/include -fpic -fdata-sections -ffunction-sections -gfull -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align   -march=x86-64  -m64  -c -o /Users/drusellers/dev/beta/camp/abc/target/debug/build/ring-8963b21f1d1db7c4/out/obj/crypto/bn/bn.o crypto/bn/bn.c
cc -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -I/usr/local/opt/openssl/include -fpic -fdata-sections -ffunction-sections -gfull -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align   -march=x86-64  -m64  -c -o /Users/drusellers/dev/beta/camp/abc/target/debug/build/ring-8963b21f1d1db7c4/out/obj/crypto/bn/cmp.o crypto/bn/cmp.c
cc -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -I/usr/local/opt/openssl/include -fpic -fdata-sections -ffunction-sections -gfull -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align   -march=x86-64  -m64  -c -o /Users/drusellers/dev/beta/camp/abc/target/debug/build/ring-8963b21f1d1db7c4/out/obj/crypto/bn/convert.o crypto/bn/convert.c
cc -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -I/usr/local/opt/openssl/include -fpic -fdata-sections -ffunction-sections -gfull -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align   -march=x86-64  -m64  -c -o /Users/drusellers/dev/beta/camp/abc/target/debug/build/ring-8963b21f1d1db7c4/out/obj/crypto/bn/div.o crypto/bn/div.c
cc -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -I/usr/local/opt/openssl/include -fpic -fdata-sections -ffunction-sections -gfull -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align   -march=x86-64  -m64  -c -o /Users/drusellers/dev/beta/camp/abc/target/debug/build/ring-8963b21f1d1db7c4/out/obj/crypto/bn/exponentiation.o crypto/bn/exponentiation.c
cc -std=c1x -Wbad-function-cast -Wmissing-field-initializers -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes  -I/usr/local/opt/openssl/include -fpic -fdata-sections -ffunction-sections -gfull -pedantic -pedantic-errors -Wall -Werror -Wextra -Wcast-align -Wcast-qual -Wenum-compare -Wfloat-equal -Wformat=2 -Winline -Winvalid-pch -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wredundant-decls -Wshadow -Wsign-compare -Wundef -Wuninitialized -Wwrite-strings  -fstack-protector -MMD -Iinclude -D_XOPEN_SOURCE=700 -DBORINGSSL_IMPLEMENTATION -fno-strict-aliasing -fvisibility=hidden -Wno-cast-align   -march=x86-64  -m64  -c -o /Users/drusellers/dev/beta/camp/abc/target/debug/build/ring-8963b21f1d1db7c4/out/obj/crypto/bn/gcd.o crypto/bn/gcd.c

--- stderr
crypto/aes/aes.c:573:6: error: no previous prototype for function 'GFp_AES_encrypt' [-Werror,-Wmissing-prototypes]
void GFp_AES_encrypt(const uint8_t *in, uint8_t *out, const AES_KEY *key) {
     ^
crypto/aes/aes.c:585:5: error: no previous prototype for function 'GFp_AES_set_encrypt_key' [-Werror,-Wmissing-prototypes]
int GFp_AES_set_encrypt_key(const uint8_t *key, unsigned bits,
    ^
2 errors generated.
make: *** [/Users/drusellers/dev/beta/camp/abc/target/debug/build/ring-8963b21f1d1db7c4/out/obj/crypto/aes/aes.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from crypto/bn/add.c:62:
In file included from include/openssl/mem.h:60:
include/openssl/base.h:110:9: error: 'OPENSSL_VERSION_NUMBER' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_VERSION_NUMBER 0x10002000
        ^
/usr/local/opt/openssl/include/openssl/opensslv.h:33:10: note: previous definition is here
# define OPENSSL_VERSION_NUMBER  0x100020bfL
         ^
In file included from crypto/bn/add.c:62:
In file included from include/openssl/mem.h:60:
include/openssl/base.h:115:9: error: 'OPENSSL_EXPORT' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_EXPORT
        ^
/usr/local/opt/openssl/include/openssl/e_os2.h:276:11: note: previous definition is here
#  define OPENSSL_EXPORT extern
          ^
In file included from crypto/bn/add.c:62:
include/openssl/mem.h:77:9: error: 'OPENSSL_malloc' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_malloc malloc
        ^
/usr/local/opt/openssl/include/openssl/crypto.h:381:10: note: previous definition is here
# define OPENSSL_malloc(num)     CRYPTO_malloc((int)num,__FILE__,__LINE__)
         ^
In file included from crypto/bn/add.c:62:
include/openssl/mem.h:78:9: error: 'OPENSSL_realloc' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_realloc realloc
        ^
/usr/local/opt/openssl/include/openssl/crypto.h:383:10: note: previous definition is here
# define OPENSSL_realloc(addr,num) \
         ^
In file included from crypto/bn/add.c:62:
include/openssl/mem.h:79:9: error: 'OPENSSL_free' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_free free
        ^
/usr/local/opt/openssl/include/openssl/crypto.h:390:10: note: previous definition is here
# define OPENSSL_free(addr)      CRYPTO_free(addr)
         ^
In file included from crypto/bn/add.c:64:
crypto/bn/internal.h:145:9: error: 'BN_ULLONG' macro redefined [-Werror,-Wmacro-redefined]
#define BN_ULLONG       uint128_t
        ^
/usr/local/opt/openssl/include/openssl/bn.h:182:11: note: previous definition is here
#  define BN_ULLONG       unsigned long long
          ^
In file included from crypto/bn/add.c:64:
crypto/bn/internal.h:151:9: error: 'BN_MASK2' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2        (0xffffffffffffffffUL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:190:11: note: previous definition is here
#  define BN_MASK2        (0xffffffffffffffffL)
          ^
In file included from crypto/bn/add.c:64:
crypto/bn/internal.h:152:9: error: 'BN_MASK2l' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2l       (0xffffffffUL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:191:11: note: previous definition is here
#  define BN_MASK2l       (0xffffffffL)
          ^
In file included from crypto/bn/add.c:64:
crypto/bn/internal.h:153:9: error: 'BN_MASK2h' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2h       (0xffffffff00000000UL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:192:11: note: previous definition is here
#  define BN_MASK2h       (0xffffffff00000000L)
          ^
In file included from crypto/bn/add.c:64:
crypto/bn/internal.h:154:9: error: 'BN_MASK2h1' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2h1      (0xffffffff80000000UL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:193:11: note: previous definition is here
#  define BN_MASK2h1      (0xffffffff80000000L)
          ^
In file included from crypto/bn/add.c:64:
crypto/bn/internal.h:157:9: error: 'BN_TBIT' macro redefined [-Werror,-Wmacro-redefined]
#define BN_TBIT         (0x8000000000000000UL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:194:11: note: previous definition is here
#  define BN_TBIT         (0x8000000000000000L)
          ^
crypto/bn/add.c:85:9: error: implicit declaration of function 'GFp_BN_ucmp' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
    if (GFp_BN_ucmp(a, b) < 0) {
        ^
In file included from crypto/bn/bn.c:63:
In file included from include/openssl/mem.h:60:
include/openssl/base.h:110:9: error: 'OPENSSL_VERSION_NUMBER' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_VERSION_NUMBER 0x10002000
        ^
/usr/local/opt/openssl/include/openssl/opensslv.h:33:10: note: previous definition is here
# define OPENSSL_VERSION_NUMBER  0x100020bfL
         ^
In file included from crypto/bn/bn.c:63:
In file included from include/openssl/mem.h:60:
include/openssl/base.h:115:9: error: 'OPENSSL_EXPORT' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_EXPORT
        ^
/usr/local/opt/openssl/include/openssl/e_os2.h:276:11: note: previous definition is here
#  define OPENSSL_EXPORT extern
          ^
In file included from crypto/bn/bn.c:63:
include/openssl/mem.h:77:9: error: 'OPENSSL_malloc' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_malloc malloc
        ^
/usr/local/opt/openssl/include/openssl/crypto.h:381:10: note: previous definition is here
# define OPENSSL_malloc(num)     CRYPTO_malloc((int)num,__FILE__,__LINE__)
         ^
In file included from crypto/bn/bn.c:63:
include/openssl/mem.h:78:9: error: 'OPENSSL_realloc' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_realloc realloc
        ^
/usr/local/opt/openssl/include/openssl/crypto.h:383:10: note: previous definition is here
# define OPENSSL_realloc(addr,num) \
         ^
In file included from crypto/bn/bn.c:63:
include/openssl/mem.h:79:9: error: 'OPENSSL_free' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_free free
        ^
/usr/local/opt/openssl/include/openssl/crypto.h:390:10: note: previous definition is here
# define OPENSSL_free(addr)      CRYPTO_free(addr)
         ^
In file included from crypto/bn/bn.c:65:
crypto/bn/internal.h:145:9: error: 'BN_ULLONG' macro redefined [-Werror,-Wmacro-redefined]
#define BN_ULLONG       uint128_t
        ^
/usr/local/opt/openssl/include/openssl/bn.h:182:11: note: previous definition is here
#  define BN_ULLONG       unsigned long long
          ^
In file included from crypto/bn/bn.c:65:
crypto/bn/internal.h:151:9: error: 'BN_MASK2' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2        (0xffffffffffffffffUL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:190:11: note: previous definition is here
#  define BN_MASK2        (0xffffffffffffffffL)
          ^
In file included from crypto/bn/bn.c:65:
crypto/bn/internal.h:152:9: error: 'BN_MASK2l' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2l       (0xffffffffUL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:191:11: note: previous definition is here
#  define BN_MASK2l       (0xffffffffL)
          ^
In file included from crypto/bn/bn.c:65:
crypto/bn/internal.h:153:9: error: 'BN_MASK2h' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2h       (0xffffffff00000000UL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:192:11: note: previous definition is here
#  define BN_MASK2h       (0xffffffff00000000L)
          ^
In file included from crypto/bn/bn.c:65:
crypto/bn/internal.h:154:9: error: 'BN_MASK2h1' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2h1      (0xffffffff80000000UL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:193:11: note: previous definition is here
#  define BN_MASK2h1      (0xffffffff80000000L)
          ^
In file included from crypto/bn/bn.c:65:
crypto/bn/internal.h:157:9: error: 'BN_TBIT' macro redefined [-Werror,-Wmacro-redefined]
#define BN_TBIT         (0x8000000000000000UL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:194:11: note: previous definition is here
#  define BN_TBIT         (0x8000000000000000L)
          ^
In file included from crypto/bn/cmp.c:59:
In file included from include/openssl/mem.h:60:
include/openssl/base.h:110:9: error: 'OPENSSL_VERSION_NUMBER' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_VERSION_NUMBER 0x10002000
        ^
/usr/local/opt/openssl/include/openssl/opensslv.h:33:10: note: previous definition is here
# define OPENSSL_VERSION_NUMBER  0x100020bfL
         ^
In file included from crypto/bn/cmp.c:59:
In file included from include/openssl/mem.h:60:
include/openssl/base.h:115:9: error: 'OPENSSL_EXPORT' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_EXPORT
        ^
/usr/local/opt/openssl/include/openssl/e_os2.h:276:11: note: previous definition is here
#  define OPENSSL_EXPORT extern
          ^
crypto/bn/bn.c:73:6: error: no previous prototype for function 'GFp_BN_init' [-Werror,-Wmissing-prototypes]
void GFp_BN_init(BIGNUM *bn) {
     ^
In file included from crypto/bn/cmp.c:59:
include/openssl/mem.h:77:9: error: 'OPENSSL_malloc' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_malloc malloc
        ^
/usr/local/opt/openssl/include/openssl/crypto.h:381:10: note: previous definition is here
crypto/bn/bn.c:77:6: error: no previous prototype for function 'GFp_BN_free' [-Werror,-Wmissing-prototypes]# define OPENSSL_malloc(num)     CRYPTO_malloc((int)num,__FILE__,__LINE__)
         ^
void GFp_BN_free(BIGNUM *bn) {
     ^

In file included from crypto/bn/cmp.c:59:
include/openssl/mem.h:78:9: error: 'OPENSSL_realloc' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_realloc realloc
        ^
/usr/local/opt/openssl/include/openssl/crypto.h:383:10: note: previous definition is here
# define OPENSSL_realloc(addr,num) \
         ^
crypto/bn/bn.c:101:In file included from 7crypto/bn/cmp.c:: error: implicit declaration of function 'GFp_bn_wexpand' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
59:
include/openssl/mem.h:79:9: error: 'OPENSSL_free' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_free free  if (GFp_bn_wexpand(dest, src->top) == NULL) {
      ^

        ^
/usr/local/opt/openssl/include/openssl/crypto.h:390:10: note: previous definition is here
# define OPENSSL_free(addr)      CRYPTO_free(addr)
         ^
crypto/bn/bn.c:101:38: error: comparison between pointer and integer ('int' and 'void *') [-Werror]
  if (GFp_bn_wexpand(dest, src->top) == NULL) {
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
In file included from crypto/bn/cmp.c:61:
crypto/bn/internal.h:145:9: error: 'BN_ULLONG' macro redefined [-Werror,-Wmacro-redefined]crypto/bn/bn.c:96:5:
#define BN_ULLONG       uint128_t
        ^
 error: no previous prototype for function 'GFp_BN_copy' [-Werror,-Wmissing-prototypes]
int GFp_BN_copy(BIGNUM *dest, const BIGNUM *src) {
    ^
/usr/local/opt/openssl/include/openssl/bn.h:182:11: note: previous definition is here
#  define BN_ULLONG       unsigned long long
          ^
In file included from crypto/bn/cmp.c:61:
crypto/bn/internal.h:151:9: error: 'BN_MASK2' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2        (0xffffffffffffffffUL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:190:11: note: previous definition is here
#  define BN_MASK2        (0xffffffffffffffffL)
          ^
In file included from crypto/bn/cmp.c:61:
crypto/bn/internal.h:152:9: error: 'BN_MASK2l' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2l       (0xffffffffUL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:191:11: note: previous definition is here
#  define BN_MASK2l       (0xffffffffL)
          ^
In file included from crypto/bn/cmp.c:61:
crypto/bn/internal.h:153:9: error: 'BN_MASK2h' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2h       (0xffffffff00000000UL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:192:11: note: previous definition is here
#  define BN_MASK2h       (0xffffffff00000000L)
          ^
In file included from crypto/bn/cmp.c:61:
crypto/bn/internal.h:154:9: error: 'BN_MASK2h1' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2h1      (0xffffffff80000000UL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:193:11: note: previous definition is here
#  define BN_MASK2h1      (0xffffffff80000000L)
          ^
In file included from crypto/bn/cmp.c:61:
crypto/bn/internal.h:157:9: error: 'BN_TBIT' macro redefined [-Werror,-Wmacro-redefined]
#define BN_TBIT         (0x8000000000000000UL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:194:11: note: previous definition is here
#  define BN_TBIT         (0x8000000000000000L)
          ^
crypto/bn/bn.c:116:10: error: no previous prototype for function 'GFp_BN_num_bits_word' [-Werror,-Wmissing-prototypes]
unsigned GFp_BN_num_bits_word(BN_ULONG l) {
         ^
crypto/bn/bn.c:167:7: error: implicit declaration of function 'GFp_BN_is_zero' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  if (GFp_BN_is_zero(bn)) {
      ^
crypto/bn/cmp.c:68:5: error: no previous prototype for function 'GFp_BN_ucmp' [-Werror,-Wmissing-prototypes]
int GFp_BN_ucmp(const BIGNUM *a, const BIGNUM *b) {
    ^
crypto/bn/cmp.c:90:5: error: no previous prototype for function 'GFp_BN_cmp' [-Werror,-Wmissing-prototypes]
int GFp_BN_cmp(const BIGNUM *a, const BIGNUM *b) {
    ^
crypto/bn/add.c:86:12: error: implicit declaration of function 'GFp_BN_usub_unchecked' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
      if (!GFp_BN_usub_unchecked(r, b, a)) {
           ^
crypto/bn/bn.c:164:10: error: no previous prototype for function 'GFp_BN_num_bits' [-Werror,-Wmissing-prototypes]
unsigned GFp_BN_num_bits(const BIGNUM *bn) {
         ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
In file included from crypto/bn/convert.c:62:
In file included from crypto/bn/internal.h:126:
include/openssl/base.h:110:9: error: 'OPENSSL_VERSION_NUMBER' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_VERSION_NUMBER 0x10002000
        ^
/usr/local/opt/openssl/include/openssl/opensslv.h:33:10: note: previous definition is here
# define OPENSSL_VERSION_NUMBER  0x100020bfL
         ^
In file included from crypto/bn/convert.c:62:
In file included from crypto/bn/internal.h:126:
include/openssl/base.h:115:9: error: 'OPENSSL_EXPORT' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_EXPORT
        ^
/usr/local/opt/openssl/include/openssl/e_os2.h:276:11: note: previous definition is here
#  define OPENSSL_EXPORT extern
          ^
crypto/bn/add.c:99:9: error: implicit declaration of function 'GFp_BN_uadd' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  ret = GFp_BN_uadd(r, a, b);
        ^
In file included from crypto/bn/convert.c:62:
crypto/bn/internal.h:145:9: error: 'BN_ULLONG' macro redefined [-Werror,-Wmacro-redefined]
#define BN_ULLONG       uint128_t
        ^
/usr/local/opt/openssl/include/openssl/bn.h:182:11: note: previous definition is here
#  define BN_ULLONG       unsigned long long
          ^
In file included from crypto/bn/convert.c:62:
crypto/bn/internal.h:151:9: error: 'BN_MASK2' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2        (0xffffffffffffffffUL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:190:11: note: previous definition is here
#  define BN_MASK2        (0xffffffffffffffffL)
          ^
In file included from crypto/bn/convert.c:62:
crypto/bn/internal.h:152:9: error: 'BN_MASK2l' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2l       (0xffffffffUL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:191:11: note: previous definition is here
#  define BN_MASK2l       (0xffffffffL)
          ^
In file included from crypto/bn/convert.c:62:
crypto/bn/internal.h:153:9: error: 'BN_MASK2h' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2h       (0xffffffff00000000UL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:192:11: note: previous definition is here
#  define BN_MASK2h       (0xffffffff00000000L)
          ^
In file included from crypto/bn/convert.c:62:
crypto/bn/internal.h:154:9: error: 'BN_MASK2h1' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2h1      (0xffffffff80000000UL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:193:11: note: previous definition is here
#  define BN_MASK2h1      (0xffffffff80000000L)
          ^
In file included from crypto/bn/convert.c:62:
crypto/bn/internal.h:157:9: error: 'BN_TBIT' macro redefined [-Werror,-Wmacro-redefined]
#define BN_TBIT         (0x8000000000000000UL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:194:11: note: previous definition is here
#  define BN_TBIT         (0x8000000000000000L)
          ^
make: *** [/Users/drusellers/dev/beta/camp/abc/target/debug/build/ring-8963b21f1d1db7c4/out/obj/crypto/bn/bn.o] Error 1
crypto/bn/cmp.c:139:5: error: no previous prototype for function 'GFp_BN_abs_is_word' [-Werror,-Wmissing-prototypes]
int GFp_BN_abs_is_word(const BIGNUM *bn, BN_ULONG w) {
    ^
crypto/bn/cmp.c:152:3: error: implicit declaration of function 'GFp_BN_init' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  GFp_BN_init(&b_bn);
  ^
crypto/bn/add.c:99:9: note: did you mean 'GFp_BN_add'?
crypto/bn/add.c:67:5: note: 'GFp_BN_add' declared here
crypto/bn/convert.c:79:int GFp_BN_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b) {7
    ^
: error: implicit declaration of function 'GFp_bn_wexpand' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  if (GFp_bn_wexpand(ret, num_words) == NULL) {
      ^
crypto/bn/add.c:67:5: error: no previous prototype for function 'GFp_BN_add' [-Werror,-Wmissing-prototypes]
int GFp_BN_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b) {
    ^
crypto/bn/add.c:118:7: error: implicit declaration of function 'GFp_bn_wexpand' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  if (GFp_bn_wexpand(r, max + 1) == NULL) {
      ^
crypto/bn/cmp.c:150:5: error: no previous prototype for function 'GFp_BN_cmp_word' [-Werror,-Wmissing-prototypes]
int GFp_BN_cmp_word(const BIGNUM *a, BN_ULONG b) {
    ^
crypto/bn/cmp.c:161:5: error: no previous prototype for function 'GFp_BN_is_zero' [-Werror,-Wmissing-prototypes]
int GFp_BN_is_zero(const BIGNUM *bn) {
    ^
crypto/bn/cmp.c:165:5: error: no previous prototype for function 'GFp_BN_is_one' [-Werror,-Wmissing-prototypes]
crypto/bn/convert.c:79:38: int GFp_BN_is_one(const BIGNUM *bn) {error: comparison between pointer and integer ('int' and 'void *') [-Werror]
  if (GFp_bn_wexpand(ret, num_words) == NULL) {
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
crypto/bn/convert.c:100:3: error: implicit declaration of function 'GFp_bn_correct_top' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  GFp_bn_correct_top(ret);
  ^

    ^crypto/bn/add.c:118:34: error: comparison between pointer and integer ('int' and 'void *') [-Werror]

  if (GFp_bn_wexpand(r, max + 1) == NULL) {
      ~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
crypto/bn/cmp.ccrypto/bn/add.c:104:5: error: no previous prototype for function 'GFp_BN_uadd' [-Werror,-Wmissing-prototypes]
int GFp_BN_uadd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b) {
    ^
:169:5: error: no previous prototype for function 'GFp_BN_is_odd' [-Werror,-Wmissing-prototypes]
int GFp_BN_is_odd(const BIGNUM *bn) {
    ^
crypto/bn/add.c:200:30: error: comparison between pointer and integer ('int' and 'void *') [-Werror]
  if (GFp_bn_wexpand(r, max) == NULL) {
      ~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
19 errors generated.
20 errors generated.
In file included from crypto/bn/exponentiation.c:114:
In file included from include/openssl/cpu.h:64:
include/openssl/base.h:110:9: error: 'OPENSSL_VERSION_NUMBER' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_VERSION_NUMBER 0x10002000
        ^
/usr/local/opt/openssl/include/openssl/opensslv.h:33:10: note: previous definition is here
# define OPENSSL_VERSION_NUMBER  0x100020bfL
         ^
In file included from crypto/bn/exponentiation.c:114:
In file included from include/openssl/cpu.h:64:
include/openssl/base.h:115:9: error: 'OPENSSL_EXPORT' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_EXPORT
        ^
/usr/local/opt/openssl/include/openssl/e_os2.h:276:11: note: previous definition is here
#  define OPENSSL_EXPORT extern
          ^
crypto/bn/convert.c:65:5: error: no previous prototype for function 'GFp_BN_bin2bn' [-Werror,-Wmissing-prototypes]
int GFp_BN_bin2bn(const uint8_t *in, size_t len, BIGNUM *ret) {
    ^
crypto/bn/convert.c:135:7: error: implicit declaration of function 'GFp_BN_is_zero' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  if (GFp_BN_is_zero(in)) {
      ^
In file included from crypto/bn/exponentiation.c:116:
include/openssl/mem.h:77:9: error: 'OPENSSL_malloc' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_malloc malloc
        ^
/usr/local/opt/openssl/include/openssl/crypto.h:381:10: note: previous definition is here
# define OPENSSL_malloc(num)     CRYPTO_malloc((int)num,__FILE__,__LINE__)
         ^
In file included from crypto/bn/exponentiation.c:116:
include/openssl/mem.h:78:9: error: 'OPENSSL_realloc' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_realloc realloc
        ^
/usr/local/opt/openssl/include/openssl/crypto.h:383:10: note: previous definition is here
# define OPENSSL_realloc(addr,num) \
         ^
In file included from crypto/bn/exponentiation.c:116:
include/openssl/mem.h:79:9: error: 'OPENSSL_free' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_free free
        ^
/usr/local/opt/openssl/include/openssl/crypto.h:390:10: note: previous definition is here
# define OPENSSL_free(addr)      CRYPTO_free(addr)
         ^
make: *** [/Users/drusellers/dev/beta/camp/abc/target/debug/build/ring-8963b21f1d1db7c4/out/obj/crypto/bn/cmp.o] Error 1
make: In file included from *** [/Users/drusellers/dev/beta/camp/abc/target/debug/build/ring-8963b21f1d1db7c4/out/obj/crypto/bn/add.o] Error 1
crypto/bn/div.c:63:
In file included from crypto/bn/internal.h:126:
include/openssl/base.h:110:9: error: 'OPENSSL_VERSION_NUMBER' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_VERSION_NUMBER 0x10002000
        ^
/usr/local/opt/openssl/include/openssl/opensslv.h:33:10: note: previous definition is here
# define OPENSSL_VERSION_NUMBER  0x100020bfL
         ^
In file included from crypto/bn/div.c:63:
In file included from crypto/bn/internal.h:126:
include/openssl/base.h:115:9: error: 'OPENSSL_EXPORT' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_EXPORT
        ^
/usr/local/opt/openssl/include/openssl/e_os2.h:276:11: note: previous definition is here
#  define OPENSSL_EXPORT extern
          ^
In file included from crypto/bn/exponentiation.c:118:
crypto/bn/internal.h:145:9: error: 'BN_ULLONG' macro redefined [-Werror,-Wmacro-redefined]
#define BN_ULLONG       uint128_t
        ^
/usr/local/opt/openssl/include/openssl/bn.h:182:11: note: previous definition is here
#  define BN_ULLONG       unsigned long long
          ^
In file included from crypto/bn/exponentiation.c:118:
crypto/bn/internal.h:151:9: error: 'BN_MASK2' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2        (0xffffffffffffffffUL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:190:11: note: previous definition is here
#  define BN_MASK2        (0xffffffffffffffffL)
          ^
In file included from crypto/bn/exponentiation.c:118:
crypto/bn/internal.h:152:9: error: 'BN_MASK2l' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2l       (0xffffffffUL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:191:11: note: previous definition is here
#  define BN_MASK2l       (0xffffffffL)
          ^
In file included from crypto/bn/gcd.c:113:
In file included from In file included from crypto/bn/exponentiation.c:118:
crypto/bn/internal.h:153:9: error: 'BN_MASK2h' macro redefined [-Werror,-Wmacro-redefined]
crypto/bn/internal.h:126:
include/openssl/base.h:110:9: #define BN_MASK2h       (0xffffffff00000000UL)
        ^
error: 'OPENSSL_VERSION_NUMBER' macro redefined [-Werror,-Wmacro-redefined]/usr/local/opt/openssl/include/openssl/bn.h
:192:11: note: previous definition is here
#  define BN_MASK2h       (0xffffffff00000000L)
          ^
In file included from crypto/bn/exponentiation.c:118:
crypto/bn/internal.h:154:9: error: 'BN_MASK2h1' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_VERSION_NUMBER 0x10002000#define BN_MASK2h1      (0xffffffff80000000UL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:193:11: note: previous definition is here

        ^
#  define BN_MASK2h1      (0xffffffff80000000L)
          ^
/usr/local/opt/openssl/include/openssl/opensslv.h:33:In file included from 10crypto/bn/exponentiation.c:118:
crypto/bn/internal.h:157:9: note: previous definition is here
:# define OPENSSL_VERSION_NUMBER  0x100020bfL
          ^error
: 'BN_TBIT' macro redefined [-Werror,-Wmacro-redefined]
In file included from crypto/bn/gcd.c:113:
In file included from crypto/bn/internal.h:126:
include/openssl/base.h:115:9: error: 'OPENSSL_EXPORT' macro redefined [-Werror,-Wmacro-redefined]
#define OPENSSL_EXPORT
        ^
#define BN_TBIT         (0x8000000000000000UL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:194:11: note: previous definition is here
/usr/local/opt/openssl/include/openssl/e_os2.h:276:11: note: previous definition is here
#  define BN_TBIT         (0x8000000000000000L)#  define OPENSSL_EXPORT extern
          ^

          ^
In file included from crypto/bn/div.c:63:
crypto/bn/internal.h:145:9: error: 'BN_ULLONG' macro redefined [-Werror,-Wmacro-redefined]
#define BN_ULLONG       uint128_t
        ^
/usr/local/opt/openssl/include/openssl/bn.h:182:11: note: previous definition is here
#  define BN_ULLONG       unsigned long long
          ^
In file included from crypto/bn/div.c:63:
crypto/bn/internal.h:151:9: error: 'BN_MASK2' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2        (0xffffffffffffffffUL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:190:11: note: previous definition is here
#  define BN_MASK2        (0xffffffffffffffffL)
          ^
In file included from crypto/bn/div.c:63:
crypto/bn/internal.h:152:9: error: 'BN_MASK2l' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2l       (0xffffffffUL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:191:11: note: previous definition is here
#  define BN_MASK2l       (0xffffffffL)
          ^
In file included from crypto/bn/div.c:63:
crypto/bn/internal.h:153:9: error: 'BN_MASK2h' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2h       (0xffffffff00000000UL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:192:11: note: previous definition is here
#  define BN_MASK2h       (0xffffffff00000000L)
          ^
In file included from crypto/bn/div.c:63:
crypto/bn/internal.h:154:9: error: 'BN_MASK2h1' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2h1      (0xffffffff80000000UL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:193:11: note: previous definition is here
#  define BN_MASK2h1      (0xffffffff80000000L)
          ^
In file included from crypto/bn/div.c:63:
crypto/bn/internal.h:157:9: error: 'BN_TBIT' macro redefined [-Werror,-Wmacro-redefined]
#define BN_TBIT         (0x8000000000000000UL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:194:11: note: previous definition is here
crypto/bn/exponentiation.c:164:7: error#  define BN_TBIT         (0x8000000000000000L)
          ^
: implicit declaration of function 'GFp_bn_wexpand' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  if (GFp_bn_wexpand(b, top) == NULL) {
      ^
crypto/bn/div.c:204:5: error: implicit declaration of function 'OPENSSL_PUT_ERROR' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
    OPENSSL_PUT_ERROR(BN, BN_R_NOT_INITIALIZED);
    ^
In file included from crypto/bn/gcd.c:113:
crypto/bn/internal.h:145:9: error: 'BN_ULLONG' macro redefined [-Werror,-Wmacro-redefined]
#define BN_ULLONG       uint128_t
        ^
/usr/local/opt/openssl/include/openssl/bn.h:182:11: note: previous definition is here
#  define BN_ULLONG       unsigned long long
          ^
In file included from crypto/bn/gcd.c:113:
crypto/bn/internal.h:151:9: error: 'BN_MASK2' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2        (0xffffffffffffffffUL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:190:11: note: previous definition is here
#  define BN_MASK2        (0xffffffffffffffffL)
          ^
In file included from crypto/bn/gcd.c:113:
crypto/bn/internal.h:152:9: error: 'BN_MASK2l' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2l       (0xffffffffUL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:191:11: note: previous definition is here
#  define BN_MASK2l       (0xffffffffL)
          ^
In file included from crypto/bn/gcd.c:113:
crypto/bn/internal.h:153:9: error: 'BN_MASK2h' macro redefined [-Werror,-Wmacro-redefined]
#define BN_MASK2h       (0xffffffff00000000UL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:192:11: note: previous definition is here
#  define BN_MASK2h       (0xffffffff00000000L)
          ^
In file included from crypto/bn/gcd.c:113:
crypto/bn/internal.h:154:9: error: 'BN_MASK2h1' macro redefined [-Werror,-Wmacro-redefined]
crypto/bn/convert.c:133:5: error: no previous prototype for function 'GFp_BN_bn2bin_padded' [-Werror,-Wmissing-prototypes]
int GFp_BN_bn2bin_padded(uint8_t *out, size_t len, const BIGNUM *in) {
    ^
#define BN_MASK2h1      (0xffffffff80000000UL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:193:11: note: previous definition is here
#  define BN_MASK2h1      (0xffffffff80000000L)
          ^
In file included from crypto/bn/gcd.c:113:
crypto/bn/internal.h:157:9: error: 'BN_TBIT' macro redefined [-Werror,-Wmacro-redefined]
#define BN_TBIT         (0x8000000000000000UL)
        ^
/usr/local/opt/openssl/include/openssl/bn.h:194:11: note: previous definition is here
#  define BN_TBIT         (0x8000000000000000L)
          ^
crypto/bn/exponentiation.c:164:30: error: comparison between pointer and integer ('int' and 'void *') [-Werror]
  if (GFp_bn_wexpand(b, top) == NULL) {
      ~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
14 errors generated.
crypto/bn/gcd.c:120:8: error: implicit declaration of function 'GFp_BN_is_odd' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  if (!GFp_BN_is_odd(n)) {
       ^
crypto/bn/exponentiation.c:204:3: error: implicit declaration of function 'GFp_bn_correct_top' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  GFp_bn_correct_top(b);
  ^
crypto/bn/div.c:204:23: error: use of undeclared identifier 'BN'
    OPENSSL_PUT_ERROR(BN, BN_R_NOT_INITIALIZED);
                      ^
crypto/bn/div.c:208:7: error: implicit declaration of function 'GFp_BN_is_zero' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  if (GFp_BN_is_zero(divisor)) {
      ^
crypto/bn/gcd.c:121:5: error: implicit declaration of function 'OPENSSL_PUT_ERROR' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
    OPENSSL_PUT_ERROR(BN, BN_R_CALLED_WITH_EVEN_MODULUS);
    ^
crypto/bn/div.c:209:23: error: use of undeclared identifier 'BN'
    OPENSSL_PUT_ERROR(BN, BN_R_DIV_BY_ZERO);
                      ^
crypto/bn/div.c:214:3: error: implicit declaration of function 'GFp_BN_init' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  GFp_BN_init(&snum);
  ^
make: *** [/Users/drusellers/dev/beta/camp/abc/target/debug/build/ring-8963b21f1d1db7c4/out/obj/crypto/bn/convert.o] Error 1
crypto/bn/exponentiation.c:269:10: error: implicit declaration of function 'GFp_BN_num_bits' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  bits = GFp_BN_num_bits(p);
         ^
crypto/bn/div.c:214:3: note: did you mean 'GFp_BN_div'?
crypto/bn/div.c:193:5: note: 'GFp_BN_div' declared here
int GFp_BN_div(BIGNUM *dv, BIGNUM *rm, const BIGNUM *num,
    ^
crypto/bn/div.c:237:29: error: implicit declaration of function 'GFp_BN_num_bits' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  norm_shift = BN_BITS2 - ((GFp_BN_num_bits(divisor)) % BN_BITS2);
                            ^
crypto/bn/gcd.c:121:23: error: use of undeclared identifier 'BN'
    OPENSSL_PUT_ERROR(BN, BN_R_CALLED_WITH_EVEN_MODULUS);
                      ^
crypto/bn/gcd.c:125:7: error: implicit declaration of function 'GFp_BN_is_negative' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  if (GFp_BN_is_negative(a) || GFp_BN_cmp(a, n) >= 0) {
      ^
crypto/bn/exponentiation.c:269:10: note: did you mean 'BN_num_bits'?
/usr/local/opt/openssl/include/openssl/bn.h:435:5: note: 'BN_num_bits' declared here
int BN_num_bits(const BIGNUM *a);
    ^
crypto/bn/exponentiation.c:327:15: error: implicit declaration of function 'GFp_BN_set_word' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  } else if (!GFp_BN_set_word(&tmp, 1) ||
              ^
crypto/bn/div.c:237:29: note: did you mean 'BN_num_bits'?
/usr/local/opt/openssl/include/openssl/bn.h:435:5: note: 'BN_num_bits' declared here
int BN_num_bits(const BIGNUM *a);
    ^
crypto/bn/div.c:238:9: error: implicit declaration of function 'GFp_BN_lshift' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  if (!(GFp_BN_lshift(&sdiv, divisor, norm_shift))) {
        ^
crypto/bn/gcd.c:125:32: error: implicit declaration of function 'GFp_BN_cmp' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  if (GFp_BN_is_negative(a) || GFp_BN_cmp(a, n) >= 0) {
                               ^
crypto/bn/div.c:252:9: error: implicit declaration of function 'GFp_bn_wexpand' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
    if (GFp_bn_wexpand(&snum, sdiv.top + 2) == NULL) {
        ^
crypto/bn/exponentiation.c:327:15: note: did you mean 'BN_set_word'?
/usr/local/opt/openssl/include/openssl/bn.h:489:5: note: 'BN_set_word' declared here
int BN_set_word(BIGNUM *a, BN_ULONG w);
    ^
crypto/bn/exponentiation.c:328:15: error: implicit declaration of function 'GFp_BN_to_mont' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
             !GFp_BN_to_mont(&tmp, &tmp, mont)) {
              ^
crypto/bn/gcd.c:126:23: error: use of undeclared identifier 'BN'
    OPENSSL_PUT_ERROR(BN, BN_R_INPUT_NOT_REDUCED);
                      ^
crypto/bn/gcd.c:131:3: error: implicit declaration of function 'GFp_BN_init' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  GFp_BN_init(&A);
  ^
crypto/bn/div.c:252:45: error: comparison between pointer and integer ('int' and 'void *') [-Werror]
    if (GFp_bn_wexpand(&snum, sdiv.top + 2) == NULL) {
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
crypto/bn/div.c:260:45: error: comparison between pointer and integer ('int' and 'void *') [-Werror]
    if (GFp_bn_wexpand(&snum, snum.top + 1) == NULL) {
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~~~
crypto/bn/div.c:378:3: error: implicit declaration of function 'GFp_bn_correct_top' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  GFp_bn_correct_top(&snum);
  ^
crypto/bn/gcd.c:147:3: error: implicit declaration of function 'GFp_BN_zero' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  GFp_BN_zero(&Y);
  ^
crypto/bn/gcd.c:148:8: error: implicit declaration of function 'GFp_BN_one' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  if (!GFp_BN_one(&X) ||
       ^
crypto/bn/exponentiation.c:333:17: error: implicit declaration of function 'GFp_BN_ucmp' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  if (a->neg || GFp_BN_ucmp(a, m) >= 0) {
                ^
crypto/bn/gcd.c:149:8: error: implicit declaration of function 'GFp_BN_copy' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
      !GFp_BN_copy(&B, a) ||
       ^
crypto/bn/exponentiation.c:334:5: error: implicit declaration of function 'OPENSSL_PUT_ERROR' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
    OPENSSL_PUT_ERROR(BN, BN_R_INPUT_NOT_REDUCED);
    ^
crypto/bn/gcd.c:149:8: note: did you mean 'GFp_BN_cmp'?
crypto/bn/gcd.c:125:32: note: 'GFp_BN_cmp' declared here
  if (GFp_BN_is_negative(a) || GFp_BN_cmp(a, n) >= 0) {
                               ^
crypto/bn/gcd.c:167:11: error: implicit declaration of function 'GFp_BN_is_zero' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  while (!GFp_BN_is_zero(&B)) {
          ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
crypto/bn/gcd.c:167:11: note: did you mean 'GFp_BN_zero'?
crypto/bn/gcd.c:147:3: note: 'GFp_BN_zero' declared here
  GFp_BN_zero(&Y);
  ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
20 errors generated.
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [/Users/drusellers/dev/beta/camp/abc/target/debug/build/ring-8963b21f1d1db7c4/out/obj/crypto/bn/div.o] Error 1
make: *** [/Users/drusellers/dev/beta/camp/abc/target/debug/build/ring-8963b21f1d1db7c4/out/obj/crypto/bn/gcd.o] Error 1
make: *** [/Users/drusellers/dev/beta/camp/abc/target/debug/build/ring-8963b21f1d1db7c4/out/obj/crypto/bn/exponentiation.o] Error 1
thread 'main' panicked at 'make execution failed', /Users/drusellers/.cargo/registry/src/github.com-1ecc6299db9ec823/ring-0.6.3/build.rs:236
note: Run with `RUST_BACKTRACE=1` for a backtrace.

Any ideas would be much appreciated.

@indiv0
Copy link
Contributor

indiv0 commented Apr 19, 2017

Off the top of my head I'm not sure what's causing this, but I found a related issue on Github (that's currently unsolved).

This is a shot in the dark, but the function name GFp_AES_encrypt indicates to me that maybe this is an issue related to lack of AES support. Looking around, I found that these functions look to be ASM functions used for AES encryption, and they're used in ring. Which makes me think that maybe the platform you're trying to build on doesn't support AES hardware acceleration (i.e., AES-NI). Can you confirm this, please? Also, what platform are you actually working on/trying to compile for?

Since I'm kinda out of my depth here (having not really worked with ASM before), maybe @briansmith (having written ring) can chime in?

@briansmith
Copy link
Contributor

If the function starts with GFp_ then it's a ring function, not OpenSSL.

is your target x86_64 macOS? Which C/C++ compiler are you using? Which version?

@drusellers
Copy link
Contributor Author

I'm working on a MacOS yes. Latest OS - I'm not sure how I would check my c/c++ compiler to be honest.

@drusellers
Copy link
Contributor Author

10.12.4

@briansmith
Copy link
Contributor

cc --version? Also, if you have clang then try CC=clang CXX=clang++ cargo test.

@drusellers
Copy link
Contributor Author

Apple LLVM version 8.1.0 (clang-802.0.38)
Target: x86_64-apple-darwin16.5.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
--- stderr
crypto/aes/aes.c:573:6: error: no previous prototype for function 'GFp_AES_encrypt' [-Werror,-Wmissing-prototypes]
void GFp_AES_encrypt(const uint8_t *in, uint8_t *out, const AES_KEY *key) {
     ^
crypto/aes/aes.c:585:5: error: no previous prototype for function 'GFp_AES_set_encrypt_key' [-Werror,-Wmissing-prototypes]
int GFp_AES_set_encrypt_key(const uint8_t *key, unsigned bits,
    ^
2 errors generated.

@briansmith
Copy link
Contributor

could you echo $INCLUDE? In particular, do you have OpenSSL's header files in the include path ahead of ring's same-named header files?

@drusellers
Copy link
Contributor Author

> echo $INCLUDE

blank

also

▶ env | grep OPENSSL
OPENSSL_INCLUDE_DIR=/usr/local/opt/openssl/include
OPENSSL_LIB_DIR=/usr/local/opt/openssl/lib
DEP_OPENSSL_INCLUDE=/usr/local/opt/openssl/include

@briansmith
Copy link
Contributor

It looks like your xcode/clang is even newer than the one I use on Travis CI, if I'm understanding the version numbers correctly. I guess it is possible that something broke in newer versions but I doubt it, because I think the code is correct wr.t. that declaration. The declaration is in openssl/aes.h, which is included at the top of aes.c.

Maybe something is borked in your environment. Could you try cargo clean && cargo update && cargo build. Otherwise, I'd investigate if you're doing something weird with $INCLUDE or $CFLAGS or $CPPFLAGS.

Regardless, to reduce the chance of confusion between OpenSSL and ring headers further, I just committed briansmith/ring@ff71d52, which will be in the next ring release.

@drusellers
Copy link
Contributor Author

> cargo clean && cargo update && cargo build

still gets me the same ring error - error: failed to run custom build command for ring v0.6.3

▶ echo $CPPFLAGS
-I/usr/local/opt/openssl/include

@drusellers
Copy link
Contributor Author

Cargo Lock File

[root]
name = "abc"
version = "0.1.0"
dependencies = [
 "rusoto 0.23.1 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "Inflector"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 "regex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "advapi32-sys"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "aho-corasick"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "antidote"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "bitflags"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "bitflags"
version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "chrono"
version = "0.2.25"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "num 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
 "time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "core-foundation"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 "libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "core-foundation-sys"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "crypt32-sys"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "deque"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "dtoa"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "dtoa"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "foreign-types"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "gcc"
version = "0.3.45"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "gdi32-sys"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "httparse"
version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "hyper"
version = "0.10.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "httparse 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
 "mime 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 "num_cpus 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "rustc-serialize 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)",
 "rustc_version 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 "time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)",
 "traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "unicase 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "hyper-native-tls"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "antidote 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "hyper 0.10.9 (registry+https://github.com/rust-lang/crates.io-index)",
 "native-tls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "idna"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "matches 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
 "unicode-bidi 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)",
 "unicode-normalization 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "itoa"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "itoa"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "kernel32-sys"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "language-tags"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "lazy_static"
version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "libc"
version = "0.2.21"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "log"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "matches"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "md5"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "memchr"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "mime"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "native-tls"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "openssl 0.9.11 (registry+https://github.com/rust-lang/crates.io-index)",
 "schannel 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
 "security-framework 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
 "security-framework-sys 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
 "tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "num"
version = "0.1.37"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
 "num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)",
 "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "num-integer"
version = "0.1.34"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "num-iter"
version = "0.1.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)",
 "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "num-traits"
version = "0.1.37"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "num_cpus"
version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "openssl"
version = "0.9.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "foreign-types 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 "libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
 "openssl-sys 0.9.11 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "openssl-sys"
version = "0.9.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "gcc 0.3.45 (registry+https://github.com/rust-lang/crates.io-index)",
 "gdi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
 "pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
 "user32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "pkg-config"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "quote"
version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "rand"
version = "0.3.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "rayon"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
 "num_cpus 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "redox_syscall"
version = "0.1.17"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "regex"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
 "memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "regex-syntax 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "thread_local 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
 "utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "regex-syntax"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "reqwest"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "hyper 0.10.9 (registry+https://github.com/rust-lang/crates.io-index)",
 "log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
 "native-tls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde_json 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde_urlencoded 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "ring"
version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 "libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
 "untrusted 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "rusoto"
version = "0.23.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "chrono 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)",
 "hyper 0.10.9 (registry+https://github.com/rust-lang/crates.io-index)",
 "hyper-native-tls 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 "log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
 "md5 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
 "rayon 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "regex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "ring 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)",
 "rusoto_codegen 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "rusoto_credential 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "rustc-serialize 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)",
 "rustc_version 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde_derive 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde_json 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)",
 "time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)",
 "url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "xml-rs 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "rusoto_codegen"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "Inflector 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "hyper 0.10.9 (registry+https://github.com/rust-lang/crates.io-index)",
 "lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 "regex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde_derive 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde_json 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "rusoto_credential"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "chrono 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)",
 "regex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "reqwest 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde_json 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "rustc-serialize"
version = "0.3.23"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "rustc_version"
version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "semver 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "schannel"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "advapi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "crypt32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 "secur32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "secur32-sys"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "security-framework"
version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "core-foundation 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 "libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
 "security-framework-sys 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "security-framework-sys"
version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
 "libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "semver"
version = "0.1.20"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "serde"
version = "0.8.23"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "serde"
version = "0.9.14"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "serde_codegen_internals"
version = "0.14.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "syn 0.11.10 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "serde_derive"
version = "0.9.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde_codegen_internals 0.14.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "syn 0.11.10 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "serde_json"
version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "dtoa 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "itoa 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "serde_json"
version = "0.9.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)",
 "serde 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "serde_urlencoded"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "serde 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)",
 "url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "syn"
version = "0.11.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
 "synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)",
 "unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "synom"
version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "tempdir"
version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "thread-id"
version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "thread_local"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "thread-id 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
 "unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "time"
version = "0.1.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
 "libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
 "redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
 "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "traitobject"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "typeable"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "unicase"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "rustc_version 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "unicode-bidi"
version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "matches 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "unicode-normalization"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "unicode-xid"
version = "0.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "unreachable"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "untrusted"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "url"
version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "idna 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
 "matches 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "user32-sys"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
 "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
]

[[package]]
name = "utf8-ranges"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "void"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "winapi"
version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "winapi-build"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"

[[package]]
name = "xml-rs"
version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
 "bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
]

[metadata]
"checksum Inflector 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c7c19d25307383974da633a677359cea2f6b143debcc30f2ea21e74fd0ab2e92"
"checksum advapi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e06588080cb19d0acb6739808aafa5f26bfb2ca015b2b6370028b44cf7cb8a9a"
"checksum aho-corasick 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "500909c4f87a9e52355b26626d890833e9e1d53ac566db76c36faa984b889699"
"checksum antidote 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "34fde25430d87a9388dadbe6e34d7f72a462c8b43ac8d309b42b0a8505d7e2a5"
"checksum bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "aad18937a628ec6abcd26d1489012cc0e18c21798210f491af69ded9b881106d"
"checksum bitflags 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1370e9fc2a6ae53aea8b7a5110edbd08836ed87c88736dfabccade1c2b44bff4"
"checksum chrono 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)" = "9213f7cd7c27e95c2b57c49f0e69b1ea65b27138da84a170133fd21b07659c00"
"checksum core-foundation 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "25bfd746d203017f7d5cbd31ee5d8e17f94b6521c7af77ece6c9e4b2d4b16c67"
"checksum core-foundation-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "065a5d7ffdcbc8fa145d6f0746f3555025b9097a9e9cda59f7467abae670c78d"
"checksum crypt32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e34988f7e069e0b2f3bfc064295161e489b2d4e04a2e4248fb94360cdf00b4ec"
"checksum deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1614659040e711785ed8ea24219140654da1729f3ec8a47a9719d041112fe7bf"
"checksum dtoa 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0dd841b58510c9618291ffa448da2e4e0f699d984d436122372f446dae62263d"
"checksum dtoa 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "80c8b71fd71146990a9742fc06dcbbde19161a267e0ad4e572c35162f4578c90"
"checksum foreign-types 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3e4056b9bd47f8ac5ba12be771f77a0dae796d1bbaaf5fd0b9c2d38b69b8a29d"
"checksum gcc 0.3.45 (registry+https://github.com/rust-lang/crates.io-index)" = "40899336fb50db0c78710f53e87afc54d8c7266fb76262fecc78ca1a7f09deae"
"checksum gdi32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0912515a8ff24ba900422ecda800b52f4016a56251922d397c576bf92c690518"
"checksum httparse 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77f756bed9ee3a83ce98774f4155b42a31b787029013f3a7d83eca714e500e21"
"checksum hyper 0.10.9 (registry+https://github.com/rust-lang/crates.io-index)" = "94da93321c171e26481afeebe8288757b0501901b7c5492648163d8ec4942ec5"
"checksum hyper-native-tls 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "afe68f772f0497a7205e751626bb8e1718568b58534b6108c73a74ef80483409"
"checksum idna 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6ac85ec3f80c8e4e99d9325521337e14ec7555c458a14e377d189659a427f375"
"checksum itoa 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ae3088ea4baeceb0284ee9eea42f591226e6beaecf65373e41b38d95a1b8e7a1"
"checksum itoa 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "eb2f404fbc66fd9aac13e998248505e7ecb2ad8e44ab6388684c5fb11c6c251c"
"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
"checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
"checksum lazy_static 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3b37545ab726dd833ec6420aaba8231c5b320814b9029ad585555d2a03e94fbf"
"checksum libc 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)" = "88ee81885f9f04bff991e306fea7c1c60a5f0f9e409e99f6b40e3311a3363135"
"checksum log 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)" = "5141eca02775a762cc6cd564d8d2c50f67c0ea3a372cbf1c51592b3e029e10ad"
"checksum matches 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "efd7622e3022e1a6eaa602c4cea8912254e5582c9c692e9167714182244801b1"
"checksum md5 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "26116c517166d074960f4ec6be77cd126878cfeb6f9616642108bf85f2d76515"
"checksum memchr 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1dbccc0e46f1ea47b9f17e6d67c5a96bd27030519c519c9c91327e31275a47b4"
"checksum mime 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "5514f038123342d01ee5f95129e4ef1e0470c93bc29edf058a46f9ee3ba6737e"
"checksum native-tls 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1e94a2fc65a44729fe969cc973da87c1052ae3f000b2cb33029f14aeb85550d5"
"checksum num 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "98b15ba84e910ea7a1973bccd3df7b31ae282bf9d8bd2897779950c9b8303d40"
"checksum num-integer 0.1.34 (registry+https://github.com/rust-lang/crates.io-index)" = "ef1a4bf6f9174aa5783a9b4cc892cacd11aebad6c69ad027a0b65c6ca5f8aa37"
"checksum num-iter 0.1.33 (registry+https://github.com/rust-lang/crates.io-index)" = "f7d1891bd7b936f12349b7d1403761c8a0b85a18b148e9da4429d5d102c1a41e"
"checksum num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)" = "e1cbfa3781f3fe73dc05321bed52a06d2d491eaa764c52335cf4399f046ece99"
"checksum num_cpus 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a18c392466409c50b87369414a2680c93e739aedeb498eb2bff7d7eb569744e2"
"checksum openssl 0.9.11 (registry+https://github.com/rust-lang/crates.io-index)" = "241bcf67b1bb8d19da97360a925730bdf5b6176d434ab8ded55b4ca632346e3a"
"checksum openssl-sys 0.9.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e5e0fd64cb2fa018ed2e7b2c8d9649114fe5da957c9a67432957f01e5dcc82e9"
"checksum pkg-config 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "3a8b4c6b8165cd1a1cd4b9b120978131389f64bdaf456435caa41e630edba903"
"checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"
"checksum rand 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "022e0636ec2519ddae48154b028864bdce4eaf7d35226ab8e65c611be97b189d"
"checksum rayon 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "50c575b58c2b109e2fbc181820cbe177474f35610ff9e357dc75f6bac854ffbf"
"checksum redox_syscall 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "29dbdfd4b9df8ab31dec47c6087b7b13cbf4a776f335e4de8efba8288dda075b"
"checksum regex 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4278c17d0f6d62dfef0ab00028feb45bd7d2102843f80763474eeb1be8a10c01"
"checksum regex-syntax 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9191b1f57603095f105d317e375d19b1c9c5c3185ea9633a99a6dcbed04457"
"checksum reqwest 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "dfc011675ace22e9dd00d0734b1d00854859e6309c9545b6eb3e98cc088cf1eb"
"checksum ring 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f171b03b4d8db3b2b2de34661ad25b8f21749a7b94fbb0090463be285122cd83"
"checksum rusoto 0.23.1 (registry+https://github.com/rust-lang/crates.io-index)" = "70ef50eae6a2604f0e332a4e6e8e48434b10e516a40934c357cfa501e51a0e70"
"checksum rusoto_codegen 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6abc5c06c51d596124af8bcc0af8f1e7f0073632181d979ca4f1ed46ccf14feb"
"checksum rusoto_credential 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7e95a6fa69ee072cadf266510bf92462702daaf3842ad4d9672dd8b2de53f4ef"
"checksum rustc-serialize 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)" = "684ce48436d6465300c9ea783b6b14c4361d6b8dcbb1375b486a69cc19e2dfb0"
"checksum rustc_version 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "c5f5376ea5e30ce23c03eb77cbe4962b988deead10910c372b226388b594c084"
"checksum schannel 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "c8b291854e37196c2b67249e09d6bdeff410b19e1acf05558168e9c4413b4e95"
"checksum secur32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3f412dfa83308d893101dd59c10d6fda8283465976c28c287c5c855bf8d216bc"
"checksum security-framework 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "42ddf098d78d0b64564b23ee6345d07573e7d10e52ad86875d89ddf5f8378a02"
"checksum security-framework-sys 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "5bacdada57ea62022500c457c8571c17dfb5e6240b7c8eac5916ffa8c7138a55"
"checksum semver 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)" = "d4f410fedcf71af0345d7607d246e7ad15faaadd49d240ee3b24e5dc21a820ac"
"checksum serde 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)" = "9dad3f759919b92c3068c696c15c3d17238234498bbdcc80f2c469606f948ac8"
"checksum serde 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)" = "a4c9a40d556f8431394def53446db659f796dc87a53ef67b7541f21057fbdd91"
"checksum serde_codegen_internals 0.14.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bc888bd283bd2420b16ad0d860e35ad8acb21941180a83a189bb2046f9d00400"
"checksum serde_derive 0.9.14 (registry+https://github.com/rust-lang/crates.io-index)" = "3e472ff72816522c7837cf932585a838576a85e8642632ccf7b8d43b7a1bf1af"
"checksum serde_json 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)" = "67f7d2e9edc3523a9c8ec8cd6ec481b3a27810aafee3e625d311febd3e656b4c"
"checksum serde_json 0.9.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ad8bcf487be7d2e15d3d543f04312de991d631cfe1b43ea0ade69e6a8a5b16a1"
"checksum serde_urlencoded 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "53d4ebaa8d1d4f90d1b63dfca81ccd98ac20e1e479dbae393cbaf60f6fecd8d8"
"checksum syn 0.11.10 (registry+https://github.com/rust-lang/crates.io-index)" = "171b739972d9a1bfb169e8077238b51f9ebeaae4ff6e08072f7ba386a8802da2"
"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6"
"checksum tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff662132d6"
"checksum thread-id 3.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4437c97558c70d129e40629a5b385b3fb1ffac301e63941335e4d354081ec14a"
"checksum thread_local 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c85048c6260d17cf486ceae3282d9fb6b90be220bf5b28c400f5485ffc29f0c7"
"checksum time 0.1.36 (registry+https://github.com/rust-lang/crates.io-index)" = "211b63c112206356ef1ff9b19355f43740fc3f85960c598a93d3a3d3ba7beade"
"checksum traitobject 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "efd1f82c56340fdf16f2a953d7bda4f8fdffba13d93b00844c25572110b26079"
"checksum typeable 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1410f6f91f21d1612654e7cc69193b0334f909dcf2c790c4826254fbb86f8887"
"checksum unicase 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "13a5906ca2b98c799f4b1ab4557b76367ebd6ae5ef14930ec841c74aed5f3764"
"checksum unicode-bidi 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "d3a078ebdd62c0e71a709c3d53d2af693fe09fe93fbff8344aebe289b78f9032"
"checksum unicode-normalization 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "e28fa37426fceeb5cf8f41ee273faa7c82c47dc8fba5853402841e665fcd86ff"
"checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc"
"checksum unreachable 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1f2ae5ddb18e1c92664717616dd9549dde73f539f01bd7b77c2edb2446bdff91"
"checksum untrusted 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "193df64312e3515fd983ded55ad5bcaa7647a035804828ed757e832ce6029ef3"
"checksum url 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f5ba8a749fb4479b043733416c244fa9d1d3af3d7c23804944651c8a448cb87e"
"checksum user32-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4ef4711d107b21b410a3a974b1204d9accc8b10dad75d8324b5d755de1617d47"
"checksum utf8-ranges 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "662fab6525a98beff2921d7f61a39e7d59e0b425ebc7d0d9e66d316e55124122"
"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
"checksum xml-rs 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7ec6c39eaa68382c8e31e35239402c0a9489d4141a8ceb0c716099a0b515b562"

@matthewkmayer
Copy link
Member

Thanks for jumping in @briansmith !

We do have some docs around setting up OpenSSL for Macs and there's an issue to verify if it's still up to date: #533 . As far as I know we don't need any special setup any more and this does sound like a ring issue.

For completeness everything works for me with

$ cc --version
Apple LLVM version 8.0.0 (clang-800.0.42.1)
Target: x86_64-apple-darwin15.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

on OSX 10.11.6. Which reminds me it's probably time to run an OSX update.

@matthewkmayer
Copy link
Member

@drusellers can you upgrade to Rusoto 0.24.0? The bug report shows it using Rusoto 0.23.0 which includes an older version of ring. Rusoto 0.24.0 should pull in the most recent version of ring which may fix this problem. 😄

@drusellers
Copy link
Contributor Author

Great Success!!!

@briansmith
Copy link
Contributor

Thanks @matthewkmayer!

@matthewkmayer
Copy link
Member

Made an issue to update the RELEASING docs so we shouldn't run into an issue like this again. 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants