<!--toc--> |
|
##Отсутствуют зависимости |
|
На этапе `cmake ..` проверяется наличие всех зависимостей (перечисленные в разделе требований на странице сборки). |
|
Иногда, для начинающего сложно выяснить какие пакеты должны быть установлены для соответствия этим требованиям. Вы можете помочь, внеся в список известные названия пакетов для различных платформ. |
|
### Linux Debian, Ubuntu и производные |
|
Вы можете получить все нужные пакеты, выполнив от root |
|
apt-get install build-essential libpcre3-dev libicu-dev libgcrypt11-dev zlib1g-dev cmake |
|
Замечание, [зависимости CppCMS 0.0.x Debian](/wikipp/en/page/install_debain_deps) очень отличаются от серий CppCMS 1.x.x - не используйте их. |
|
##Множество тестов неуспешны |
|
Что-то вроде: |
|
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) |
|
|
Проверьте, нет ли приложений использующих порты 8080 и 8081 (напр. tomcat, jboss - прим. пер.). |
Если не уверены, какое именно приложение запущено на этом порту - поищите его идентификатор процесса (PID) от пользователя root так: |
|
`# fuser -n tcp 8080` |
|
В ответ получите что-то вроде: |
|
`8080/tcp: 3171` |
|
Затем найдите у какого приложения PID равен 3171 так: |
|
`ps -ef | grep 3171` |
|
Просто выключите или остановите приложение. |
|
##Почти все тесты неуспешны и я использую Windows |
|
Проверьте, что вы корректно установили переменную окружения PATH - она должна указывать на текущую директорию` build\booster` и на директории, где расположены сторонние библиотеки. |
|
##Предоставьте полный отчет об ошибке |
|
Если есть ошибки сборки не указанные выше - пожалуйста, предоставьте полный отчет, который должен включать следующую информацию: |
|
* Вашу платформу и дистрибутив (напр. 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 |
|
* Версию cppCMS или ревизию svn если Вы загружали его из из svn, напр.: |
# svn update |
At revision 1314. |
* Вывод `cmake ..`. |
* Версию python: |
$ python -V |
Python 2.6.4 |
* Версию cmake: |
$ cmake --help |
cmake version 2.8.0 |
* Версию PCRE: |
$ pcretest |
PCRE version 7.8 2008-09-05 |
* Тип и версию компилятора: |
$ gcc --version |
gcc (Ubuntu 4.4.1-4ubuntu9) 4.4.1 |
* Версию ICU: посмотрите в файл `/usr/include/unicode/uversion.h` и найдите как определена `U_ICU_VERSION`. |
#define U_ICU_VERSION "4.0.1" |
* В случае ошибок при выполнении `cmake test`, обеспечьте как общие данные так и соответствующие части `build/Testing/Temporary/LastTest.log'. |
|
|
## Мое пробное приложение не может найти разделяемый объект `libcppcms.so` при запуске. |
|
По-умолчанию CppCMS устанавливается в директорию `/usr/local` |
и библиотека устанавливается в `/usr/local/lib/libcppcms.so`, однако в некоторых операционных системах, таких как Linux, `/usr/local/lib` не входит в список путей поиска библиотек. |
|
Поэтому, при желании можно сделать одно из следующих действий, в целях корректного последующего использования библиотеки: |
|
- Установить библиотеку в `/usr/lib`, предоставив дополнительный параметр cmake `-DCMAKE_INSTALL_PREFIX=/usr` |
|
cmake -DCMAKE_INSTALL_PREFIX=/usr .. |
|
- Определить переменную окружения `LD_LIBRARY_PATH` |
|
export LD_LIBRARY_PATH=/usr/local/lib |
|
- Обновить конфигурацию системы так, что `/usr/local/lib` станет одной из директорий, в которой операционная система будет искать библиотеки. Почитайте внимательнее в Linux `man ldconfig`. |
- Обновить конфигурацию системы так, что `/usr/local/lib` станет одной из директорий, в которой операционная система будет искать библиотеки. |
Для этого создайте новый файл в |
/etc/ld.so.conf./ |
и вставьте в него |
/usr/local/lib |
затем перегрузите ldconfig |
ldconfig |
|
Также, удостоверьтесь, что внимательно прочитали `man ldconfig` в Linux. |
|