rust-lang / git2-rs

libgit2 bindings for Rust
https://docs.rs/git2
Apache License 2.0
1.67k stars 384 forks source link

error: conflicting types for 'hmac' #881

Closed 0323pin closed 1 year ago

0323pin commented 1 year ago

Hi,

Issue while trying to build git-cliff-0.9.0 on NetBSD-9.99.99 (current) with rust-1.63.0, https://github.com/orhun/git-cliff/issues/105

git-cliff-0.8.1, which depends on libgit2-sys-0.13.4+1.4.2 builds fine.

libgit2-sys-0.14.0+1.5.0 builds fine within the same environment as a dependency of nushell-0.68.1 Actually, I just created a dummy stand-alone package within pkgsrc and it also builds fine.

But, when trying to build it as a dependency of git-cliff, I get the following,

warning: In file included from libgit2/src/util/hash/builtin.h:13,
warning:                  from libgit2/src/util/hash/sha.h:37,
warning:                  from libgit2/src/util/hash.h:13,
warning:                  from libgit2/src/util/futils.h:17,
warning:                  from libgit2/src/libgit2/apply.c:17:
warning: libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for 'hmac'
warning:   304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
warning:       |            ^~~~
warning: In file included from /usr/pkgsrc/wip/git-cliff/work/.buildlink/include/git2/common.h:11,
warning:                  from /usr/pkgsrc/wip/git-cliff/work/.buildlink/include/git2/apply.h:10,
warning:                  from libgit2/src/libgit2/apply.c:8:
warning: /usr/include/stdlib.h:315:10: note: previous declaration of 'hmac' was here
warning:   315 | ssize_t  hmac(const char *, const void *, size_t, const void *, size_t, void *,
warning:       |          ^~~~
warning: In file included from libgit2/src/util/hash/builtin.h:13,
warning:                  from libgit2/src/util/hash/sha.h:37,
warning:                  from libgit2/src/util/hash.h:13,
warning:                  from libgit2/src/util/futils.h:17,
warning:                  from libgit2/src/libgit2/attr_file.h:17,
warning:                  from libgit2/src/libgit2/attr.h:12,
warning:                  from libgit2/src/libgit2/attr.c:8:
warning: libgit2/src/util/hash/rfc6234/sha.h:304:12: error: conflicting types for 'hmac'
warning:   304 | extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
warning:       |            ^~~~
warning: In file included from /usr/pkgsrc/wip/git-cliff/work/.buildlink/include/git2/common.h:11,
warning:                  from libgit2/src/util/git2_util.h:14,
warning:                  from libgit2/src/libgit2/common.h:10,
warning:                  from libgit2/src/libgit2/attr.h:10,
warning:                  from libgit2/src/libgit2/attr.c:8:
warning: /usr/include/stdlib.h:315:10: note: previous declaration of 'hmac' was here
warning:   315 | ssize_t  hmac(const char *, const void *, size_t, const void *, size_t, void *,
warning:       |          ^~~~

error: failed to run custom build command for `libgit2-sys v0.14.0+1.5.0`

Caused by:
  process didn't exit successfully: `/usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-b48180aea4195b1e/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-env-changed=LIBGIT2_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-netbsd
  cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_netbsd
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=LIBGIT2_STATIC
  cargo:rerun-if-env-changed=LIBGIT2_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-netbsd
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_netbsd
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-netbsd
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_netbsd
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-netbsd
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_netbsd
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
  cargo:rustc-cfg=libgit2_vendored
  libgit2/include/git2/annotated_commit.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/annotated_commit.h
  libgit2/include/git2/apply.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/apply.h
  libgit2/include/git2/attr.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/attr.h
  libgit2/include/git2/blame.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/blame.h
  libgit2/include/git2/blob.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/blob.h
  libgit2/include/git2/branch.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/branch.h
  libgit2/include/git2/buffer.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/buffer.h
  libgit2/include/git2/cert.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/cert.h
  libgit2/include/git2/checkout.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/checkout.h
  libgit2/include/git2/cherrypick.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/cherrypick.h
  libgit2/include/git2/clone.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/clone.h
  libgit2/include/git2/commit.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/commit.h
  libgit2/include/git2/common.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/common.h
  libgit2/include/git2/config.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/config.h
  libgit2/include/git2/cred_helpers.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/cred_helpers.h
  libgit2/include/git2/credential.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/credential.h
  libgit2/include/git2/credential_helpers.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/credential_helpers.h
  libgit2/include/git2/deprecated.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/deprecated.h
  libgit2/include/git2/describe.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/describe.h
  libgit2/include/git2/diff.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/diff.h
  libgit2/include/git2/email.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/email.h
  libgit2/include/git2/errors.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/errors.h
  libgit2/include/git2/filter.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/filter.h
  libgit2/include/git2/global.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/global.h
  libgit2/include/git2/graph.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/graph.h
  libgit2/include/git2/ignore.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/ignore.h
  libgit2/include/git2/index.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/index.h
  libgit2/include/git2/indexer.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/indexer.h
  libgit2/include/git2/mailmap.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/mailmap.h
  libgit2/include/git2/merge.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/merge.h
  libgit2/include/git2/message.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/message.h
  libgit2/include/git2/net.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/net.h
  libgit2/include/git2/notes.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/notes.h
  libgit2/include/git2/object.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/object.h
  libgit2/include/git2/odb.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/odb.h
  libgit2/include/git2/odb_backend.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/odb_backend.h
  libgit2/include/git2/oid.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/oid.h
  libgit2/include/git2/oidarray.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/oidarray.h
  libgit2/include/git2/pack.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/pack.h
  libgit2/include/git2/patch.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/patch.h
  libgit2/include/git2/pathspec.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/pathspec.h
  libgit2/include/git2/proxy.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/proxy.h
  libgit2/include/git2/rebase.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/rebase.h
  libgit2/include/git2/refdb.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/refdb.h
  libgit2/include/git2/reflog.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/reflog.h
  libgit2/include/git2/refs.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/refs.h
  libgit2/include/git2/refspec.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/refspec.h
  libgit2/include/git2/remote.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/remote.h
  libgit2/include/git2/repository.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/repository.h
  libgit2/include/git2/reset.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/reset.h
  libgit2/include/git2/revert.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/revert.h
  libgit2/include/git2/stash.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/stash.h
  libgit2/include/git2/revparse.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/revparse.h
  libgit2/include/git2/revwalk.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/revwalk.h
  libgit2/include/git2/signature.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/signature.h
  libgit2/include/git2/status.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/status.h
  libgit2/include/git2/stdint.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/stdint.h
  libgit2/include/git2/strarray.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/strarray.h
  libgit2/include/git2/submodule.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/submodule.h
  libgit2/include/git2/sys/alloc.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/alloc.h
  libgit2/include/git2/sys/commit.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/commit.h
  libgit2/include/git2/sys/commit_graph.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/commit_graph.h
  libgit2/include/git2/sys/config.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/config.h
  libgit2/include/git2/sys/cred.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/cred.h
  libgit2/include/git2/sys/credential.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/credential.h
  libgit2/include/git2/sys/diff.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/diff.h
  libgit2/include/git2/sys/email.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/email.h
  libgit2/include/git2/sys/filter.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/filter.h
  libgit2/include/git2/sys/hashsig.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/hashsig.h
  libgit2/include/git2/sys/index.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/index.h
  libgit2/include/git2/sys/mempack.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/mempack.h
  libgit2/include/git2/sys/merge.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/merge.h
  libgit2/include/git2/sys/midx.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/midx.h
  libgit2/include/git2/sys/odb_backend.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/odb_backend.h
  libgit2/include/git2/sys/openssl.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/openssl.h
  libgit2/include/git2/sys/path.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/path.h
  libgit2/include/git2/sys/refdb_backend.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/refdb_backend.h
  libgit2/include/git2/sys/reflog.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/reflog.h
  libgit2/include/git2/sys/refs.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/refs.h
  libgit2/include/git2/sys/remote.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/remote.h
  libgit2/include/git2/sys/repository.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/repository.h
  libgit2/include/git2/sys/stream.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/stream.h
  libgit2/include/git2/sys/transport.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/sys/transport.h
  libgit2/include/git2/tag.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/tag.h
  libgit2/include/git2/trace.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/trace.h
  libgit2/include/git2/transaction.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/transaction.h
  libgit2/include/git2/transport.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/transport.h
  libgit2/include/git2/tree.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/tree.h
  libgit2/include/git2/types.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/types.h
  libgit2/include/git2/version.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/version.h
  libgit2/include/git2/worktree.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2/worktree.h
  libgit2/include/git2.h => /usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/include/git2.h
  TARGET = Some("x86_64-unknown-netbsd")
  OPT_LEVEL = Some("3")
  HOST = Some("x86_64-unknown-netbsd")
  CC_x86_64-unknown-netbsd = None
  CC_x86_64_unknown_netbsd = None
  HOST_CC = None
  CC = Some("cc")
  CFLAGS_x86_64-unknown-netbsd = None
  CFLAGS_x86_64_unknown_netbsd = None
  HOST_CFLAGS = None
  CFLAGS = Some("-pipe -O2 -fPIC -D_FORTIFY_SOURCE=2 -I/usr/pkg/include -I/usr/include")
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("false")
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
  running: "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-pipe" "-O2" "-fPIC" "-D_FORTIFY_SOURCE=2" "-I/usr/pkg/include" "-I/usr/include" "-I" "/usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/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" "/usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/build/libgit2/src/libgit2/annotated_commit.o" "-c" "libgit2/src/libgit2/annotated_commit.c"
  exit status: 0
  running: "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-pipe" "-O2" "-fPIC" "-D_FORTIFY_SOURCE=2" "-I/usr/pkg/include" "-I/usr/include" "-I" "/usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/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" "/usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/build/libgit2/src/libgit2/apply.o" "-c" "libgit2/src/libgit2/apply.c"
  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 /usr/pkgsrc/wip/git-cliff/work/.buildlink/include/git2/common.h:11,
  cargo:warning=                 from /usr/pkgsrc/wip/git-cliff/work/.buildlink/include/git2/apply.h:10,
  cargo:warning=                 from libgit2/src/libgit2/apply.c:8:
  cargo:warning=/usr/include/stdlib.h:315:10: note: previous declaration of 'hmac' was here
  cargo:warning=  315 | ssize_t  hmac(const char *, const void *, size_t, const void *, size_t, void *,
  cargo:warning=      |          ^~~~
  exit status: 1
  running: "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-pipe" "-O2" "-fPIC" "-D_FORTIFY_SOURCE=2" "-I/usr/pkg/include" "-I/usr/include" "-I" "/usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/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" "/usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/out/build/libgit2/src/libgit2/attr.o" "-c" "libgit2/src/libgit2/attr.c"
  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/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 /usr/pkgsrc/wip/git-cliff/work/.buildlink/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:315:10: note: previous declaration of 'hmac' was here
  cargo:warning=  315 | ssize_t  hmac(const char *, const void *, size_t, const void *, size_t, void *,
  cargo:warning=      |          ^~~~
  exit status: 1

  --- stderr

  error occurred: Command "cc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-pipe" "-O2" "-fPIC" "-D_FORTIFY_SOURCE=2" "-I/usr/pkg/include" "-I/usr/include" "-I" "/usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/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" "/usr/pkgsrc/wip/git-cliff/work/git-cliff-0.9.0/target/release/build/libgit2-sys-de2a738d5e1a3bb3/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).

Any clues on this, error: conflicting types for 'hmac'?

Looks like something is reusing "hmac" as the function name in conflict with what the NetBSD base system has in its headers.

fraggerfox commented 1 year ago

I am experiencing the same problem when trying to build bat-0.22.1 which depends on libgit2-sys-0.14.0+1.5.0.

My NetBSD version is

NetBSD netbsd-build 9.2 NetBSD 9.2 (GENERIC) #0: Wed May 12 13:15:55 UTC 2021  mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/amd64/compile/GENERIC amd64
0323pin commented 1 year ago

@fraggerfox it needs linking against openssl. Doing this at build time fixes the issue. See todays commit from wiz@

fraggerfox commented 1 year ago

@0323pin Thank you for this! it has resolved the issue for me too.

0323pin commented 1 year ago

@fraggerfox you still need to link against openssl, see https://mail-index.netbsd.org/pkgsrc-changes/2022/09/17/msg260680.html