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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline kuznetsovin  
#1 Оставлено : 15 июня 2017 г. 19:13:16(UTC)
kuznetsovin

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

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

При попытке компиляции приложения c функциями из криптопро csp на Ubuntu 14.04.5 LTS, мне выпадает следующая ошибка:
Код:

./build/libsignature.so: undefined reference to `CertCloseStore'
./build/libsignature.so: undefined reference to `CertFreeCertificateChain'
./build/libsignature.so: undefined reference to `CryptVerifyMessageSignature'
./build/libsignature.so: undefined reference to `CryptStringToBinaryA'
./build/libsignature.so: undefined reference to `CertOpenSystemStoreA'
./build/libsignature.so: undefined reference to `CertFreeCRLContext'
./build/libsignature.so: undefined reference to `CertCreateCRLContext'
./build/libsignature.so: undefined reference to `CertAddCRLContextToStore'
./build/libsignature.so: undefined reference to `CertGetCertificateChain'
./build/libsignature.so: undefined reference to `CertAddCertificateContextToStore'
./build/libsignature.so: undefined reference to `GetLastError'
./build/libsignature.so: undefined reference to `CertFreeCertificateContext'
./build/libsignature.so: undefined reference to `CertCreateCertificateContext'
collect2: error: ld returned 1 exit status
make: *** [build_c] Ошибка 1


Для сборки библиотеки используется команда:
Код:

gcc -g -Wall -fPIC -shared -DUNIX -DHAVE_LIMITS_H -DHAVE_STDIN_H -I/opt/cprocsp/include -I/opt/cprocsp/include/cpcsp -I/opt/cprocsp/include/pki -DSIZEOF_VOID_P=8 -L/opt/cprocsp/lib/amd64 -lrdrsup -lcapi20 -lpthread -o build/libsignature.so src/cpcsp/cpcsp.c src/cpcsp/crl.c src/cpcsp/cert.c src/cpcsp/verify.c

Она отрабатывает без ошибок.
Далее при сборке приложения с этой библиотекой, командой:
Код:

gcc -g -Wall -DUNIX -DHAVE_LIMITS_H -DHAVE_STDIN_H -I/opt/cprocsp/include -I/opt/cprocsp/include/cpcsp -I/opt/cprocsp/include/pki  -DSIZEOF_VOID_P=8  -L/opt/cprocsp/lib/amd64 -lrdrsup -lcapi20 -lpthread -o build/CpcspTest -L./build src/cpcsp/test.c -lsignature

получается ошибка описаная выше.

Подскажите что я делаю не так.

P.S. аналогичные команды на MacOS выполняются и отрабатывают без проблем.

Отредактировано пользователем 15 июня 2017 г. 19:17:57(UTC)  | Причина: Не указана

Offline Русев Андрей  
#2 Оставлено : 16 июня 2017 г. 20:01:42(UTC)
Русев Андрей

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

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

Сказал(а) «Спасибо»: 22 раз
Поблагодарили: 446 раз в 325 постах
Пакеты КриптоПро CSP на сборочной машине установлены? Пришлите выдачу
Код:
dpkg -l|grep cpro
Официальная техподдержка. Официальная база знаний.
Offline kuznetsovin  
#3 Оставлено : 16 июня 2017 г. 20:05:18(UTC)
kuznetsovin

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

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

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