Installing Janus on AWS Linux, REST transport: no

571 views
Skip to first unread message

Charles Johnson

unread,
Feb 23, 2021, 12:36:09 PM2/23/21
to meetecho-janus
I'm trying to install Janus Gateway on an AWS Linux EC2 server.
When I run configure, it goes through the steps and returns the output below. One of the items says "REST (HTTP/HTTPS):     no" which is a show-stopper for me. I believe I have all the dependencies installed, and I believe installed correctly. But I can't figure out what I'm missing.
I cobbled my installation together from various sources, but some items didn't seem to act the way I would expect. Installation script at bottom

Compiler:                  gcc
libsrtp version:           2.x
SSL/crypto library:        OpenSSL
DTLS set-timeout:          not available
Mutex implementation:      GMutex (native futex on Linux)
DataChannels support:      yes
Recordings post-processor: no
TURN REST API client:      yes
Doxygen documentation:     no
Transports:
    REST (HTTP/HTTPS):     no
    WebSockets:            yes
    RabbitMQ:              yes
    MQTT:                  yes
    Unix Sockets:          yes
    Nanomsg:               yes
Plugins:
    Echo Test:             yes
    Streaming:             yes
    Video Call:            yes
    SIP Gateway:           yes
    NoSIP (RTP Bridge):    yes
    Audio Bridge:          yes
    Video Room:            yes
    Voice Mail:            yes
    Record&Play:           yes
    Text Room:             yes
    Lua Interpreter:       no
    Duktape Interpreter:   no
Event handlers:
    Sample event handler:  yes
    WebSocket ev. handler: yes
    RabbitMQ event handler:yes
    MQTT event handler:    yes
    Nanomsg event handler: yes
    GELF event handler:    yes
External loggers:
    JSON file logger:      no
JavaScript modules:        no

Installation Steps:

sudo yum update -y
sudo amazon-linux-extras install -y epel
sudo yum install -y git gcc gcc-c++ libtool autoconf automake doxygen graphviz cmake
sudo yum install -y jansson-devel openssl-devel libmicrohttpd-devel glib2-devel opus-devel libogg-devel libcurl-devel lua-devel libconfig-devel pkgconfig gengetopt gtk-doc libnice-devel

cd ~
tar xfv v2.3.0.tar.gz
rm v2.3.0.tar.gz
cd libsrtp-2.3.0
./configure --prefix=/usr --enable-openssl --libdir=/usr/lib64
make shared_library
sudo make install

cd ~
cd usrsctp
./bootstrap
./configure --prefix=/usr  --libdir=/usr/lib64
make
sudo make install

cd ~
cd libwebsockets
git checkout v3.2.0
mkdir build
cd build
cmake -DLWS_MAX_SMP=1 -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_C_FLAGS="-fpic" ..
make
sudo make install

cd ~
cd sofia-sip
sh autogen.sh
./configure --prefix=/usr --libdir=/usr/lib64
make
sudo make install

cd ~
cd paho.mqtt.c
sudo prefix=/usr make install

sudo yum update -y 
sudo yum install -y nanomsg-devel

cd ~
cd rabbitmq-c
git submodule init
git submodule update
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
make
sudo make install

cd ~
cd janus-gateway
sh autogen.sh
./configure --prefix=/opt/janus --libdir=/usr/lib64
make
sudo make install
sudo make configs

Lorenzo Miniero

unread,
Feb 23, 2021, 12:43:45 PM2/23/21
to meetecho-janus
Check config.log, all the info you need is there. Very likely you don't have libmicrohttpd at least 0.9.59, required as explained in the README.

L.

Mirko Brankovic

unread,
Feb 23, 2021, 12:45:54 PM2/23/21
to meetecho-janus
you need to check if you have latest libmicrohttpd10 installed since that is a dependency for http listener

--
You received this message because you are subscribed to the Google Groups "meetecho-janus" group.
To unsubscribe from this group and stop receiving emails from it, send an email to meetecho-janu...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/meetecho-janus/d574fa23-c7e1-4d16-bc1c-bb1493fd9ae5n%40googlegroups.com.


--
Regards,
Mirko

charles...@civi.com

unread,
Feb 23, 2021, 12:54:09 PM2/23/21
to Lorenzo Miniero, meetecho-janus

That was it, thanks everyone

 

Charles Johnson

PO Box 4689

Greenwich, CT 06831

866-930-4526

www.civi.com

Description: civicom

--
You received this message because you are subscribed to a topic in the Google Groups "meetecho-janus" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/meetecho-janus/7agQXrmEC4U/unsubscribe.
To unsubscribe from this group and all its topics, send an email to meetecho-janu...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/meetecho-janus/3fc2d15e-3806-4425-b2b1-933d3815fc1en%40googlegroups.com.

image001.gif

Charles Johnson

