2012-03-01 8 views
13

मैं Cento 6.2 पर कई बार GnuTLS लाइब्रेरी को संकलित करने की कोशिश कर रहा हूं लेकिन बिना किसी किस्मत के।GnuTLS को संकलित करने के लिए कैसे करें

मैं बिछुआ 2,4

[[email protected] opt]# wget http://www.lysator.liu.se/~nisse/archive/nettle-2.4.tar.gz 
[[email protected] nettle-2.4]# tar zxvf nettle-2.4.tar.gz 
[[email protected] nettle-2.4]# cd nettle-2.4 
[[email protected] nettle-2.4]# ./configure --enable-shared --prefix=/usr 



    Version:   nettle 2.4 
    Host type:   x86_64-unknown-linux-gnu 
    ABI:    64 
    Assembly files: x86_64 
    Install prefix: /usr 
    Library directory: ${exec_prefix}/lib64 
    Compiler:   gcc 
    Shared libraries: yes 
    Public key crypto: no 

डाउनलोड किया मैं आदेश make और make install

चलाने मैं नवीनतम GNUTLS

./configure --with-libnettle-prefix=/usr 

hecking for shared library run path origin... done 
checking whether to use nettle... yes 
checking for libnettle... no 
configure: error: 
    *** 
    *** Libnettle 2.4 was not found. 

मैं क्या याद आ रही है डाउनलोड किया: इन चरणों कर रहे हैं?

शुभकामनाएं

+2

संदेश की तरह कहते हैं, आप libnettle गायब प्रतीत होते हैं। जो कुछ भी है। :) – duskwuff

+4

शायद समस्या यह है कि libnettle '/ usr/lib64' में स्थापित है (जैसा कि आप 'est nettle को कॉन्फ़िगर करते समय आउटपुट द्वारा इंगित किया गया है) और' GnuTLS' में' कॉन्फ़िगर करें 'स्क्रिप्ट '/ usr में ढूंढ रही है/lib'। आप 'gnuTLS' –

+0

की 'कॉन्फ़िगर' स्क्रिप्ट को अतिरिक्त विकल्प '--with-libdir = lib64' (untested) पास करने का प्रयास कर सकते हैं, आप उस परीक्षण से कुछ और विशिष्ट आउटपुट के लिए config.log जांच सकते हैं। – XTL

उत्तर

1
configure:8798: checking for libnettle 
configure:8820: gcc -std=gnu99 -o conftest -g -O2 conftest.c /usr/lib/libnettle.so /usr/lib/libhogweed.so -lgmp >&5 
/usr/bin/ld: cannot find -lgmp 
collect2: ld returned 1 exit status 
configure:8820: $? = 1 
configure: failed program was: 
configure:8830: result: no 
configure:8856: error: 
    *** 
    *** Libnettle 2.4 was not found. 

मैं जीएमपी-devel स्थापित करें। समस्या तय है।

+1

मैंने 'pkg-config' स्थापित किया और समस्या को हल किया। संभवतः, 'autogen' को स्थापित करने में भी मदद मिली - कम से कम, यह एक चेतावनी को हटा दिया। – ssc

13

मुद्दा यह है कि जब तक आपने देखा है, libgmp के लिए dev headers मौजूद हैं, तब तक नेटटल libhogweed नहीं बनाएगा। दुर्भाग्य से, दस्तावेज़ और .configure --help और कॉन्फ़िगरेशन से आउटपुट इस बारे में कुछ भी नहीं कहता है।

इस बीच, gnuTLS दस्तावेज़ इस व्याख्या को नहीं समझाते हैं (और जैसा कि आप देखते हैं, यहां इसके कॉन्फ़िगरेशन आउटपुट बहुत उपयोगी नहीं हैं)। यद्यपि libgmp को प्री-रिक के रूप में सूचीबद्ध किया गया है, किसी कारण से libhogweed नहीं है (शायद क्योंकि यह नेटटल का हिस्सा माना जाता है)। आपकी कॉन्फ़िगरेशन त्रुटि का कारण "llmp नहीं मिल सकता" यह है कि libgmp मौजूद नहीं है, लेकिन libhogweed.so या तो वहां नहीं होगा, क्योंकि यह छिपी हुई वैकल्पिक नेटटल का हिस्सा है। यदि आप libgmp-dev इंस्टॉल करते हैं और केवल gnutls के लिए कॉन्फ़िगर करते हैं, तो आपको वही "libnettle ... no" की जांच मिल जाएगी। यह क्या कहना चाहिए "libhogweed ... no" की जांच कर रहा है, लेकिन जो कोई भी conf script के प्रभारी है, उसे तोड़ने के लिए बहुत आलसी है (मुझे लगता है कि एक पैच सबमिट किया जा सकता है)।

दूसरे शब्दों में, आपको libgmp-dev स्थापित करने की आवश्यकता है और फिर gnutls बनाने से पहले nettle पुनर्निर्माण करना होगा।

+0

ने यहां समस्या का समाधान नहीं किया :-( – ssc

+0

आपका समाधान ('pkg-config' स्थापित करना) भी पूर्व शर्त होगा, हालांकि यह सामान्य रूप से जीएनयू/लिनक्स पर सॉफ़्टवेयर बनाने के लिए सच है जो सामान्य बाहरी libs के खिलाफ लिंक करता है। – delicateLatticeworkFever

+0

मैं, केवल 'gnutls' बनाने की कोशिश कर रहा था हेडर बनाने के लिए पर्याप्त था' nettle' की आवश्यकता है (यानी, _no_ libgmp-dev की आवश्यकता थी)।'Libtleogeded' नामक 'नेटटल' को वापस लेना और पुनर्निर्माण करना (लेकिन फिर त्रुटि 'sexp2rsa-test.c: 40:' test_rsa_key'' 'के अनिर्धारित संदर्भ को फेंक दिया, जिसे मैंने अनदेखा करने का निर्णय लिया, और बस' इंस्टॉल करें ') कि _seemed_ चाल करने के लिए, और 'gnutls' libhogweed के साथ फिर से बनाया गया। – Randall

0

कुछ समय के लिए डेबियन पर यह समस्या थी, pkgconf पैकेज स्थापित करने का प्रयास करें।

0

मैं nettle-dev & nettle-bin स्थापित किया है और यह काम करता है :)

0

ग्नू टीएलएस कॉन्फ़िगर स्क्रिप्ट नहीं कहना है ज़ोर से कि pkg-config की जरूरत है और अन्य पैकेज भी pkg-config स्थापित नहीं है, तो कोशिश की नहीं किया जा सकता। Pkg-config को संस्थापित करना मेरे लिए समस्या को हल करता है।

संबंधित मुद्दे

 संबंधित मुद्दे