Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Shoegazer  
#1 Оставлено : 24 июля 2024 г. 11:39:16(UTC)
Shoegazer

Статус: Новичок

Группы: Участники
Зарегистрирован: 24.07.2024(UTC)
Сообщений: 1
Российская Федерация
Откуда: Екатеринбург

Добрый день

Устанавливаю расширение для PHP по инструкции https://docs.cryptopro.r...hpcades/phpcades-install

На шаге 9 при выполнении команды
Цитата:
eval `/opt/cprocsp/src/doxygen/CSP/../setenv.sh --64`; make -f Makefile.unix

появляется ошибка
Цитата:
g++ -std=c++98 -D_GLIBCXX_USE_CXX11_ABI=0 -DLINUX -DUNIX -DHAVE_LIMITS_H -D_COMPACT -DHAVE_STDINT_H -I/opt/cprocsp/include/ -I/opt/cprocsp/include/cpcsp -I/opt/cprocsp/include/pki -I/opt/cprocsp/include/pki/atl -I/opt/cprocsp/include/pki/cppcades -I/opt/cprocsp/include/pki/cplib -I/opt/cprocsp/src/phpcades -I/opt/cprocsp/src/phpcades/cplib -I/data/php/php-8.2.21 -I/data/php/php-8.2.21/main -I/data/php/php-8.2.21/Zend -I/data/php/php-8.2.21/TSRM -DSIZEOF_VOID_P=8 -fPIC -DPIC -fpermissive -c -o PHPCadesCPSigners.o PHPCadesCPSigners.cpp
In file included from PHPCadesCPSigners.cpp:2:
PHPCadesCPSigners.h:4:10: fatal error: CPPCadesCollections.h: No such file or directory
4 | #include "CPPCadesCollections.h"
| ^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make: *** [Makefile.unix:30: PHPCadesCPSigners.o] Error 1


- Устанавливаю на Ubuntu 22.04 как в примере использования из той же инструкции

- После первого шага встала версия PHP 8.1.2

- Пробовал и скачивая и собирая PHP вручную, так и используя ту, что встала после установки php-dev. Ошибка та же

- Исходники phpcades скачал сначала во временную папку /data и запускал команду из 9 шага там. Потом скопировал в /opt/cprocsp/src/phpcades и запускал там. Ошибка та же

- Качал КриптоПро CSP 5 версии архив в разных редакциях (R2, R3 и без). Не помогло

UPD.1
Попробовал скачать исходники php7.4.33 и указав их в Makefile.unix
Та же ошибка

UPD.2
Нарыл в инете, что, скорее всего не установлена библиотека cppcades (https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=18985)
Нашел deb файл в распакованном КриптоПро CSP. Установил
Цитата:
apt install ./cprocsp-pki-cades-64_2.0.15000-1_amd64.deb

Та ошибка ушла. Пришли новые
Цитата:
g++ -std=c++98 -D_GLIBCXX_USE_CXX11_ABI=0 -DLINUX -DUNIX -DHAVE_LIMITS_H -D_COMPACT -DHAVE_STDINT_H -I/opt/cprocsp/include/ -I/opt/cprocsp/include/cpcsp -I/opt/cprocsp/include/pki -I/opt/cprocsp/include/pki/atl -I/opt/cprocsp/include/pki/cppcades -I/opt/cprocsp/include/pki/cplib -I/opt/cprocsp/src/phpcades -I/opt/cprocsp/src/phpcades/cplib -I/data/php/php-7.4.33 -I/data/php/php-7.4.33/main -I/data/php/php-7.4.33/Zend -I/data/php/php-7.4.33/TSRM -DSIZEOF_VOID_P=8 -fPIC -DPIC -fpermissive -c -o PHPCadesCPSigners.o PHPCadesCPSigners.cpp
In file included from stdafx.h:24,
from PHPCadesCPSigners.cpp:1:
/opt/cprocsp/include/cpcsp/CSP_WinDef.h:473:152: note: '#pragma message: Your application will require at least CryptoPro CSP 4.0 R3. You can use LEGACY_FORMAT_MESSAGE_IMPL to support older versions.'
473 | # pragma message ("Your application will require at least CryptoPro CSP 4.0 R3. You can use LEGACY_FORMAT_MESSAGE_IMPL to support older versions.")
| ^
In file included from PHPCadesCPSigners.cpp:2:
PHPCadesCPSigners.h:18:1: error: 'zend_object_value' does not name a type; did you mean 'zend_objects_store'?
18 | zend_object_value signers_create_handler(zend_class_entry *type TSRMLS_DC);
| ^~~~~~~~~~~~~~~~~
| zend_objects_store
In file included from PHPCadesCPSigners.cpp:3:
PHPCadesCPSigner.h:15:1: error: 'zend_object_value' does not name a type; did you mean 'zend_objects_store'?
15 | zend_object_value sig_create_handler(zend_class_entry *type TSRMLS_DC);
| ^~~~~~~~~~~~~~~~~
| zend_objects_store
PHPCadesCPSigners.cpp: In function 'void zim_CPSigners_get_Count(zend_execute_data*, zval*)':
PHPCadesCPSigners.cpp:10:24: error: 'zend_object_store_get_object' was not declared in this scope; did you mean 'zend_object_free_obj_t'?
10 | (signers_obj *)zend_object_store_get_object(getThis() TSRMLS_CC);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| zend_object_free_obj_t
PHPCadesCPSigners.cpp: In function 'void zim_CPSigners_get_Item(zend_execute_data*, zval*)':
PHPCadesCPSigners.cpp:26:24: error: 'zend_object_store_get_object' was not declared in this scope; did you mean 'zend_object_free_obj_t'?
26 | (signers_obj *)zend_object_store_get_object(getThis() TSRMLS_CC);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
| zend_object_free_obj_t
PHPCadesCPSigners.cpp: At global scope:
PHPCadesCPSigners.cpp:52:1: error: 'zend_object_value' does not name a type; did you mean 'zend_objects_store'?
52 | zend_object_value signers_create_handler(zend_class_entry *type TSRMLS_DC) {
| ^~~~~~~~~~~~~~~~~
| zend_objects_store
PHPCadesCPSigners.cpp: In function 'void signers_init()':
PHPCadesCPSigners.cpp:81:33: error: 'signers_create_handler' was not declared in this scope; did you mean 'signers_obj_handlers'?
81 | signers_ce->create_object = signers_create_handler;
| ^~~~~~~~~~~~~~~~~~~~~~
| signers_obj_handlers
make: *** [Makefile.unix:30: PHPCadesCPSigners.o] Error 1


UPD.4
Обнаружил, что забыл пропатчить файлы из шага 8.
Файл собрался. Только куча сообщений вылезло. Но он собрался
Цитата:
note: '#pragma message: Your application will require at least CryptoPro CSP 4.0 R3. You can use LEGACY_FORMAT_MESSAGE_IMPL to support older versions.'

Отредактировано пользователем 24 июля 2024 г. 13:45:19(UTC)  | Причина: Подробности

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.