meetecho / janus-gateway

Janus WebRTC Server
https://janus.conf.meetecho.com
GNU General Public License v3.0
8.17k stars 2.47k forks source link

Failed to compile janus on an arm machine inside docker container with ubuntu 24.04 as image #3379

Closed shivanshtalwar0 closed 4 months ago

shivanshtalwar0 commented 4 months ago

What version of Janus is this happening on? 1.2.2

What about environment? Running on ubuntu 24.04 image building on docker container on an arm64 machine Have you tested a more recent version of Janus too? Yes same as the master branch

when I try to compile the Janus server on orangePi (arm64) it fails with the following error

 error: too few arguments to function 'srtp_protect'
32.86  4876 | srtp_protect(pc->dtls->srtp_out, pkt->data, &protected) : srtp_err_status_ok;
Output of config and dependency check
checking for a BSD-compatible install... /usr/bin/install -c
14.87 checking whether build environment is sane... yes
14.90 checking for a race-free mkdir -p... /usr/bin/mkdir -p
14.90 checking for gawk... no
14.91 checking for mawk... mawk
14.91 checking whether make sets $(MAKE)... yes
14.94 checking whether make supports nested variables... yes
14.96 checking whether make supports nested variables... (cached) yes
14.96 checking whether make supports the include directive... yes (GNU style)
14.99 checking for gcc... gcc
15.06 checking whether the C compiler works... yes
15.21 checking for C compiler default output file name... a.out
15.21 checking for suffix of executables...
15.36 checking whether we are cross compiling... no
15.51 checking for suffix of object files... o
15.60 checking whether the compiler supports GNU C... yes
15.68 checking whether gcc accepts -g... yes
15.76 checking for gcc option to enable C11 features... none needed
15.92 checking whether gcc understands -c and -o together... yes
16.07 checking dependency style of gcc... gcc3
16.19 checking for stdio.h... yes
16.28 checking for stdlib.h... yes
16.37 checking for string.h... yes
16.47 checking for inttypes.h... yes
16.57 checking for stdint.h... yes
16.67 checking for strings.h... yes
16.77 checking for sys/stat.h... yes
16.87 checking for sys/types.h... yes
16.97 checking for unistd.h... yes
17.08 checking for wchar.h... yes
17.20 checking for minix/config.h... no
17.32 checking whether it is safe to define __EXTENSIONS__... yes
17.43 checking whether _XOPEN_SOURCE should be defined... no
17.54 checking for gcc... (cached) gcc
17.64 checking whether the compiler supports GNU C... (cached) yes
17.64 checking whether gcc accepts -g... (cached) yes
17.64 checking for gcc option to enable C11 features... (cached) none needed
17.64 checking whether gcc understands -c and -o together... (cached) yes
17.64 checking dependency style of gcc... (cached) gcc3
17.66 checking build system type... aarch64-unknown-linux-gnu
17.85 checking host system type... aarch64-unknown-linux-gnu
17.85 checking how to print strings... printf
17.86 checking for a sed that does not truncate output... /usr/bin/sed
17.87 checking for grep that handles long lines and -e... /usr/bin/grep
17.88 checking for egrep... /usr/bin/grep -E
17.89 checking for fgrep... /usr/bin/grep -F
17.89 checking for ld used by gcc... /usr/bin/ld
17.91 checking if the linker (/usr/bin/ld) is GNU ld... yes
17.92 checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
17.93 checking the name lister (/usr/bin/nm -B) interface... BSD nm
18.02 checking whether ln -s works... yes
18.02 checking the maximum length of command line arguments... 1572864
18.04 checking how to convert aarch64-unknown-linux-gnu file names to aarch64-unknown-linux-gnu format... func_convert_file_noop
18.04 checking how to convert aarch64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
18.05 checking for /usr/bin/ld option to reload object files... -r
18.05 checking for file... file
18.05 checking for objdump... objdump
18.05 checking how to recognize dependent libraries... pass_all
18.05 checking for dlltool... no
18.05 checking how to associate runtime and link libraries... printf %s\n
18.05 checking for ar... ar
18.06 checking for archiver @FILE support... @
18.16 checking for strip... strip
18.16 checking for ranlib... ranlib
18.17 checking command to parse /usr/bin/nm -B output from gcc object... ok
18.43 checking for sysroot... no
18.43 checking for a working dd... /usr/bin/dd
18.45 checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
18.46 checking for mt... no
18.46 checking if : is a manifest tool... no
18.48 checking for dlfcn.h... yes
18.60 checking for objdir... .libs
18.85 checking if gcc supports -fno-rtti -fno-exceptions... no
18.94 checking for gcc option to produce PIC... -fPIC -DPIC
18.95 checking if gcc PIC flag -fPIC -DPIC works... yes
19.04 checking if gcc static flag -static works... yes
19.22 checking if gcc supports -c -o file.o... yes
19.33 checking if gcc supports -c -o file.o... (cached) yes
19.33 checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
19.37 checking whether -lc should be explicitly linked in... no
19.48 checking dynamic linker characteristics... GNU/Linux ld.so
19.67 checking how to hardcode library paths into programs... immediate
19.68 checking whether stripping libraries is possible... yes
19.68 checking if libtool supports shared libraries... yes
19.68 checking whether to build shared libraries... yes
19.68 checking whether to build static libraries... no
19.69 checking for pkg-config... /usr/bin/pkg-config
19.69 checking pkg-config is at least version 0.9.0... yes
19.70 checking for "glib-2.0 >= 2.34
19.70                     gio-2.0 >= 2.34
19.70                     libconfig
19.70                     nice
19.70                     jansson >= 2.5
19.70                     libssl >= 1.0.1
19.70                     libcrypto
19.70                     zlib"... yes
19.74 checking for library containing tls_config_set_ca_mem... no
20.05 checking for nice_agent_set_port_range in -lnice... yes
20.30 checking for nice_address_equal_no_port in -lnice... yes
20.55 checking for nice_agent_close_async in -lnice... yes
20.81 checking for nice_agent_new_full in -lnice... yes
21.08 checking for nice_agent_consent_lost in -lnice... yes
21.35 checking for dlopen in -ldl... yes
21.52 checking for libsrtp2... yes
21.54 checking for usrsctp_finish in -lusrsctp... yes
21.71 checking for libcurl... yes
21.74 checking for doxygen... doxygen
21.74 checking for dot... dot
21.74 checking for
21.74                     glib-2.0 >= 2.34
21.74                     jansson >= 2.5
21.74                   ... yes
21.76 checking for libmicrohttpd >= 0.9.59... yes
21.79 checking for enum MHD_Result... yes
22.05 checking for lws_create_vhost in -lwebsockets... yes
22.30 checking for lws_get_peer_simple in -lwebsockets... yes
22.55 checking for amqp_error_string2 in -lrabbitmq... yes
22.80 checking for rabbitmq-c/amqp.h... yes
23.02 checking for MQTTAsync_create in -lpaho-mqtt3a... yes
23.19 checking for nn_socket in -lnanomsg... yes
23.52 checking for
23.52                     glib-2.0 >= 2.34
23.52                     jansson >= 2.5
23.52                   ... yes
23.54 checking for sofia-sip-ua... yes
23.56 checking for
23.56                    opus
23.56                   ... yes
23.58 checking for ogg... yes
23.60 checking for lua... no
23.66 checking for lua5.3... yes
23.67 checking for duktape... no
23.73 checking for
23.73                     glib-2.0 >= 2.34
23.73                     jansson >= 2.5
23.73                   ... yes
23.75 checking for
23.75                     glib-2.0 >= 2.34
23.75                     jansson >= 2.5
23.75                   ... yes
23.77 checking for npm... /usr/bin/npm
23.78 checking for libpcap... no
atoppi commented 4 months ago

Build libsrtp v2.6.0 from sources, higher versions break the APIs.