<!--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 |
<!--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 |