Main  /  Edit  /  History  /   /  Users Area

Installation of CppCMS Framework

Note

This is old-stable version of CppCMS you are most likely looking for new version installation instructions

Requirements

We should divide the requirements into three categories:

You can find list of packages for Debian and Ubuntu there.

Mandatory

Suggested

Build

Getting sources

From Tarboll

You may download latest version from SF Download Page. For example cppcms-X.Y.Z.tar.gz

Untar them

tar -xzvf cppcms-X.Y.Z.tar.gz
cd cppcms-X.Y.Z

From subversion

In addition to normal requirements you need subversion client and full autotools chain

svn co http://cppcms.svn.sourceforge.net/svnroot/cppcms/framework/branches/maintance_0_0_x/  cppcms

Then run:

cd cppcms
./autogen.sh
./autogen.sh

Configuration

Usually, configure script would recognize persistence of all libraries, and disable non mandatory parts if some of libraries are missing. However, you may disable them manually using following flags:

--disable-forkcache     Disable shared memory cache
--disable-fastcgi       Disable fastcgi interface
--disable-tcpcache      Disable distributed cache system
--disable-crypt         Disable encrypted sessions backend
--disable-sqlite        Disable Sqlite sessions backend
--enable-boostsuffix    Specify custom suffix for boost libraries

So you run:

./configure
make

If all finished without errors, run as "root":

make install

Building with Custom Boost Libraries

Generally, boost libraries are provided by your operating system, however, in some cases you may want to use special version of Boost that was build from the source.

Default Boost build does not create symbolic links to specific libraries so, you may find files like this:

/opt/include/boost-1_35/boost/regex.hpp
/opt/lib/libboost_regex-gcc41-mt.so

Instead of

/usr/include/boost/regex.hpp
/usr/lib/libboost_regex.so

In this case, you should specify --enable-boostsuffix option in order to complete configuration and link correctly. In the above case it would be:

./configure CXXFLAGS=-I/opt/include/boost-1_35 \
     LDFLAGS=-L/opt/lib --enable-boostsuffix=gcc41-mt

Don't forget to make sure that /opt/lib is in your LD_LIBRARY_PATH.

Notes on binary packages

At this point CppCMS project does not provide binary packages for several reasons:

  1. This software works with wide range of different libraries and their different versions. Linux distribution packagers should decide how to build this framework and against which libraries.
  2. Some of libraries are not available from official repositories of all popular distributions.
  3. CppCMS project provided for developers that probably should deploy their application to different environment where, in most of cases, that library would be build for their own need with modules they need.

  1. Some of POSIX/UNIX Features that are used:

    • bash
    • Berkeley and UNIX Sockets stack including poll(2)
    • mmap, fork, sigaction
    • Process shared pthread mutex/rwlock (optional, recommended)
    • /dev/urandom
    • fcntl for file locking
  2. Cygwin has many performance drawbacks, thus it is not recommended for production environment (as Windows at all ;-))

About

CppCMS is a web development framework for performance demanding applications.

Support This Project

SourceForge.net Logo

Поддержать проект

CppCMS needs You


Navigation

Main Page



Valid CSS | Valid XHTML 1.0