如何在没有HTTPS的情况下编译libgit2

时间:2015-01-24 17:32:22

标签: libgit2

我试图编译一个没有或有限的libgit2静态版本,但还没有成功编译它而没有openssl。

到目前为止,我最好的尝试是遵循这套命令:

mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/ -DBUILD_SHARED_LIBS=OFF -DCMAKE_DISABLE_FIND_PACKAGE_OpenSSL=TRUE
make

但我获得了以下内容:

[ 11%] Building C object CMakeFiles/git2.dir/src/openssl_stream.c.o
/Users/raphael/src/github.com/libgit2/libgit2/src/openssl_stream.c:369:41: warning: unused parameter 'out' [-Wunused-parameter]
int git_openssl_stream_new(git_stream **out, const char *host, const char *port)
                                        ^
/Users/raphael/src/github.com/libgit2/libgit2/src/openssl_stream.c:369:58: warning: unused parameter 'host' [-Wunused-parameter]
int git_openssl_stream_new(git_stream **out, const char *host, const char *port)
                                                         ^
/Users/raphael/src/github.com/libgit2/libgit2/src/openssl_stream.c:369:76: warning: unused parameter 'port' [-Wunused-parameter]
int git_openssl_stream_new(git_stream **out, const char *host, const char *port)

然后:

[ 23%] Building C object CMakeFiles/git2.dir/src/hash/hash_generic.c.o
In file included from /Users/raphael/src/github.com/libgit2/libgit2/src/hash/hash_generic.c:10:
/Users/raphael/src/github.com/libgit2/libgit2/src/hash/hash_generic.h:13:8: error: redefinition of 'git_hash_ctx'
struct git_hash_ctx {
       ^
/Users/raphael/src/github.com/libgit2/libgit2/src/hash/hash_common_crypto.h:15:8: note: previous definition is here
struct git_hash_ctx {
       ^

许多其他人显然也在追随。

环境详情:

我在MacOS X Yosemite上,使用Clang或GCC 4.9和我静态构建,我在2015年1月24日尝试使用标签v0.22.1和master。

我正在寻找一个可移植到Linux / FreeBSD的进程。

1 个答案:

答案 0 :(得分:1)

关于openssl流的警告是无关紧要的;构造函数只返回一个错误,因此它不使用任何传递的参数。清理它很好,但它们什么都不做。

至于重新定义问题,您可以在PR 2820中找到解决方法。