Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ 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)  | Причина: Подробности

Offline heveyaru  
#2 Оставлено : 28 июля 2024 г. 19:32:33(UTC)
heveyaru

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

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

Сказал(а) «Спасибо»: 1 раз
Та же проблема с установкой, делаю:

Установка библиотеки
cd ~
sudo apt install libboost-dev php-dev libxml2-dev
tar xvf linux-amd64_deb.tgz
cd linux-amd64_deb
sudo ./install.sh
sudo apt install ./lsb-cprocsp-devel*.deb

Установка php расширения
cd ~
rm -fr phpcades
git clone https://github.com/CryptoPro/phpcades.git
cd phpcades
sed -i 's/PHPDIR=\/php/PHPDIR=\/opt\/php82\/include\/php/g' Makefile.unix
patch -p0 < ./php8_support.patch
eval `/opt/cprocsp/src/doxygen/CSP/../setenv.sh --64`; make -f Makefile.unix

После этого ошибка сборки
PHPCadesCPSigners.h:4:33: fatal error: CPPCadesCollections.h: No such file or directory
#include "CPPCadesCollections.h"
Offline basid  
#3 Оставлено : 29 июля 2024 г. 3:15:08(UTC)
basid

Статус: Активный участник

Группы: Участники
Зарегистрирован: 21.11.2010(UTC)
Сообщений: 1,089

Сказал(а) «Спасибо»: 7 раз
Поблагодарили: 149 раз в 134 постах
Автор: Shoegazer Перейти к цитате
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


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