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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Octoloper  
#1 Оставлено : 1 февраля 2021 г. 17:06:29(UTC)
Octoloper

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

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

Сказал «Спасибо»: 5 раз
Поблагодарили: 1 раз в 1 постах
Здравствуйте, не знаю в какую сторону копать, хочется решить проблему сборки расширения для python в Mac OS X.

При сборке выдаёт следующие ошибки:

Код:
Scanning dependencies of target pycades
[  3%] Building CXX object CMakeFiles/pycades.dir/errormsg.cpp.o
[  6%] Building CXX object CMakeFiles/pycades.dir/PyCades.cpp.o
[ 12%] Building CXX object CMakeFiles/pycades.dir/PyCadesAbout.cpp.o
[ 12%] Building CXX object CMakeFiles/pycades.dir/PyCadesAlgorithm.cpp.o
/Users/octoloper/Projects/pycades_0.1.19995/errormsg.cpp:21:13: fatal error: 'ocspcli_e.h' file not found
#   include "ocspcli_e.h"
            ^~~~~~~~~~~~~
1 error generated.
make[2]: *** [CMakeFiles/pycades.dir/errormsg.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /Users/octoloper/Projects/pycades_0.1.19995/PyCades.cpp:2:
In file included from /Users/octoloper/Projects/pycades_0.1.19995/PyCadesAbout.h:4:
In file included from /Users/octoloper/Projects/pycades_0.1.19995/stdafx.h:32:
In file included from /opt/cprocsp/include/pki/atl/atldef2.h:170:
/opt/cprocsp/include/pki/atl/atldef.h:545:14: fatal error: 'malloc.h' file not found
    #include <malloc.h>
             ^~~~~~~~~~
In file included from /Users/octoloper/Projects/pycades_0.1.19995/PyCadesAlgorithm.cpp:1:
In file included from /Users/octoloper/Projects/pycades_0.1.19995/PyCadesAlgorithm.h:4:
In file included from /Users/octoloper/Projects/pycades_0.1.19995/stdafx.h:32:
In file included from /opt/cprocsp/include/pki/atl/atldef2.h:170:
/opt/cprocsp/include/pki/atl/atldef.h:545:14: fatal error: 'malloc.h' file not found
In file included from /Users/octoloper/Projects/pycades_0.1.19995/PyCadesAbout.cpp:1:
In file included from /Users/octoloper/Projects/pycades_0.1.19995/PyCadesAbout.h:4:
In file included from /Users/octoloper/Projects/pycades_0.1.19995/stdafx.h:    #include <malloc.h>32
:
In file included from              ^~~~~~~~~~/opt/cprocsp/include/pki/atl/atldef2.h
:170:
/opt/cprocsp/include/pki/atl/atldef.h:545:14: fatal error: 'malloc.h' file not found
    #include <malloc.h>
             ^~~~~~~~~~
1 error generated.
1 error generated.
1 error generated.
make[2]: *** [CMakeFiles/pycades.dir/PyCadesAlgorithm.cpp.o] Error 1
make[2]: *** [CMakeFiles/pycades.dir/PyCadesAbout.cpp.o] Error 1
make[2]: *** [CMakeFiles/pycades.dir/PyCades.cpp.o] Error 1
make[1]: *** [CMakeFiles/pycades.dir/all] Error 2
make: *** [all] Error 2

Отредактировано пользователем 1 февраля 2021 г. 17:08:53(UTC)  | Причина: Не указана

Offline Octoloper  
#2 Оставлено : 2 февраля 2021 г. 9:10:07(UTC)
Octoloper

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

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

Сказал «Спасибо»: 5 раз
Поблагодарили: 1 раз в 1 постах
Ещё не заметил такую ошибку:

Код:
cmake ..
-- The CXX compiler identification is AppleClang 12.0.0.12000032
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Boost: /usr/local/lib/cmake/Boost-1.75.0/BoostConfig.cmake (found version "1.75.0")  
-- Configuring done
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
FOUND_LIB_CPPCADES
    linked by target "pycades" in directory /Users/octoloper/Projects/pycades_0.1.19995

-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.


Оказалось, что у меня нет cppcades совсем, в linux хедеры и библиотека устанавливаются из пакета cprocsp-pki-cades, но я не знаю где их взять в для macos.

Библиотеки следующие:



А хедеры такие:

Отредактировано пользователем 2 февраля 2021 г. 9:24:22(UTC)  | Причина: Не указана

Offline Санчир Момолдаев  
#3 Оставлено : 2 февраля 2021 г. 12:47:44(UTC)
Санчир Момолдаев

Статус: Сотрудник

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

Сказал(а) «Спасибо»: 65 раз
Поблагодарили: 158 раз в 154 постах
Добрый день!
Код:
test@tests-Mac CadesSamples % ls -l /Applications/CryptoPro_ECP.app/Contents/Resources/include/pki
total 320
-rw-r--r--   1 root  wheel    521 28 апр  2020 MSTimeStamp.h
-rw-r--r--   1 root  wheel   2406 28 апр  2020 ades-core.h
-rw-r--r--   1 root  wheel  21320 28 апр  2020 cades.h
drwxr-xr-x  61 root  wheel   1952 13 июл  2020 cppcades
-rw-r--r--   1 root  wheel  52757 28 апр  2020 ocsp.h
-rw-r--r--   1 root  wheel   9168 28 апр  2020 ocspcli.h
-rw-r--r--   1 root  wheel   1497 13 июл  2020 ocspcli_e.h
-rw-r--r--   1 root  wheel  35405 28 апр  2020 tsp.h
-rw-r--r--   1 root  wheel   5955 28 апр  2020 tspcli.h
-rw-r--r--   1 root  wheel    929 13 июл  2020 tspcli_e.h
-rw-r--r--   1 root  wheel  10007 28 май  2020 xades.h


примеры и флаги компилятора посмотрите в
/Applications/CryptoPro_ECP.app/Contents/Resources/src/CadesSamples
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Санчир Момолдаев за этот пост.
Octoloper оставлено 02.02.2021(UTC)
Offline Санчир Момолдаев  
#4 Оставлено : 2 февраля 2021 г. 12:49:46(UTC)
Санчир Момолдаев

Статус: Сотрудник

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

Сказал(а) «Спасибо»: 65 раз
Поблагодарили: 158 раз в 154 постах
расширение питона для macos мы не собираем и не тестируем.
так что рекомендую самостоятельно заинклудить необходимое и попробовать
Техническую поддержку оказываем тут
Наша база знаний
Offline Octoloper  
#5 Оставлено : 2 февраля 2021 г. 13:30:17(UTC)
Octoloper

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

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

Сказал «Спасибо»: 5 раз
Поблагодарили: 1 раз в 1 постах
Автор: Санчир Момолдаев Перейти к цитате
Добрый день!
Код:
test@tests-Mac CadesSamples % ls -l /Applications/CryptoPro_ECP.app/Contents/Resources/include/pki
total 320
-rw-r--r--   1 root  wheel    521 28 апр  2020 MSTimeStamp.h
-rw-r--r--   1 root  wheel   2406 28 апр  2020 ades-core.h
-rw-r--r--   1 root  wheel  21320 28 апр  2020 cades.h
drwxr-xr-x  61 root  wheel   1952 13 июл  2020 cppcades
-rw-r--r--   1 root  wheel  52757 28 апр  2020 ocsp.h
-rw-r--r--   1 root  wheel   9168 28 апр  2020 ocspcli.h
-rw-r--r--   1 root  wheel   1497 13 июл  2020 ocspcli_e.h
-rw-r--r--   1 root  wheel  35405 28 апр  2020 tsp.h
-rw-r--r--   1 root  wheel   5955 28 апр  2020 tspcli.h
-rw-r--r--   1 root  wheel    929 13 июл  2020 tspcli_e.h
-rw-r--r--   1 root  wheel  10007 28 май  2020 xades.h


примеры и флаги компилятора посмотрите в
/Applications/CryptoPro_ECP.app/Contents/Resources/src/CadesSamples


Теперь всё замечательно подготовилось к сборке, но возникла одна проблема, которую без вашей помощи я уже не смогу решить:

Код:
make -j
Scanning dependencies of target pycades
[  3%] Building CXX object CMakeFiles/pycades.dir/errormsg.cpp.o
[  6%] Building CXX object CMakeFiles/pycades.dir/PyCades.cpp.o
[ 12%] Building CXX object CMakeFiles/pycades.dir/PyCadesAbout.cpp.o
[ 12%] Building CXX object CMakeFiles/pycades.dir/PyCadesAlgorithm.cpp.o
[ 15%] Building CXX object CMakeFiles/pycades.dir/PyCadesAttribute.cpp.o
[ 18%] Building CXX object CMakeFiles/pycades.dir/PyCadesAttributes.cpp.o
[ 21%] Building CXX object CMakeFiles/pycades.dir/PyCadesBasicConstraints.cpp.o
[ 24%] Building CXX object CMakeFiles/pycades.dir/PyCadesBlobs.cpp.o
[ 27%] Building CXX object CMakeFiles/pycades.dir/PyCadesCertificate.cpp.o
[ 30%] Building CXX object CMakeFiles/pycades.dir/PyCadesCertificates.cpp.o
[ 33%] Building CXX object CMakeFiles/pycades.dir/PyCadesCertificateStatus.cpp.o
[ 36%] Building CXX object CMakeFiles/pycades.dir/PyCadesCRL.cpp.o
/Users/arseny/Projects/myfi/pycades_0.1.19995/PyCadesCertificate.cpp:222:20: error: definition of variable with array type needs an
      explicit size or an initializer
static PyGetSetDef Certificate_getset[]{
                   ^
/Users/arseny/Projects/myfi/pycades_0.1.19995/PyCadesCertificate.cpp:222:40: error: expected ';' after top level declarator
static PyGetSetDef Certificate_getset[]{
                                       ^
                                       ;
2 errors generated.
make[2]: *** [CMakeFiles/pycades.dir/PyCadesCertificate.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/pycades.dir/all] Error 2
make: *** [all] Error 2


Ещё помимо указаний нужных хедеров и библиотек из пакета приложения КриптоПро, понадобилось дополнительно указать хедеры Xcode SDK для macOS, если всё же получится собрать, то я опишу процесс сборки для macOS.
Offline Санчир Момолдаев  
#6 Оставлено : 2 февраля 2021 г. 17:34:06(UTC)
Санчир Момолдаев

Статус: Сотрудник

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

Сказал(а) «Спасибо»: 65 раз
Поблагодарили: 158 раз в 154 постах
к сожалению с компиляцией в макос я мало знаком.
может это вам поможет
или может собрать расширение в докере линукс. а потом в другом докере выполнять py код
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Санчир Момолдаев за этот пост.
Octoloper оставлено 05.02.2021(UTC)
Offline Octoloper  
#7 Оставлено : 2 февраля 2021 г. 17:38:02(UTC)
Octoloper

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

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

Сказал «Спасибо»: 5 раз
Поблагодарили: 1 раз в 1 постах
Автор: Санчир Момолдаев Перейти к цитате
к сожалению с компиляцией в макос я мало знаком.
может это вам поможет
или может собрать расширение в докере линукс. а потом в другом докере выполнять py код


в докере собирается, но это не удобно для разработки, очень проблематично писать код, я для себя лично это пытался сделать, но видимо придётся работать с докером.
Offline Octoloper  
#8 Оставлено : 5 февраля 2021 г. 9:43:51(UTC)
Octoloper

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

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

Сказал «Спасибо»: 5 раз
Поблагодарили: 1 раз в 1 постах
Автор: Санчир Момолдаев Перейти к цитате
к сожалению с компиляцией в макос я мало знаком.
может это вам поможет
или может собрать расширение в докере линукс. а потом в другом докере выполнять py код


Кстати помогло использовать другой компилятор, в macOS по умолчанию используется clang, а по вашей ссылке поставил gcc, ошибки при компиляции ушли, но теперь проблема при линковке появилась, может не хватает какой-нибудь библиотеки линкеру, чтобы залинковать всё?

Вот результат сборки:


Ещё пришлось добавить флаг -Wno-narrowing, иначе компилятор ругался, но предполагаю это особенности ОС и не должно влиять на сборку в целом.
thanks 1 пользователь поблагодарил Octoloper за этот пост.
Санчир Момолдаев оставлено 05.02.2021(UTC)
Offline Octoloper  
#9 Оставлено : 5 февраля 2021 г. 10:39:51(UTC)
Octoloper

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

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

Сказал «Спасибо»: 5 раз
Поблагодарили: 1 раз в 1 постах
В результате указав явным образом библиотеки libcapi20.dylib, libcapi10.dylib, librdrsup.dylib и libpython.dylib, получилось собрать, но у меня вопрос касательно ещё 2-х библиотек: cades и xades — эти нужны при линковке или достаточно того, что есть?

Отредактировано пользователем 5 февраля 2021 г. 11:00:12(UTC)  | Причина: Не указана

Offline Максим Коллегин  
#10 Оставлено : 5 февраля 2021 г. 11:03:16(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,067
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 606 раз в 541 постах
Добавьте ещё librdrsup.dylib
Знания в базе знаний, поддержка в техподдержке
thanks 1 пользователь поблагодарил Максим Коллегин за этот пост.
Octoloper оставлено 05.02.2021(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.