`make` fails to build in GNU/Linux
After a successfull cmake .. -DJAMI_DBUS=On
, doing a make
fails, here's the backtrace:
[divya@lambda]:/mnt/code/big-src/jami/jami-daemon/build [master]
$ make -j4
[ 0%] Building CXX object CMakeFiles/jami-core.dir/src/account.cpp.o
[ 0%] Building CXX object CMakeFiles/jami-core.dir/src/account_config.cpp.o
[ 1%] Building CXX object CMakeFiles/jami-core.dir/src/account_factory.cpp.o
[ 1%] Building CXX object CMakeFiles/jami-core.dir/src/archiver.cpp.o
[ 2%] Building CXX object CMakeFiles/jami-core.dir/src/base64.cpp.o
[ 2%] Building CXX object CMakeFiles/jami-core.dir/src/buildinfo.cpp.o
[ 2%] Building CXX object CMakeFiles/jami-core.dir/src/call.cpp.o
[ 3%] Building CXX object CMakeFiles/jami-core.dir/src/call_factory.cpp.o
[ 3%] Building CXX object CMakeFiles/jami-core.dir/src/conference.cpp.o
[ 4%] Building CXX object CMakeFiles/jami-core.dir/src/conference_protocol.cpp.o
[ 4%] Building CXX object CMakeFiles/jami-core.dir/src/data_transfer.cpp.o
[ 5%] Building CXX object CMakeFiles/jami-core.dir/src/fileutils.cpp.o
[ 5%] Building CXX object CMakeFiles/jami-core.dir/src/gittransport.cpp.o
[ 5%] Building CXX object CMakeFiles/jami-core.dir/src/logger.cpp.o
[ 6%] Building CXX object CMakeFiles/jami-core.dir/src/manager.cpp.o
[ 6%] Building CXX object CMakeFiles/jami-core.dir/src/preferences.cpp.o
[ 7%] Building CXX object CMakeFiles/jami-core.dir/src/ring_api.cpp.o
[ 7%] Building CXX object CMakeFiles/jami-core.dir/src/scheduled_executor.cpp.o
[ 8%] Building CXX object CMakeFiles/jami-core.dir/src/string_utils.cpp.o
[ 8%] Building CXX object CMakeFiles/jami-core.dir/src/threadloop.cpp.o
[ 8%] Building CXX object CMakeFiles/jami-core.dir/src/uri.cpp.o
[ 9%] Building CXX object CMakeFiles/jami-core.dir/src/vcard.cpp.o
[ 9%] Building CXX object CMakeFiles/jami-core.dir/src/client/callmanager.cpp.o
[ 10%] Building CXX object CMakeFiles/jami-core.dir/src/client/configurationmanager.cpp.o
[ 10%] Building CXX object CMakeFiles/jami-core.dir/src/client/datatransfer.cpp.o
[ 11%] Building CXX object CMakeFiles/jami-core.dir/src/client/presencemanager.cpp.o
[ 11%] Building CXX object CMakeFiles/jami-core.dir/src/client/ring_signal.cpp.o
[ 11%] Building CXX object CMakeFiles/jami-core.dir/src/client/videomanager.cpp.o
[ 12%] Building CXX object CMakeFiles/jami-core.dir/src/client/plugin_manager_interface.cpp.o
[ 12%] Building CXX object CMakeFiles/jami-core.dir/src/client/conversation_interface.cpp.o
[ 13%] Building CXX object CMakeFiles/jami-core.dir/src/config/yamlparser.cpp.o
[ 13%] Building CXX object CMakeFiles/jami-core.dir/src/connectivity/ip_utils.cpp.o
[ 13%] Building CXX object CMakeFiles/jami-core.dir/src/connectivity/sip_utils.cpp.o
[ 14%] Building CXX object CMakeFiles/jami-core.dir/src/connectivity/utf8_utils.cpp.o
[ 14%] Building CXX object CMakeFiles/jami-core.dir/src/im/instant_messaging.cpp.o
[ 15%] Building CXX object CMakeFiles/jami-core.dir/src/im/message_engine.cpp.o
[ 15%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/account_manager.cpp.o
[ 16%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/accountarchive.cpp.o
[ 16%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/archive_account_manager.cpp.o
[ 16%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/conversationrepository.cpp.o
[ 17%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/conversation.cpp.o
[ 17%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/channeled_transport.cpp.o
[ 18%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/contact_list.cpp.o
[ 18%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/gitserver.cpp.o
[ 19%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/jamiaccount.cpp.o
[ 19%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/jamiaccount_config.cpp.o
[ 19%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/conversation_channel_handler.cpp.o
[ 20%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/transfer_channel_handler.cpp.o
[ 20%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/message_channel_handler.cpp.o
[ 21%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/conversation_module.cpp.o
[ 21%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/namedirectory.cpp.o
[ 22%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/server_account_manager.cpp.o
[ 22%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/sync_channel_handler.cpp.o
[ 22%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/sync_module.cpp.o
[ 23%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/typers.cpp.o
[ 23%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/eth/libdevcore/CommonData.cpp.o
[ 24%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/eth/libdevcore/SHA3.cpp.o
[ 24%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/eth/libdevcrypto/Common.cpp.o
[ 25%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/swarm/routing_table.cpp.o
[ 25%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/swarm/swarm_channel_handler.cpp.o
[ 25%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/swarm/swarm_manager.cpp.o
[ 26%] Building CXX object CMakeFiles/jami-core.dir/src/jamidht/swarm/swarm_protocol.cpp.o
[ 26%] Building CXX object CMakeFiles/jami-core.dir/src/media/congestion_control.cpp.o
[ 27%] Building CXX object CMakeFiles/jami-core.dir/src/media/libav_utils.cpp.o
[ 27%] Building CXX object CMakeFiles/jami-core.dir/src/media/localrecorder.cpp.o
[ 27%] Building CXX object CMakeFiles/jami-core.dir/src/media/localrecordermanager.cpp.o
[ 28%] Building CXX object CMakeFiles/jami-core.dir/src/media/media_attribute.cpp.o
[ 28%] Building CXX object CMakeFiles/jami-core.dir/src/media/media_buffer.cpp.o
[ 29%] Building CXX object CMakeFiles/jami-core.dir/src/media/media_codec.cpp.o
[ 29%] Building CXX object CMakeFiles/jami-core.dir/src/media/media_decoder.cpp.o
[ 30%] Building CXX object CMakeFiles/jami-core.dir/src/media/media_encoder.cpp.o
[ 30%] Building CXX object CMakeFiles/jami-core.dir/src/media/media_filter.cpp.o
[ 30%] Building CXX object CMakeFiles/jami-core.dir/src/media/media_io_handle.cpp.o
/mnt/code/big-src/jami/jami-daemon/src/media/media_io_handle.cpp: In constructor ‘jami::MediaIOHandle::MediaIOHandle(std::size_t, bool, io_readcallback, io_writecallback, io_seekcallback, void*)’:
/mnt/code/big-src/jami/jami-daemon/src/media/media_io_handle.cpp:37:77: error: invalid conversion from ‘io_writecallback’ {aka ‘int (*)(void*, unsigned char*, int)’} to ‘int (*)(void*, const uint8_t*, int)’ {aka ‘int (*)(void*, const unsigned char*, int)’} [-fpermissive]
37 | ctx_ = avio_alloc_context(buf, buffer_size, writeable, opaque, read_cb, write_cb, seek_cb);
| ^~~~~~~~
| |
| io_writecallback {aka int (*)(void*, unsigned char*, int)}
In file included from /gnu/store/l9pmzgwzapk9qk9db3bw1x7ji98mjhyf-ffmpeg-7.0.2/include/libavformat/avformat.h:319,
from /mnt/code/big-src/jami/jami-daemon/src/media/libav_deps.h:27,
from /mnt/code/big-src/jami/jami-daemon/src/media/media_io_handle.cpp:18:
/gnu/store/l9pmzgwzapk9qk9db3bw1x7ji98mjhyf-ffmpeg-7.0.2/include/libavformat/avio.h:404:25: note: initializing argument 6 of ‘AVIOContext* avio_alloc_context(unsigned char*, int, int, void*, int (*)(void*, uint8_t*, int), int (*)(void*, const uint8_t*, int), int64_t (*)(void*, int64_t, int))’
404 | int (*write_packet)(void *opaque, const uint8_t *buf, int buf_size),
| ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/jami-core.dir/build.make:1084: CMakeFiles/jami-core.dir/src/media/media_io_handle.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/mnt/code/big-src/jami/jami-daemon/src/media/media_decoder.cpp: In member function ‘jami::MediaDemuxer::Status jami::MediaDemuxer::decode()’:
/mnt/code/big-src/jami/jami-daemon/src/media/media_decoder.cpp:373:40: error: ‘const struct AVInputFormat’ has no member named ‘read_header’
373 | auto ret = inputCtx_->iformat->read_header(inputCtx_);
| ^~~~~~~~~~~
make[2]: *** [CMakeFiles/jami-core.dir/build.make:1042: CMakeFiles/jami-core.dir/src/media/media_decoder.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1234: CMakeFiles/jami-core.dir/all] Error 2
make: *** [Makefile:134: all] Error 2
The GNU/Linux system I have is GNU Guix, if that is relevant.