2016-07-15 11 views
7

जाओ कार्यक्रम बनाने जबकि सीजीओ के उपयोग के साथ मैं त्रुटिसीजीओ त्रुटि गैर मान्यता प्राप्त स्थानांतरण (0x2a)

/usr/lib/go/pkg/tool/linux_amd64/link: running gcc failed: exit status 1 
/usr/bin/ld: /tmp/go-link-373355991/000002.o: unrecognized relocation (0x2a) in section `.text' 
/usr/bin/ld: final link failed: Bad value 
collect2: error: ld returned 1 exit status 

कि इस मुद्दे को गूगल की कोशिश की और पाया कुछ कीड़े (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=808205) Debian और Ubuntu पर libc6 (2.21) के संस्करणों में सी कंपाइलर और लिंकर के साथ जो संस्करण (2.1 9) का उपयोग करने वाले संस्करण से नए हैं।

इसके अलावा सी प्रोग्रामों को संकलित करने में समस्याएं आई हैं और मैं सफलतापूर्वक सी में उदाहरण संकलित करता हूं।

मैंने उसी मशीन और पुस्तकालय संस्करणों के साथ अन्य मशीन पर अपना गो प्रोग्राम बनाने की कोशिश की और निर्माण सफल हुआ।

+0

यह हो सकता है यदि आप कोड पोस्ट करते हैं तो अपने प्रश्न का उत्तर देना आसान हो। साथ ही, किस प्रकार का आर्किटेक्चर और ओएस था जहां निर्माण सफल हुआ? – ijt

+1

मुझे जीएलएफडब्ल्यू के साथ एक ही समस्या थी, लेकिन सी ++/सी के साथ, मेरी समस्या यह थी कि संकलन के लिए उपयोग किए गए कंपाइलर का संस्करण उस लाइब्रेरी को संकलित करने के लिए इस्तेमाल किया गया संस्करण था जो मैं लिंक कर रहा था। – snb

उत्तर

1

जांचें कि क्या आप ccache का उपयोग नहीं कर रहे हैं। यानी द्वारा: echo $ PATH अगर कुछ/usr/local/ccache पथ पहले आता है ... जागरूक रहें! सीसीएसी कैश का उपयोग करके संकलन समय को अनुकूलित करने का प्रयास करें। यदि आपने पहले कंपाइलर के साथ lib बना दिया है और फिर किसी अन्य के साथ संकलन करने का प्रयास किया है, तो आप इस तरह की स्थानांतरण समस्या का पर्दाफाश कर रहे हैं।

तो ccache स्पष्ट करने का प्रयास करें: ccache -सी या बस पथ निर्यात पथ =/usr/bin द्वारा ccache के लिए समर्पित निकालते समय अपने पथ को संपादित: ...

A ++ Thilas

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