unread,
Feb 23, 2021, 1:17:54 PM2/23/21
to meetecho-janus
Config seems to be working now, but then make shows several errors that I dont understand. They appear to be warnings, but it literally says that they will be treated as errors



`which git` rev-parse HEAD | awk 'BEGIN {print "#include \"version.h\""} {print "const char *janus_build_git_sha = \"" $0"\";"} END {}' > version.c
echo "Tue Feb 23 13:11:29 EST 2021" | awk 'BEGIN {} {print "const char *janus_build_git_time = \""$0"\";"} END {} ' >> version.c
echo "111" | awk 'BEGIN {} {print "int janus_version = "$0";"} END {} ' >> version.c
echo "0.11.1" | awk 'BEGIN {} {print "const char *janus_version_string = \""$0"\";"} END {} ' >> version.c
PKG_CONFIG_PATH="" pkg-config --modversion nice | awk 'BEGIN {} {print "const char *libnice_version_string = \""$0"\";"} END {} ' >> version.c
make  all-recursive
make[1]: Entering directory `/home/charles/janus-gateway'
Making all in html
make[2]: Entering directory `/home/charles/janus-gateway/html'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/charles/janus-gateway/html'
make[2]: Entering directory `/home/charles/janus-gateway'
  CC       janus-ice.o
ice.c: In function âjanus_ice_test_stun_serverâ:
ice.c:1026:94: warning: passing argument 3 of âstun_message_find_xor_addrâ from incompatible pointer type [-Wincompatible-pointer-types]
  StunMessageReturn ret = stun_message_find_xor_addr(&msg, STUN_ATTRIBUTE_XOR_MAPPED_ADDRESS, (struct sockaddr_storage *)address, &addrlen);
                                                                                              ^
In file included from /usr/include/stun/stunagent.h:73:0,
                 from /usr/include/stun/usages/bind.h:61,
                 from ice.c:24:
/usr/include/stun/stunmessage.h:666:19: note: expected âstruct sockaddr *â but argument is of type âstruct sockaddr_storage *â
 StunMessageReturn stun_message_find_xor_addr (const StunMessage *msg,
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
ice.c:1044:68: warning: passing argument 3 of âstun_message_find_addrâ from incompatible pointer type [-Wincompatible-pointer-types]
  ret = stun_message_find_addr(&msg, STUN_ATTRIBUTE_MAPPED_ADDRESS, (struct sockaddr_storage *)address, &addrlen);
                                                                    ^
In file included from /usr/include/stun/stunagent.h:73:0,
                 from /usr/include/stun/usages/bind.h:61,
                 from ice.c:24:
/usr/include/stun/stunmessage.h:647:19: note: expected âstruct sockaddr *â but argument is of type âstruct sockaddr_storage *â
 StunMessageReturn stun_message_find_addr (const StunMessage *msg,
                   ^~~~~~~~~~~~~~~~~~~~~~
ice.c: In function âjanus_ice_cb_new_local_candidateâ:
ice.c:2127:19: error: implicit declaration of function ânice_address_ip_versionâ; did you mean ânice_address_is_validâ? [-Werror=implicit-function-declaration]
  gboolean ipv6 = (nice_address_ip_version(&candidate->addr) == 6);
                   ^~~~~~~~~~~~~~~~~~~~~~~
                   nice_address_is_valid
ice.c:2127:19: warning: nested extern declaration of ânice_address_ip_versionâ [-Wnested-externs]
ice.c: In function âjanus_ice_candidate_to_stringâ:
ice.c:3183:17: warning: variable âbase_portâ set but not used [-Wunused-but-set-variable]
  gint port = 0, base_port = 0;
                 ^~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [janus-ice.o] Error 1
make[2]: Leaving directory `/home/charles/janus-gateway'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/charles/janus-gateway'
make: *** [all] Error 2


Prashant Dahiya

unread,
Jan 12, 2023, 10:02:16 AM1/12/23
to meetecho-janus
I am getting same issue, but can't install newer version of libmicrohttpd on AWS amazon linux (EC2).  Can someone please help ? 
Following is the command output :

``` yum install libmicrohttpd
Failed to set locale, defaulting to C
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core                                                                                                                                                                                                                    | 3.7 kB  00:00:00
215 packages excluded due to repository priority protections
Package libmicrohttpd-0.9.33-2.amzn2.0.2.x86_64 already installed and latest version
Nothing to do```


Message has been deleted

Venelin Spiridonov

unread,
Feb 23, 2023, 2:23:06 PM2/23/23
to meetecho-janus
what's the reason of not using docker image of Janus from hub.docker.com instead of fighting dependencies?

Charles Johnson

unread,
Feb 23, 2023, 2:49:33 PM2/23/23
to meetecho-janus
Check my more recent posts, I switched to using a dockerized version of Janus a while back. In fact  we now have production Janus servers handling thousands of streams per day, I don't think I would go back to building it manually at this point.
Reply all
Reply to author
Forward
0 new messages