2016-10-10 2 views
0

Я пытаюсь скомпилировать программу, которая использует pthread и curl статически. Я получаю некоторые ошибки при попытке связаться с библиотекой kerberos. Версия Openssl - OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008. Это gcc команда:Ссылка GCC с kerberos для компиляции с CURL статически

gcc -o test2 test2.cpp utils.cpp /usr/local/lib/libcurl.a -static -lpthread -lstdc++ -lcurl -lidn -lssh2 -lssl -lcrypto -ldl -lz -lrt -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -fno-stack-protector; 

Это выход: http://pastebin.com/D3Zp02Ea

OS:

cat /etc/issue 
CentOS release 5.10 (Final) 
Kernel \r on an \m 

UNAME:

uname -a 
Linux localhost.localdomain 2.6.18-371.8.1.el5 #1 SMP Thu Apr 24 18:23:07 EDT 2014 i686 i686 i386 GNU/Linux 

Я уже пробовал переустановить его отсюда http://web.mit.edu/kerberos/dist/ и затем попытался связать его, те же ошибки.

В чем проблема?

+0

Обратите внимание, что cURL включает потенциальную поддержку множества протоколов/параметров, которые вам, возможно, не потребуется поддерживать, если вам нужно всего лишь выполнить некоторые «обычные» HTTP/HTTPS-запросы (без экзотических протоколов, без сложных схем аутентификации), вы можете получить прочь с меньшими зависимостями; Kerberos, в частности, IIRC необходим почти только в том случае, если вы хотите выполнить HTTP-запросы, прошедшие проверку подлинности на сервере Windows с использованием проверки подлинности NTLM, что я даже не уверен, что многие браузеры за пределами IE могут делать. Если это не ваш фактический случай использования, вы можете оставить его. –

ответ

0

Существует также lib в пакете MIT под названием libkrb5support, который я должен был включить в свой компоновщик при выполнении аналогичной задачи. Мне пришлось включать в себя 5 библиотек, у вас есть остальные четыре. Количество разных библиотек в распределении MIT сходит с ума.