Help with libgit2 needed to strip code copy from r-cran-git2r
Hi,
r-cran-git2r was rejected by ftpmaster[1] due to the code copy of
libgit2. I intended to fix this by removing the code copy and linking
against the Debian packaged libgit2. The attempt to do so can be found
in Git[2]. Unfortunately that seems to be not as simple as I was
hoping for since I'm running into:
...
configure: creating ./config.status
config.status: creating src/Makevars
** libs
make[1]: Entering directory '/build/r-cran-git2r-0.21.0+dfsg/src'
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I. -I/usr/include/git2 -DGIT_ARCH_64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DGIT_OPENSSL -DLIBGIT2_NO_FEATURES_H -DGIT_SHA1_OPENSSL - DGIT_SSH -DGIT_CURL -DGIT_USE_STAT_MTIM -DGIT_USE_NSEC -DHAVE_FUTIMENS -DHAVE_QSORT_R -fpic -g -O2 -fdebug-prefix-map=/build/r-base-3.4.3=. -fstack-protector-strong -Wformat - Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c git2r.c -o git2r.o
In file included from /usr/include/git2/common.h:29:0,
from /usr/include/git2/annotated_commit.h:10,
from /usr/include/git2.h:11,
from git2r.c:32:
/usr/include/git2/inttypes.h:33:2: error: #error "Use this header only with Microsoft Visual C++ compilers!"
#error "Use this header only with Microsoft Visual C++ compilers!"
^~~~~
In file included from /usr/include/git2/inttypes.h:46:0,
from /usr/include/git2/common.h:29,
from /usr/include/git2/annotated_commit.h:10,
from /usr/include/git2.h:11,
from git2r.c:32:
/usr/include/git2/stdint.h:33:2: error: #error "Use this header only with Microsoft Visual C++ compilers!"
#error "Use this header only with Microsoft Visual C++ compilers!"
^~~~~
In file included from /usr/include/git2/inttypes.h:46:0,
from /usr/include/git2/common.h:29,
from /usr/include/git2/annotated_commit.h:10,
from /usr/include/git2.h:11,
from git2r.c:32:
/usr/include/git2/stdint.h:89:30: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'int64_t'
typedef signed __int64 int64_t;
^~~~~~~
/usr/include/git2/stdint.h:90:30: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'uint64_t'
typedef unsigned __int64 uint64_t;
^~~~~~~~
/usr/include/git2/stdint.h:101:9: error: unknown type name 'uint64_t'
typedef uint64_t uint_least64_t;
^~~~~~~~
/usr/include/git2/stdint.h:111:9: error: unknown type name 'uint64_t'
typedef uint64_t uint_fast64_t;
^~~~~~~~
/usr/include/git2/stdint.h:124:9: error: unknown type name 'uint64_t'
typedef uint64_t uintmax_t;
^~~~~~~~
In file included from /usr/include/git2/common.h:29:0,
from /usr/include/git2/annotated_commit.h:10,
from /usr/include/git2.h:11,
from git2r.c:32:
/usr/include/git2/inttypes.h:282:1: error: unknown type name '_inline'; did you mean '__nlink_t'?
_inline
^~~~~~~
__nlink_t
/usr/include/git2/inttypes.h:284:11: error: expected '=', ',', ';', 'asm' or '__attribute__' before '__cdecl'
imaxdiv_t __cdecl imaxdiv(intmax_t numer, intmax_t denom)
^~~~~~~
/usr/include/git2/inttypes.h:284:11: error: unknown type name '__cdecl'
/usr/lib/R/etc/Makeconf:159: recipe for target 'git2r.o' failed
make[1]: *** [git2r.o] Error 1
make[1]: Leaving directory '/build/r-cran-git2r-0.21.0+dfsg/src'
...
I admit I have no idea why the includes delivered by libgit2 do
not work here. Any idea for a correct fix?
Kind regards
Andreas.
[1] http://lists.alioth.debian.org/pipermail/debian-science-maintainers/2018-January/056928.html
[2] https://salsa.debian.org/r-pkg-team/r-cran-git2r.git
--
http://fam-tille.de
Reply to: