2016-10-10 98 views
0

我試圖編譯一個程序,靜態使用pthreadcurl。在嘗試鏈接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

請注意,如果您需要執行一些可以獲得的「常規」HTTP/HTTPS請求(無特殊協議,無複雜的身份驗證方案),cURL可能會支持許多您可能不需要支持的協議/選項用少一些的依賴關係;幾乎只有在需要使用NTLM身份驗證執行對Windows服務器進行身份驗證的HTTP請求時才需要Kerberos IIRC,這些東西我甚至不確定IE以外的許多瀏覽器都可以執行。如果這不是您的實際使用案例,您可以考慮將其退出。 –

回答

0

麻省理工學院的軟件包中還有一個名爲libkrb5support的庫,在執行類似任務時,我必須將其包含在鏈接器中。我必須包括5個圖書館,其他四個。麻省理工學院分佈中的不同庫的數量令人生氣。