Re: libgit2 missing on a kfreebsd build
* Salvo Tomaselli <tiposchi@tiscali.it>, 2014-08-28, 08:44:
I've packaged subsurface, for experimental, and it's not building on
kfreebsd but I am failing to understand why.
https://buildd.debian.org/status/fetch.php?pkg=subsurface&arch=kfreebsd-amd64&ver=4.2-1.1&stamp=1409109271
The libgit2 gets installed but then in the configuration step, qmake
fails to find it.
I compared the i386 and kfreebsd-amd64 build logs. The first thing that
stood out was different versions of libgit2-dev that were installed:
0.17.0-1 on kfreebsd-amd64;
0.20.0-1 on i386.
Now src:libgit2 changelog tells me that libgit2-dev used to have a
problem with missing dependency (bug #715173). The bug is not fixed on
kfreebsd-* yet, because the new libgit2-dev FTBFS.
And indeed, after installing libssl-dev, the original problems goes
away. Unfortunately, subsurface still FTBFS; I haven't investigated why:
compiling load-git.c
load-git.c: In function 'walk_tree_cb':
load-git.c:1289:2: error: unknown type name 'git_filemode_t'
git_filemode_t mode = git_tree_entry_filemode(entry);
^
load-git.c:1289:2: warning: implicit declaration of function 'git_tree_entry_filemode' [-Wimplicit-function-declaration]
load-git.c:1291:14: error: 'GIT_FILEMODE_TREE' undeclared (first use in this function)
if (mode == GIT_FILEMODE_TREE)
^
load-git.c:1291:14: note: each undeclared identifier is reported only once for each function it appears in
load-git.c: In function 'load_dives_from_tree':
load-git.c:1301:2: warning: passing argument 3 of 'git_tree_walk' makes integer from pointer without a cast
git_tree_walk(tree, GIT_TREEWALK_PRE, walk_tree_cb, repo);
^
In file included from /usr/include/git2.h:33:0,
from load-git.c:11:
/usr/include/git2/tree.h:313:17: note: expected 'int' but argument is of type 'int (*)(const char *, const struct git_tree_entry *, void *)'
GIT_EXTERN(int) git_tree_walk(git_tree *tree, git_treewalk_cb callback, int mode, void *payload);
^
load-git.c: In function 'set_git_id':
load-git.c:1314:2: warning: passing argument 3 of 'git_oid_tostr' from incompatible pointer type
git_oid_tostr(git_id_buffer, sizeof(git_id_buffer), id);
^
In file included from /usr/include/git2.h:19:0,
from load-git.c:11:
/usr/include/git2/oid.h:122:20: note: expected 'const struct git_oid *' but argument is of type 'const struct git_oid *'
GIT_EXTERN(char *) git_oid_tostr(char *out, size_t n, const git_oid *oid);
^
load-git.c: In function 'do_git_load':
load-git.c:1325:2: warning: implicit declaration of function 'git_revparse_single' [-Wimplicit-function-declaration]
if (git_revparse_single(&object, repo, branch))
^
load-git.c:1327:2: warning: implicit declaration of function 'git_object_peel' [-Wimplicit-function-declaration]
if (git_object_peel((git_object **)&commit, object, GIT_OBJ_COMMIT))
^
load-git.c:1333:3: warning: passing argument 1 of 'set_git_id' from incompatible pointer type
set_git_id(git_commit_id(commit));
^
load-git.c:1310:6: note: expected 'const struct git_oid *' but argument is of type 'const struct git_oid *'
void set_git_id(const struct git_oid * id)
^
Makefile:981: recipe for target '.obj/load-git.o' failed
make[1]: *** [.obj/load-git.o] Error 1
--
Jakub Wilk
Reply to: