<!--toc-->
|
|
##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](/wikipp/en/page/install_debain_deps) 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 current` build\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.h` and see how `U_ICU_VERSION` is 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/lib` providing additional cmake parameter `-DCMAKE_INSTALL_PREFIX=/usr`
|
|
cmake -DCMAKE_INSTALL_PREFIX=/usr ..
|
|
- Provide environment variable `LD_LIBRARY_PATH`
|
|
export LD_LIBRARY_PATH=/usr/local/lib
|
|
- Update system configuration so `/usr/local/lib` would 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 ldconfig
|
ldconfig
|
|
Also make sure you read `man ldconfig` under Linux carefully.
|
|
## The iconv library is not found on Mac OS X
|
|
It is a common issue. It is usually by have multiple installation of libiconv - one GNU's one (ports) and another that comes with Mac OS X - it is shipped from 10.5
|
|
If you search search for iconv.h and libiconv.* and you are likely to find multiple instances. What happens that the header and the library that are detected are incompatible and link fails - thus the library is not found.
|
|
You need to either remove port's iconv or pass
|
proper `-DCMAKE_INCLUDE_PATH` and `-DCMAKE_LIBRARY_PATH` options that would point to correct location of the iconv library |
proper `-DCMAKE_INCLUDE_PATH` and `-DCMAKE_LIBRARY_PATH` options that would point to correct location of the iconv library
|
|
---
|
|
← [Migrating to CppCMS 1.x.x][prev]
|
| [Top](#maincontent)
|
| [Notes for Windows users][next] →
|
|
[prev]: /wikipp/en/page/cppcms_1x_migration
|
[next]: /wikipp/en/page/notes_for_windows_users |