2014-05-20 8 views
5

मैं Getting started चरणों के बाद Google की लिगजिंग बनाने की कोशिश कर रहा हूं, और मैं "बिल्डिंग" अनुभाग तक पहुंच गया हूं।गोल्ड लिंकर ld.gold -plugin: अज्ञात विकल्प

जब मैं जारी या तो

ninja -C out/Debug 

या

ninja -C out/Release 

मैं निम्नलिखित त्रुटि मिलती है: I posted the output in pastebin too, if you prefer

ninja -C out/Debug 
ninja: Entering directory `out/Debug' 
[3/2606] LINK genmacro 
FAILED: cc -Wl,-z,now -Wl,-z,relro -Wl,--fatal-warnings -pthread -Wl,-z,noexecstack -fPIC -B/home/nschoe/workspace/webrtc/jingle/trunk/third_party/binutils/Linux_x64/Release/bin -Wl,--disable-new-dtags -m64 -Wl,--icf=none -fuse-ld=gold -Wl,--gdb-index -o genmacro -Wl,--start-group obj/third_party/yasm/source/patched-yasm/tools/genmacro/genmacro.genmacro.o -Wl,--end-group 
/home/nschoe/workspace/webrtc/jingle/trunk/third_party/binutils/Linux_x64/Release/bin/ld.gold: -plugin: unknown option 
/home/nschoe/workspace/webrtc/jingle/trunk/third_party/binutils/Linux_x64/Release/bin/ld.gold: use the --help option for usage information 
collect2: error: ld returned 1 exit status 
[3/2606] CC obj/net/third_party/nss/ssl/libssl.sslauth.o 
ninja: build stopped: subcommand failed. 

मैंने कोशिश की

ld.gold --help | grep "plugin" 

और मिल गया:

--plugin PLUGIN    Load a plugin library 
--plugin-opt OPTION   Pass an option to the plugin 

तो मुझे लगता है कि त्रुटि मैं हो रही है क्योंकि कोड में कहीं, ld.gold साथ -plugin xxx बल्कि --plugin xxx से

मैं "खेल किया गया है कहा जाता है "grep -Hr और समस्या को खोजने का प्रयास करने के लिए" प्लगइन "के विभिन्न संयोजनों के साथ, लेकिन अब तक मुझे कुछ भी नहीं मिला है। मुझे लगता है कि यह मेकफ़ाइल में कहीं छिपा हुआ है।

+0

यदि आप एकाधिक लाइनों पर टिप्पणी करना चाहते हैं, तो उन्हें 4 रिक्त स्थान से इंडेंट करें। यदि आप एक पंक्ति पर टिप्पणी करना चाहते हैं, तो उन्हें किसी भी तरफ केवल एक बैकटिक से घिराएं। –

+0

ठीक है, करेंगे। माफ़ कीजिये। – nschoe

+0

माफी माँगने की कोई ज़रूरत नहीं है, मैं कल्पना नहीं कर सकता कि आप कोड स्वरूपण के लिए क्या कर रहे हैं, यह करने के लिए यह आसान/आनंददायक हैहा –

उत्तर

8

समस्या यह नहीं है कि -plugin विकल्प --plugin होना चाहिए। ld.gold दोनों विकल्पों को स्वीकार करता है अगर यह उनमें से किसी एक को स्वीकार करता है।

लेकिन यह उनमें से केवल या तो अगरbinutils के निर्माण किया गया है --enable-plugins के साथ विन्यस्त स्वीकार करता है। Documentation

जब आप ld.gold --help | grep "plugin" चलाते हैं तो आउटपुट दिखाता है कि --plugin एक मान्यता प्राप्त विकल्प है।

इसलिए समस्या यह प्रतीत होता है: -

/home/nschoe/workspace/webrtc/jingle/trunk/third_party/binutils/Linux_x64/Release/bin/ld.gold है --enable-plugins

साथ कॉन्फ़िगर नहीं किया गया जब आप ld.gold --help | grep "plugin" चलाने आप पहली बार ld.gold कि आपके PATH पर पाया जाता है को क्रियान्वित कर रहे हैं। यह शायद आपके distro से /usr/bin/ld.gold है।आप चल करके पता कर सकते हैं:

which ld.gold 

किसी भी तरह, यह /home/nschoe/workspace/webrtc/jingle/trunk/third_party/binutils/Linux_x64/Release/bin/ld.gold नहीं है और यह एक ld.gold कि --enable-plugins

के साथ विन्यस्त किया गया है आप /home/nschoe/workspace/webrtc/jingle/trunk/third_party/binutils/Linux_x64/Release/bin/ और चलाने में तो cd है:

./ld.gold -plugin 

आप वाई ll मिलती है:

./ld.gold: -plugin: unknown option 

समस्या आदर्श समाधान प्रति that Documentation

रूप /home/nschoe/workspace/webrtc/jingle/trunk/third_party/binutils के पुनर्निर्माण के लिए है ठीक करने के लिए आप स्रोत से इन तृतीय पक्ष binutils पुनर्निर्माण नहीं कर सकता है तो यह शायद अगर आप सिर्फ नकल काम करेंगे सिस्टम ld.goldwhich द्वारा तृतीय पक्ष binutils में से किसी एक पर पता चला है, या तीसरे पक्ष को हटाएं/नाम बदलें और सिस्टम सिग्नल के साथ इसे सिस्टम में बदलें। एक बाहरी मौका है कि इनमें से कोई भी हैक आपको कुछ अस्पष्ट टूटने का कारण बनता है।

+0

वाह उस स्पष्टीकरण के लिए बहुत बहुत धन्यवाद। आप पूरी तरह से सही हैं: Linux_x64/रिलीज़/बिन संस्करण में प्लगइन समर्थन नहीं है (जो बहुत अजीब है क्योंकि यह Google का अपना कोड है जिसे डाउनलोड किया गया है (और बनाया गया है), और वे फ़ाइलों को लिंक करने के लिए इसका उपयोग करते हैं .. ।) वैसे भी मैं प्लगइन समर्थन के साथ binutils पुनर्निर्माण करने के लिए प्रलेखन का पालन कर रहा हूं, अगर यह विफल रहता है, तो मैं अपने /usr/bin/ld.gold पर एक सिम्लिंक बनाने की कोशिश करूंगा। वैसे भी धन्यवाद और मैं यह कहने के लिए यहां फिर से पोस्ट करूंगा कि मैंने प्रबंधित किया है या नहीं। – nschoe

+0

हाँ यह काम किया, धन्यवाद फिर से: आप वास्तव में यहां मदद की। '' ' सीसी:: त्रुटि: गैर मान्यता प्राप्त आदेश पंक्ति विकल्प ' '' '-Wno-' लेकिन वह निश्चित रूप से धन्यवाद ld.gold साथ मेरी समस्या हल, मैं अभी भी रूप में मैं त्रुटि मिलती है संकलन नहीं कर सकते। (कोई विचार क्यों नई त्रुटि?) – nschoe

+0

वाह, महान स्पष्टीकरण –

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