CppCMS 1.x.x Build Troubleshooting
- Missing dependencies
- Lots of tests fails
- Almost every test fails, and I use Windows
- Provide a complete bug report
- My sample application does not find the shared object
libcppcms.sowhen I try to run it.
Missing dependencies
At the cmake .. stage, the presence of all the dependencies (listed in the requirements section of the build page) will be checked.
It can sometimes be difficult for a beginner to figure out what packages must be installed to fulfil those requirements. You can help by listing here the known package name for different platforms.
Linux Debian and Ubuntu and derivatives
You may get all you need by running as root
apt-get install build-essential libpcre3-dev libicu-dev libgcrypt11-dev zlib1g-dev cmake
Note, CppCMS 0.0.x Debian dependencies are very different from CppCMS 1.x.x serices, don't use them.
Lots of tests fails
Something like this:
8 - form_test (Failed)
9 - cookie_test (Failed)
10 - internal_forwarder_test (Failed)
11 - forwarder_test (Failed)
12 - jsonrpc_test (Failed)
13 - proto_test_async_http (Failed)
14 - proto_test_async_scgi (Failed)
16 - proto_test_sync_http (Failed)
17 - proto_test_sync_scgi (Failed)
34 - test_aio_socket (Failed)
35 - test_aio_endpoint (Failed)
36 - test_aio_prefork (Failed)
Make sure you have no applications using 8080 and 8081 ports. If you are not sure which applications run on those ports, find its process id thus:
# fuser -n tcp 8080
In reply, you'll get something like this:
8080/tcp: 3171
Then find out which application has the process id 3171 thus:
ps -ef | grep 3171
Simply turn off or terminate the application.
Almost every test fails, and I use Windows
Make sure that you setup PATH environment variable correctly,
it should point to currentbuild\booster directory and
to directories where 3rd part library placed.
Provide a complete bug report
If you have make errors that are not addressed above, please provide a full report which should include the following information:
Your platform and distribution (e.g. Linux Debian 4).
$ uname -a Linux cppcms 2.6.31-22-generic #60-Ubuntu SMP Thu May 27 02:41:03 UTC 2010 x86_64 GNU/Linux
The cppCMS version or the svn version number if you checked out from svn, e.g.:
# svn update At revision 1314.
- The output of
cmake ... - The python version:
$ python -V Python 2.6.4
- The cmake version:
$ cmake --help cmake version 2.8.0
- The PCRE version:
$ pcretest PCRE version 7.8 2008-09-05
- The compiler type and version:
$ gcc --version gcc (Ubuntu 4.4.1-4ubuntu9) 4.4.1
- The ICU version: take a look in the file
/usr/include/unicode/uversion.hand see howU_ICU_VERSIONis defined.#define U_ICU_VERSION "4.0.1"
- In case you have errors when doing
cmake test, provide both the summary and the relevant parts of `build/Testing/Temporary/LastTest.log'.
My sample application does not find the shared object libcppcms.so when I try to run it.
By default CppCMS is installed into /usr/local
location and the library is got installed into /usr/local/lib/libcppcms.so, however under some operating systems like Linux, /usr/local/lib is not the path to search libraries in.
So you may want to do one of the following in order to use library correctly afterwards:
Install library to
/usr/libproviding additional cmake parameter-DCMAKE_INSTALL_PREFIX=/usrcmake -DCMAKE_INSTALL_PREFIX=/usr ..
Provide environment variable
LD_LIBRARY_PATHexport LD_LIBRARY_PATH=/usr/local/lib
Update system configuration so
/usr/local/libwould one of the locations where the operating system looks for libraries. For this, create a new file in/etc/ld.so.conf.d/
and put in the content/usr/local/lib
afterwards, reload ldconfigldconfig
Also make sure you read man ldconfig under Linux carefully.
