-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Description
The problem is that in NetBSD 8 (in 2018), a hmac() function was added to libc: https://man.netbsd.org/hmac.3
Its prototype is
ssize_t
hmac(const char *hname, const void *key, size_t klen, const void *text,
size_t tlen, void *digest, size_t dlen);
and it's in stdlib.h, a header that is quickly needed in a C project.
On the other hand, libgit2 has in src/util/hash/rfc6234/sha.h:
extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
const unsigned char *text, /* pointer to data stream */
int text_len, /* length of data stream */
const unsigned char *key, /* pointer to authentication key */
int key_len, /* length of authentication key */
uint8_t digest[USHAMaxHashSize]); /* caller digest to fill in */
which doesn't match NetBSD's libc version at all, and when both are included, compilation fails.
This affects all supported NetBSD versions.
Please rename the hmac() function in libgit2 to avoid this conflict.
Reproduction steps
An indirect reproducer on NetBSD using rust/cargo (which is how this has recently been appearing more often) is:
mkdir libgit2-test
cd libgit2-test
cargo init
cargo add libgit2-sys
cargo build
This adds a dependency on the libgit2-sys crate to a new project and tries to build it, which downloads and builds the dependency, and fails:
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "-m64" "-I" "/tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include" "-I" "libgit2/src/libgit2" "-I" "libgit2/src/util" "-I" "libgit2/deps/http-parser" "-I" "libgit2/deps/pcre" "-fvisibility=hidden" "-DGIT_REGEX_BUILTIN=1" "-DHAVE_STDINT_H=1" "-DHAVE_MEMMOVE=1" "-DNO_RECURSE=1" "-DNEWLINE=10" "-DPOSIX_MALLOC_THRESHOLD=10" "-DLINK_SIZE=2" "-DPARENS_NEST_LIMIT=250" "-DMATCH_LIMIT=10000000" "-DMATCH_LIMIT_RECURSION=MATCH_LIMIT" "-DMAX_NAME_SIZE=32" "-DMAX_NAME_COUNT=10000" "-DSHA1DC_NO_STANDARD_INCLUDES=1" "-DSHA1DC_CUSTOM_INCLUDE_SHA1_C=\"common.h\"" "-DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C=\"common.h\"" "-o" "/tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/build/libgit2/src/libgit2/diff_parse.o" "-c" "libgit2/src/libgit2/diff_parse.c"
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.c:8:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/attr_file.h:10,
cargo:warning= from libgit2/src/libgit2/attr_file.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attrcache.h:12,
cargo:warning= from libgit2/src/libgit2/attrcache.c:8:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/attrcache.h:10,
cargo:warning= from libgit2/src/libgit2/attrcache.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attrcache.h:12,
cargo:warning= from libgit2/src/libgit2/repository.h:24,
cargo:warning= from libgit2/src/libgit2/config.h:15,
cargo:warning= from libgit2/src/libgit2/config.c:8:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/config.h:10,
cargo:warning= from libgit2/src/libgit2/config.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/config_cache.c:10:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/libgit2/commit_graph.h:19,
cargo:warning= from libgit2/src/libgit2/odb.h:18,
cargo:warning= from libgit2/src/libgit2/commit_list.c:12:
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/config_cache.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attrcache.h:12,
cargo:warning= from libgit2/src/libgit2/repository.h:24,
cargo:warning= from libgit2/src/libgit2/cherrypick.c:10:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
exit status: 1
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/commit_list.h:10,
cargo:warning= from libgit2/src/libgit2/commit_list.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
cargo:warning= | ^~~~
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attrcache.h:12,
cargo:warning= from libgit2/src/libgit2/repository.h:24,
cargo:warning= from libgit2/src/libgit2/tree.h:13,
cargo:warning= from libgit2/src/libgit2/commit.h:13,
cargo:warning= from libgit2/src/libgit2/describe.c:16:
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
exit status: 1
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/cherrypick.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= | ^~~~
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/describe.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
running: "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "-m64" "-I" "/tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include" "-I" "libgit2/src/libgit2" "-I" "libgit2/src/util" "-I" "libgit2/deps/http-parser" "-I" "libgit2/deps/pcre" "-fvisibility=hidden" "-DGIT_REGEX_BUILTIN=1" "-DHAVE_STDINT_H=1" "-DHAVE_MEMMOVE=1" "-DNO_RECURSE=1" "-DNEWLINE=10" "-DPOSIX_MALLOC_THRESHOLD=10" "-DLINK_SIZE=2" "-DPARENS_NEST_LIMIT=250" "-DMATCH_LIMIT=10000000" "-DMATCH_LIMIT_RECURSION=MATCH_LIMIT" "-DMAX_NAME_SIZE=32" "-DMAX_NAME_COUNT=10000" "-DSHA1DC_NO_STANDARD_INCLUDES=1" "-DSHA1DC_CUSTOM_INCLUDE_SHA1_C=\"common.h\"" "-DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C=\"common.h\"" "-o" "/tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/build/libgit2/src/libgit2/diff_print.o" "-c" "libgit2/src/libgit2/diff_print.c"
exit status: 0
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attrcache.h:12,
cargo:warning= from libgit2/src/libgit2/repository.h:24,
cargo:warning= from libgit2/src/libgit2/config.h:15,
cargo:warning= from libgit2/src/libgit2/config_file.c:8:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning=cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attrcache.h:12,
cargo:warning= from libgit2/src/libgit2/repository.h:24,
cargo:warning= from libgit2/src/libgit2/ignore.h:12,
cargo:warning= from libgit2/src/libgit2/iterator.h:15,
cargo:warning= | ^~~~
cargo:warning= from libgit2/src/libgit2/checkout.h:13,
exit status: 1
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
exit status: 1
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/config.h:10,
cargo:warning= from libgit2/src/libgit2/config_file.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
cargo:warning= from libgit2/src/libgit2/checkout.c:8:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/checkout.h:10,
cargo:warning= from libgit2/src/libgit2/checkout.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
exit status: 1
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attrcache.h:12,
cargo:warning= from libgit2/src/libgit2/repository.h:24,
cargo:warning= from libgit2/src/libgit2/ignore.h:12,
cargo:warning= from libgit2/src/libgit2/iterator.h:15,
cargo:warning= from libgit2/src/libgit2/diff.h:18,
cargo:warning= from libgit2/src/libgit2/diff_generate.h:12,
cargo:warning= from libgit2/src/libgit2/diff_generate.c:8:
exit status: 0
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/diff_generate.h:10,
cargo:warning= from libgit2/src/libgit2/diff_generate.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
exit status: 1
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/diff_driver.h:12,
cargo:warning= from libgit2/src/libgit2/diff_driver.c:8:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/diff_driver.h:10,
cargo:warning= from libgit2/src/libgit2/diff_driver.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/libgit2/commit_graph.h:19,
cargo:warning= from libgit2/src/libgit2/commit_graph.c:8:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/commit_graph.h:11,
cargo:warning= from libgit2/src/libgit2/commit_graph.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
exit status: 1
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attrcache.h:12,
cargo:warning= from libgit2/src/libgit2/repository.h:24,
cargo:warning= from libgit2/src/libgit2/ignore.h:12,
cargo:warning= from libgit2/src/libgit2/iterator.h:15,
cargo:warning= from libgit2/src/libgit2/diff.h:18,
cargo:warning= from libgit2/src/libgit2/diff.c:8:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/diff.h:10,
cargo:warning= from libgit2/src/libgit2/diff.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attrcache.h:12,
cargo:warning= from libgit2/src/libgit2/repository.h:24,
cargo:warning= from libgit2/src/libgit2/ignore.h:12,
cargo:warning= from libgit2/src/libgit2/iterator.h:15,
cargo:warning= from libgit2/src/libgit2/diff.h:18,
cargo:warning= from libgit2/src/libgit2/blame.h:8,
cargo:warning= from libgit2/src/libgit2/blame.c:8:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/blame.h:4,
cargo:warning= from libgit2/src/libgit2/blame.c:8:
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= | ^~~~
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attr.h:12,
cargo:warning= from libgit2/src/libgit2/attr.c:8:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/attr.h:10,
cargo:warning= from libgit2/src/libgit2/attr.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attrcache.h:12,
cargo:warning= from libgit2/src/libgit2/repository.h:24,
cargo:warning= from libgit2/src/libgit2/config.h:15,
cargo:warning= from libgit2/src/libgit2/config_mem.c:8:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/config.h:10,
cargo:warning= from libgit2/src/libgit2/config_mem.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/clone.c:20:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/clone.h:10,
cargo:warning= from libgit2/src/libgit2/clone.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
exit status: 1
exit status: 1
exit status: 1
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attrcache.h:12,
cargo:warning= from libgit2/src/libgit2/repository.h:24,
cargo:warning= from libgit2/src/libgit2/ignore.h:12,
cargo:warning= from libgit2/src/libgit2/iterator.h:15,
cargo:warning= from libgit2/src/libgit2/diff.h:18,
cargo:warning= from libgit2/src/libgit2/blame.h:8,
cargo:warning= from libgit2/src/libgit2/blame_git.h:12,
cargo:warning= from libgit2/src/libgit2/blame_git.c:8:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/blame_git.h:10,
cargo:warning= from libgit2/src/libgit2/blame_git.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attrcache.h:12,
cargo:warning= from libgit2/src/libgit2/repository.h:24,
cargo:warning= from libgit2/src/libgit2/blob.h:13,
cargo:warning= from libgit2/src/libgit2/blob.c:8:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/blob.h:10,
cargo:warning= from libgit2/src/libgit2/blob.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
exit status: 1
exit status: 1
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attrcache.h:12,
cargo:warning= from libgit2/src/libgit2/repository.h:24,
cargo:warning= from libgit2/src/libgit2/tree.h:13,
cargo:warning= from libgit2/src/libgit2/commit.h:13,
cargo:warning= from libgit2/src/libgit2/commit.c:8:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/commit.h:10,
cargo:warning= from libgit2/src/libgit2/commit.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
exit status: 1
exit status: 1
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/crlf.c:16:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/crlf.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/libgit2/commit_graph.h:19,
cargo:warning= from libgit2/src/libgit2/odb.h:18,
cargo:warning= from libgit2/src/libgit2/pack.h:18,
cargo:warning= from libgit2/src/libgit2/delta.h:10,
cargo:warning= from libgit2/src/libgit2/delta.c:8:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/delta.h:8,
cargo:warning= from libgit2/src/libgit2/delta.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
exit status: 1
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attrcache.h:12,
cargo:warning= from libgit2/src/libgit2/repository.h:24,
cargo:warning= from libgit2/src/libgit2/ignore.h:12,
cargo:warning= from libgit2/src/libgit2/iterator.h:15,
cargo:warning= from libgit2/src/libgit2/diff.h:18,
cargo:warning= from libgit2/src/libgit2/diff_parse.h:12,
cargo:warning= from libgit2/src/libgit2/diff_parse.c:8:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/diff_parse.h:10,
cargo:warning= from libgit2/src/libgit2/diff_parse.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attrcache.h:12,
cargo:warning= from libgit2/src/libgit2/repository.h:24,
cargo:warning= from libgit2/src/libgit2/tree.h:13,
cargo:warning= from libgit2/src/libgit2/commit.h:13,
cargo:warning= from libgit2/src/libgit2/branch.c:11:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/branch.h:10,
cargo:warning= from libgit2/src/libgit2/branch.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
exit status: 1
exit status: 1
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attrcache.h:12,
cargo:warning= from libgit2/src/libgit2/repository.h:24,
cargo:warning= from libgit2/src/libgit2/ignore.h:12,
cargo:warning= from libgit2/src/libgit2/iterator.h:15,
cargo:warning= from libgit2/src/libgit2/diff.h:18,
cargo:warning= from libgit2/src/libgit2/diff_file.h:12,
cargo:warning= from libgit2/src/libgit2/diff_file.c:8:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/diff_file.h:10,
cargo:warning= from libgit2/src/libgit2/diff_file.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
exit status: 1
exit status: 1
exit status: 1
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attrcache.h:12,
cargo:warning= from libgit2/src/libgit2/repository.h:24,
cargo:warning= from libgit2/src/libgit2/cache.c:10:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/cache.h:10,
cargo:warning= from libgit2/src/libgit2/cache.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
exit status: 1
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attrcache.h:12,
cargo:warning= from libgit2/src/libgit2/repository.h:24,
cargo:warning= from libgit2/src/libgit2/config.h:15,
cargo:warning= from libgit2/src/libgit2/config_snapshot.c:10:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/config_backend.h:10,
cargo:warning= from libgit2/src/libgit2/config_snapshot.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
exit status: 1
exit status: 1
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/apply.c:17:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/apply.h:10,
cargo:warning= from libgit2/src/libgit2/apply.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attrcache.h:12,
cargo:warning= from libgit2/src/libgit2/repository.h:24,
cargo:warning= from libgit2/src/libgit2/ignore.h:12,
cargo:warning= from libgit2/src/libgit2/iterator.h:15,
cargo:warning= from libgit2/src/libgit2/diff.h:18,
cargo:warning= from libgit2/src/libgit2/diff_print.c:11:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/diff_print.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
exit status: 1
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/attr_file.h:17,
cargo:warning= from libgit2/src/libgit2/attrcache.h:12,
cargo:warning= from libgit2/src/libgit2/repository.h:24,
cargo:warning= from libgit2/src/libgit2/config.h:15,
cargo:warning= from libgit2/src/libgit2/config_entries.h:11,
cargo:warning= from libgit2/src/libgit2/config_entries.c:8:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/config_entries.h:8,
cargo:warning= from libgit2/src/libgit2/config_entries.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
exit status: 1
exit status: 1
exit status: 1
cargo:warning=In file included from libgit2/src/util/hash/builtin.h:13,
cargo:warning= from libgit2/src/util/hash/sha.h:37,
cargo:warning= from libgit2/src/util/hash.h:13,
cargo:warning= from libgit2/src/util/futils.h:17,
cargo:warning= from libgit2/src/libgit2/config_parse.h:13,
cargo:warning= from libgit2/src/libgit2/config_parse.c:8:
cargo:warning=libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for ‘hmac’
cargo:warning= 304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
cargo:warning= | ^~~~
cargo:warning=In file included from /tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include/git2/common.h:11,
cargo:warning= from libgit2/src/util/git2_util.h:14,
cargo:warning= from libgit2/src/libgit2/common.h:10,
cargo:warning= from libgit2/src/libgit2/config_parse.h:10,
cargo:warning= from libgit2/src/libgit2/config_parse.c:8:
cargo:warning=/usr/include/stdlib.h:312:10: note: previous declaration of ‘hmac’ was here
cargo:warning= 312 | ssize_t hmac(const char *, const void *, size_t, const void *, size_t, void *,
cargo:warning= | ^~~~
exit status: 1
exit status: 1
exit status: 1
exit status: 1
--- stderr
error occurred: Command "cc" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "-m64" "-I" "/tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/include" "-I" "libgit2/src/libgit2" "-I" "libgit2/src/util" "-I" "libgit2/deps/http-parser" "-I" "libgit2/deps/pcre" "-fvisibility=hidden" "-DGIT_REGEX_BUILTIN=1" "-DHAVE_STDINT_H=1" "-DHAVE_MEMMOVE=1" "-DNO_RECURSE=1" "-DNEWLINE=10" "-DPOSIX_MALLOC_THRESHOLD=10" "-DLINK_SIZE=2" "-DPARENS_NEST_LIMIT=250" "-DMATCH_LIMIT=10000000" "-DMATCH_LIMIT_RECURSION=MATCH_LIMIT" "-DMAX_NAME_SIZE=32" "-DMAX_NAME_COUNT=10000" "-DSHA1DC_NO_STANDARD_INCLUDES=1" "-DSHA1DC_CUSTOM_INCLUDE_SHA1_C=\"common.h\"" "-DSHA1DC_CUSTOM_INCLUDE_UBC_CHECK_C=\"common.h\"" "-o" "/tmp/libgit2-test/target/debug/build/libgit2-sys-a44124fbede12cb7/out/build/libgit2/src/libgit2/apply.o" "-c" "libgit2/src/libgit2/apply.c" with args "cc" did not execute successfully (status code exit status: 1).
Expected behavior
Building libgit2-sys succeeds.
Actual behavior
Build fails, see above.
Version of libgit2 (release number or SHA1)
The problematic header still exists in git as of today (036fe1a).
Operating system(s) tested
NetBSD >= 8