Incompatible with libgit2 1.9.0
Hi!
I'm currently trying to rebuild jami-daemon
with libgit2 1.9.0
on Arch Linux, but am unfortunately running into issues:
[121/138] Compiling C++ object src/libjami.so.15.3.0.p/jamidht_conversationrepository.cpp.o
FAILED: src/libjami.so.15.3.0.p/jamidht_conversationrepository.cpp.o
c++ -Isrc/libjami.so.15.3.0.p -Isrc -I../jami-daemon/src -I. -I../jami-daemon -I../jami-daemon/src/jami -I../jami-daemon/src/media -I../jami-daemon/src/jamidht/eth -I/usr/include/p11-kit-1 -I/build/jami-daemon/src/jami-daemon/contrib/x86_64-pc-linux-gnu/include -I/usr/include/upnp -I/usr/include/webrtc_audio_processing -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu++17 -DHAVE_CONFIG_H -DLIBJAMI_BUILD -Djami_EXPORTS -DASIO_STANDALONE -DMSGPACK_NO_BOOST -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/jami-daemon/src=/usr/src/debug/jami-daemon -flto=auto -fPIC -DWEBRTC_AUDIO_PROCESSING_ONLY_BUILD -DWEBRTC_POSIX -D_REENTRANT -DPJ_AUTOCONF=1 -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1 -pthread -MD -MQ src/libjami.so.15.3.0.p/jamidht_conversationrepository.cpp.o -MF src/libjami.so.15.3.0.p/jamidht_conversationrepository.cpp.o.d -o src/libjami.so.15.3.0.p/jamidht_conversationrepository.cpp.o -c ../jami-daemon/src/jamidht/conversationrepository.cpp
In file included from ../jami-daemon/src/jamidht/jamiaccount.h:40,
from ../jami-daemon/src/jamidht/conversationrepository.cpp:22:
../jami-daemon/src/scheduled_executor.h:108: warning: ignoring ‘#pragma GCC pop’ [-Wunknown-pragmas]
108 | #pragma GCC pop
../jami-daemon/src/scheduled_executor.h:158: warning: ignoring ‘#pragma GCC pop’ [-Wunknown-pragmas]
158 | #pragma GCC pop
../jami-daemon/src/jamidht/conversationrepository.cpp: In member function ‘std::string jami::ConversationRepository::Impl::createMergeCommit(git_index*, const std::string&)’:
../jami-daemon/src/jamidht/conversationrepository.cpp:812:34: error: invalid conversion from ‘git_commit* const*’ to ‘const git_commit**’ [-fpermissive]
812 | &parents_ptr[0])
| ^~~~~~~~~~~~~~~
| |
| git_commit* const*
In file included from /usr/include/git2/repository.h:15,
from /usr/include/git2/annotated_commit.h:11,
from /usr/include/git2.h:11,
from ../jami-daemon/src/jamidht/conversationrepository.h:21,
from ../jami-daemon/src/jamidht/conversationrepository.cpp:18:
/usr/include/git2/commit.h:582:27: note: initializing argument 9 of ‘int git_commit_create_buffer(git_buf*, git_repository*, const git_signature*, const git_signature*, const char*, const char*, const git_tree*, size_t, const git_commit**)’
582 | const git_commit *parents[]);
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~
../jami-daemon/src/jamidht/conversationrepository.cpp: In member function ‘std::string jami::ConversationRepository::Impl::commit(const std::string&, bool)’:
../jami-daemon/src/jamidht/conversationrepository.cpp:1905:34: error: invalid conversion from ‘git_commit* const*’ to ‘const git_commit**’ [-fpermissive]
1905 | &head_ref[0])
| ^~~~~~~~~~~~
| |
| git_commit* const*
/usr/include/git2/commit.h:582:27: note: initializing argument 9 of ‘int git_commit_create_buffer(git_buf*, git_repository*, const git_signature*, const git_signature*, const char*, const char*, const git_tree*, size_t, const git_commit**)’
582 | const git_commit *parents[]);
| ~~~~~~~~~~~~~~~~~~^~~~~~~~~
These look quite similar to what was reported in #987 (closed) for the 1.8.0 version of libgit2, so maybe a similar fix can be used