install janus on ubuntu 14.04

2,725 views
Skip to first unread message

John Li

unread,
Oct 23, 2015, 12:02:48 PM10/23/15
to meetecho-janus
After i run "./configure --prefix=/opt/janus"
and try to run "make" and  "make install"
it throws "make: *** No targets specified and no makefile found.  Stop."
any idea?

Mikael Boman

unread,
Oct 23, 2015, 2:38:56 PM10/23/15
to meetecho-janus


Install Janus

On Ubuntu 14.04/Mint 17.1

sudo apt-get install libmicrohttpd-dev libjansson-dev libnice-dev \
libssl-dev libsrtp-dev libsofia-sip-ua-dev libglib2.0-dev \
libopus-dev libogg-dev libini-config-dev libcollection-dev \
pkg-config gengetopt automake libtool doxygen graphviz git cmake

To allow for post-processing tools:

sudo apt-get install libavformat-dev

Fetch code:

 git clone git://github.com/meetecho/janus-gateway.git

Then:

cd janus-gateway

If you want to use data channels:

sudo apt-get install subversion
svn co http://sctp-refimpl.googlecode.com/svn/trunk/KERN/usrsctp usrsctp
cd usrsctp
./bootstrap
./configure --prefix=/usr && make && sudo make install
cd ..

If you want to use websockets (libwebsockets):

# obs cmake needed. to install: sudo apt-get install cmake
git clone git://git.libwebsockets.org/libwebsockets
cd libwebsockets
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr ..
make && sudo make install
cd ../..

Then prepare for install janus:

sh autogen.sh
 ./configure --disable-rabbitmq --disable-data-channels --enable-post-processing # to use websockets
#./configure --disable-websockets --disable-rabbitmq # to allow simple chat
#./configure --disable-websockets --disable-data-channels --disable-rabbitmq

If you switch between used protocols requiring different libs, force a recompilation by a later make:

 make clean

and then:

make
sudo make install
sudo make configs
 
/usr/local/bin/janus

 

John Li

unread,
Oct 23, 2015, 3:12:37 PM10/23/15
to meetecho-janus
Thanks Mikael. These steps work seamlessly on Ubuntu 14.04!

Jaych Su

unread,
Oct 26, 2016, 4:03:06 AM10/26/16
to meetecho-janus
I wrote a script to setup `Janus` according to this workflow.

GitHub Gist: https://gist.github.com/jaychsu/f92dda8f4596d916e4f14e3b038719d1

Usage: ./setup-janus [-s <SOURCE_LOCATE>] [-c <COMPILE_FOLDER>] [OPTION]...

Params
  -s    SOURCE_LOCATE, Source code will be put here.
  -c    COMPILE_FOLDER, 'janus-gateway' will be compiled here.

Options
  -p    Enable feature: 'post-process'.
  -d    Enable feature: 'data-channel'.
  -w    Enable feature: 'web-socket'.

Olga Khylkouskaya

unread,
Oct 27, 2016, 1:20:47 PM10/27/16
to meetecho-janus
Hello, 

These set up instructions were working for me around a month ago. But for some reason stopped working recently.
I did sudo apt-get update and use master version for libwebsocket and janus.
Janus uses old API for websockets and that causes the failure. When I modify configure for janus to force to use New API, everything is fine.

Lorenzo Miniero

unread,
Oct 28, 2016, 8:25:39 AM10/28/16
to meetecho-janus
It may be that the libwebsockets API changed again, and so there's an even *newer* API that is different from the *new* API we check. Since we can't find the *new* one, we assume it's *old*, which is what may be causing the issue for you. As I said in another post, libwebsockets 2.0 works for me, so not sure what the master is right now.

L.

Olga Khylkouskaya

unread,
Nov 8, 2016, 5:52:44 PM11/8/16
to meetecho-janus
I was able to verify working configuration with libwesocket 2.0 and boring ssl, here it is:

echo "Start installing libwebsockets"
cd ~/build

git clone git://git.libwebsockets.org/libwebsockets
cd libwebsockets
git checkout v2.0-stable
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DLWS_SERVER_OPTION_DO_SSL_GLOBAL_INIT=ON ..

make && sudo make install

echo "Installing boring ssl"
cd ~/build
git clone https://boringssl.googlesource.com/boringssl
cd boringssl
sed -i s/" -Werror"//g CMakeLists.txt
mkdir -p build
cd build
cmake -DCMAKE_CXX_FLAGS="-lrt" ..
make
cd ..
# Install
sudo mkdir -p /opt/boringssl
sudo cp -R include /opt/boringssl/
sudo mkdir -p /opt/boringssl/lib
sudo cp build/ssl/libssl.a /opt/boringssl/lib/
sudo cp build/crypto/libcrypto.a /opt/boringssl/lib/

echo "Start installing Janus"
cd ~/build
git clone git://github.com/meetecho/janus-gateway.git
cd janus-gateway
sh autogen.sh

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/boringssl/lib
./configure --enable-boringssl --disable-data-channels --disable-rabbitmq --disable-mqtt --disable-docs --prefix=/opt/janus LDFLAGS="-L/usr/local/lib -Wl,-rpath=/usr/local/lib" CFLAGS="-I/usr/local/include"

make && sudo make install
sudo make configs

SERDAR DURBARIŞ

unread,
Dec 5, 2016, 2:56:13 PM12/5/16
to meetecho-janus

hi @jaychsu line 125 `

git clone git://git.libwebsockets.org/libwebsockets package gives error.

If the address is changed to `

git clone https://github.com/warmcat/libwebsockets.git

` set up seamless.




26 Ekim 2016 Çarşamba 11:03:06 UTC+3 tarihinde Jaych Su yazdı:

Jaych Su

unread,
Dec 5, 2016, 9:26:03 PM12/5/16
to meetecho-janus
Cool, thx for ur feedback ;)

Chad Furman

unread,
Dec 6, 2016, 1:51:42 PM12/6/16
to meetecho-janus
I personally have had great success using the HTTP polling option, disabling web sockets, and putting an nginx proxy in-front of Janus.  Otherwise, the above install instructions are pretty solid :)
Reply all
Reply to author
Forward
0 new messages