Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I install the libwebsocket library in Ubuntu?

I am trying to install the libwebsocket in my ubuntu .

so I downloaded the project https://github.com/warmcat/libwebsockets unzipped it and I followed the installation instruction.

I type the command cmake FH and get the following messages.

  You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:State or Province Name (full name) [Some-State]:Locality Name (eg, city) []:Organization Name (eg, company) [Internet Widgits Pty Ltd]:Organizational Unit Name (eg, section) []:Common Name (e.g. server FQDN or YOUR name) []:Email Address []:SUCCSESFULLY generated SSL certificate
Generating API documentation
-- Looking for RPMTools... - rpmbuild NOT FOUND
---------------------------------------------------------------------
  Settings:  (For more help do cmake -LH <srcpath>
---------------------------------------------------------------------
 LWS_WITH_SSL = ON  (SSL Support)
 LWS_SSL_CLIENT_USE_OS_CA_CERTS = 1
 LWS_USE_CYASSL = OFF (CyaSSL replacement for OpenSSL)
 LWS_WITHOUT_BUILTIN_GETIFADDRS = OFF
 LWS_WITHOUT_CLIENT = OFF
 LWS_WITHOUT_SERVER = OFF
 LWS_LINK_TESTAPPS_DYNAMIC = OFF
 LWS_WITHOUT_TESTAPPS = OFF
 LWS_WITHOUT_TEST_SERVER = OFF
 LWS_WITHOUT_TEST_SERVER_EXTPOLL = OFF
 LWS_WITHOUT_TEST_PING = OFF
 LWS_WITHOUT_TEST_CLIENT = OFF
 LWS_WITHOUT_TEST_FRAGGLE = OFF
 LWS_WITHOUT_DEBUG = OFF
 LWS_WITHOUT_EXTENSIONS = OFF
 LWS_WITH_LATENCY = OFF
 LWS_WITHOUT_DAEMONIZE = OFF
 LWS_USE_LIBEV = 
 LWS_IPV6 = OFF
 LWS_WITH_HTTP2 = OFF
---------------------------------------------------------------------
-- Configuring done
-- Generating done
-- Build files have been written to: /home/maroua/libwebsocket/libwebsockets-master
-- Cache values
// Choose the type of build, options are: None(CMAKE_CXX_FLAGS or CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.
CMAKE_BUILD_TYPE:STRING=

// Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=/usr/local

// Libwebsockets include directories
LIBWEBSOCKETS_INCLUDE_DIRS:PATH=/home/maroua/libwebsocket/libwebsockets-master/lib;/home/maroua/libwebsocket/libwebsockets-master

// Libwebsocket libraries
LIBWEBSOCKETS_LIBRARIES:STRING=websocket;websockets_shared

// Libwebsocket shared library
LIBWEBSOCKETS_LIBRARIES_SHARED:STRING=websockets_shared

// Libwebsocket static library
LIBWEBSOCKETS_LIBRARIES_STATIC:STRING=websocket

// Path to the CyaSSL include directory
LWS_CYASSL_INCLUDE_DIRS:PATH=

// Path to the CyaSSL library
LWS_CYASSL_LIB:PATH=

// Installation directory for executables
LWS_INSTALL_BIN_DIR:PATH=bin

// Installation directory for CMake files
LWS_INSTALL_CMAKE_DIR:PATH=lib/cmake/libwebsockets

// Installation directory for example files
LWS_INSTALL_EXAMPLES_DIR:PATH=bin

// Installation directory for header files
LWS_INSTALL_INCLUDE_DIR:PATH=include

// Installation directory for libraries
LWS_INSTALL_LIB_DIR:PATH=lib

// Compile with support for ipv6
LWS_IPV6:BOOL=OFF

// Link the test apps to the shared version of the library. Default is to link statically
LWS_LINK_TESTAPPS_DYNAMIC:BOOL=OFF

// Server SSL certificate directory
LWS_OPENSSL_CLIENT_CERTS:PATH=../share

// SSL support should make use of OS installed CA root certs
LWS_SSL_CLIENT_USE_OS_CA_CERTS:BOOL=ON

// Use CyaSSL replacement for OpenSSL. When settings this, you also need to specify LWS_CYASSL_LIB and LWS_CYASSL_INCLUDE_DIRS
LWS_USE_CYASSL:BOOL=OFF

// Search the system for ZLib instead of using the included one (on Windows)
LWS_USE_EXTERNAL_ZLIB:BOOL=OFF

// Don't use BSD getifaddrs implementation from libwebsockets if it is missing (this will result in a compilation error) ... Default is your libc provides it. On some systems such as uclibc it doesn't exist.
LWS_WITHOUT_BUILTIN_GETIFADDRS:BOOL=OFF

// Don't build the client part of the library
LWS_WITHOUT_CLIENT:BOOL=OFF

// Don't build the daemonization api
LWS_WITHOUT_DAEMONIZE:BOOL=OFF

// Don't compile debug related code
LWS_WITHOUT_DEBUG:BOOL=OFF

// Don't compile with extensions
LWS_WITHOUT_EXTENSIONS:BOOL=OFF

// Don't build the server part of the library
LWS_WITHOUT_SERVER:BOOL=OFF

// Don't build the libwebsocket-test-apps
LWS_WITHOUT_TESTAPPS:BOOL=OFF

// Don't build the client test application
LWS_WITHOUT_TEST_CLIENT:BOOL=OFF

// Don't build the ping test application
LWS_WITHOUT_TEST_FRAGGLE:BOOL=OFF

// Don't build the ping test application
LWS_WITHOUT_TEST_PING:BOOL=OFF

// Don't build the test server
LWS_WITHOUT_TEST_SERVER:BOOL=OFF

// Don't build the test server version that uses external poll
LWS_WITHOUT_TEST_SERVER_EXTPOLL:BOOL=OFF

// Compile with support for http2
LWS_WITH_HTTP2:BOOL=OFF

// Build latency measuring code into the library
LWS_WITH_LATENCY:BOOL=OFF

// Compile with support for libev
LWS_WITH_LIBEV:BOOL=OFF

// Include SSL support (default OpenSSL, CyaSSL if LWS_USE_CYASSL is set)
LWS_WITH_SSL:BOOL=ON

// The RPM builder tool
RPMTools_RPMBUILD_EXECUTABLE:FILEPATH=RPMTools_RPMBUILD_EXECUTABLE-NOTFOUND

I tried to compile a C program that uses libwebsocket.h, it tells me that it does not exist. Can any one show me the right way to install this lib. Thanks for any help .

like image 600
Emb_user Avatar asked Apr 06 '15 11:04

Emb_user


People also ask

What is Libwebsocket?

Libwebsockets (LWS) is a flexible, lightweight pure C library for implementing modern network protocols easily with a tiny footprint, using a nonblocking event loop. It has been developed continuously since 2010 and is used in tens of millions of devices and by thousands of developers around the world.


1 Answers

A simple way to install libwebsocket in Ubuntu is to use this command in a terminal:

sudo apt-get install libwebsockets-dev

This command will install the version 1.2.
The libwebsockets.h file will be located at /usr/include/libwebsockets.h


An other way to have this library is to get the latest version (1.4 at the moment) from GitHub. To do that open a Terminal and go in the directory you want to get the library (I will call it lib_dir).

When you are in the lib_dir directory enter this command to get the code:

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

When the command finish you will find a directory named libwebsockets.
The libwebsockets.h file will be located at lib_dir/libwebsockets/lib

If you need / want to build the library and install it in your system go in lib_dir then enter the following commands:

sudo apt-get install libssl-dev
mkdir build
cd build
cmake ..
make
sudo make install
ldconfig

This will install the library in /usr/local/include.
And to make sure of the version you just installed:

pkg-config --modversion libwebsockets

Finally you need to include in the compiler (include paths -I):

/usr/local/include

In the linker libraries (Libraries -l):

websockets

Finally (Library search path -L):

/usr/local/lib

like image 63
WannaGetHigh Avatar answered Sep 19 '22 19:09

WannaGetHigh