Xgboost: OSX सिएरा पर gcc-6 के माध्यम से स्थापित करते समय, "FATAL:/opt/local/bin/../libexec/as/x86_64/as: मुझे 'm' ध्वज समझ में नहीं आता!" त्रुटि

को निर्मित 9 जन॰ 2017  ·  16टिप्पणियाँ  ·  स्रोत: dmlc/xgboost

पर्यावरण की जानकारी

ऑपरेटिंग सिस्टम:
मैकोज़ 10.12.2 (16सी68)

संकलक:
जीसीसी-6

प्रजनन के चरण

मैंने gcc-6 स्थापित किया है और आवश्यकतानुसार config.mk को संशोधित किया है

export CC = gcc-6
export CXX = g++-6

लेकिन यह त्रुटि रखें:

g++-6 -c -std=c++0x -Wall -Wno-unknown-pragmas -Iinclude   -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fPIC -fopenmp src/learner.cc -o build/learner.o
FATAL:/opt/local/bin/../libexec/as/x86_64/as: I don't understand 'm' flag!

आपने क्या प्रयास किया है?

  1. XCode पुनर्स्थापित करें
  2. gcc पुनर्स्थापित करें
  3. make clean_all && make -4j चलाएँ

लेकिन फिर भी गलत हो गया। कोई उपाय?

सबसे उपयोगी टिप्पणी

@Marswang92 @jialinzou @mcneale
as के संस्करण के बारे में क्या? आप इसे as -v द्वारा जांच सकते हैं। हो सकता है कि आपका टर्मिनल GNU Assembler जैसा कुछ प्रदर्शित करे।

और मुझे लगता है कि सही as इस प्रकार है:

Apple LLVM version 8.0.0 (clang-800.0.38)
Target: x86_64-apple-darwin15.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1as -triple x86_64-apple-macosx10.11.0 -filetype obj -main-file-name - -target-cpu core2 -fdebug-compilation-dir /Users/fcbruce -dwarf-debug-producer Apple LLVM version 8.0.0 (clang-800.0.38) -dwarf-version=2 -mrelocation-model pic -o a.out -
^C

इसका कारण यह है कि सिस्टम as के एक अलग पथ का उपयोग करता है (ओवरराइड किया जा सकता है)। कृपया उस त्रुटि लॉग पर ध्यान दें जो आपको मिले /opt/local/bin/../libexec/as/x86_64/as , सही as /usr/bin/as $ होना चाहिए। आप इसे cd /usr/bin ; ./as -v द्वारा जांच सकते हैं।

मेरा समाधान export PATH=/usr/bin:$PATH है। मैंने अपने दोस्त को समस्या का समाधान करने में मदद की। और मुझे लगता है कि यह आपकी मदद कर सकता है।

सभी 16 टिप्पणियाँ

मुझे भी यही समस्या थी और मैंने 'g++-mp-5' के साथ प्रयास किया और यह काम कर गया। ऐसा लगता है कि यह 'as' को दिए गए किसी अज्ञात विकल्प से संबंधित है। कोई भी जानता है कि असेंबलर को दिए गए कमांड लाइन विकल्प की जांच कैसे करें, इसलिए मैं विकल्पों की तुलना कर सकता हूं।

@yuntai हाय, क्या आपका मतलब config.mk में export CXX = g++-mp-5 सेट करना है? मैंने कोशिश की लेकिन यह काम नहीं करता है। ऐसा लगता है कि यह अभी भी वैश्विक जीसीसी संस्करण का उपयोग कर रहा है। त्रुटि निम्नलिखित है
g++-6 -std=c++0x -Wall -Wno-unknown-pragmas -Iinclude -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fPIC -fopenmp -MM -MT build/learner.o src/learner.cc >build/learner.d g++-6 -std=c++0x -Wall -Wno-unknown-pragmas -Iinclude -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fPIC -fopenmp -MM -MT build/logging.o src/logging.cc >build/logging.d g++-6 -std=c++0x -Wall -Wno-unknown-pragmas -Iinclude -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fPIC -fopenmp -MM -MT build/c_api/c_api.o src/c_api/c_api.cc >build/c_api/c_api.d g++-6 -std=c++0x -Wall -Wno-unknown-pragmas -Iinclude -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fPIC -fopenmp -MM -MT build/c_api/c_api_error.o src/c_api/c_api_error.cc >build/c_api/c_api_error.d g++-6 -c -std=c++0x -Wall -Wno-unknown-pragmas -Iinclude -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fPIC -fopenmp src/logging.cc -o build/logging.o g++-6 -c -std=c++0x -Wall -Wno-unknown-pragmas -Iinclude -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fPIC -fopenmp src/learner.cc -o build/learner.o g++-6 -c -std=c++0x -Wall -Wno-unknown-pragmas -Iinclude -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fPIC -fopenmp src/c_api/c_api_error.cc -o build/c_api/c_api_error.o g++-6 -c -std=c++0x -Wall -Wno-unknown-pragmas -Iinclude -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fPIC -fopenmp src/c_api/c_api.cc -o build/c_api/c_api.o FATAL:/opt/local/bin/../libexec/as/x86_64/as: I don't understand 'm' flag! make: *** [build/c_api/c_api_error.o] Error 1 make: *** Waiting for unfinished jobs.... FATAL:/opt/local/bin/../libexec/as/x86_64/as: I don't understand 'm' flag! make: *** [build/logging.o] Error 1 FATAL:/opt/local/bin/../libexec/as/x86_64/as: I don't understand 'm' flag! make: *** [build/c_api/c_api.o] Error 1 FATAL:/opt/local/bin/../libexec/as/x86_64/as: I don't understand 'm' flag! make: *** [build/learner.o] Error 1

वही समस्या है।

$ बनाना
g++-6 -std=c++11 -Wall -Wno-unknown-pragmas -Iinclude -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fPIC -fopenmp -MM -MT बिल्ड/लर्नर। o src/learner.cc >build/learner.d

g++-6 -c -std=c++11 -Wall -Wno-unknown-pragmas -Iinclude -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fPIC -fopenmp src/learner.cc - ओ बिल्ड/लर्नर.ओ

घातक:/ऑप्ट/स्थानीय/बिन/../libexec/as/x86_64/as: मुझे 'एम' ध्वज समझ में नहीं आता!

बनाना: * [बिल्ड/लर्नर.ओ] त्रुटि 1

वही समस्या है।
घातक:/ऑप्ट/स्थानीय/बिन/../libexec/as/x86_64/as: मुझे 'एम' ध्वज समझ में नहीं आता!
बहुत ही अजीब, बहुत अजीब, एक ही संस्करण दूसरे सिएरा ओएस एक्स 10.4 सिस्टम पर ठीक काम कर रहा है।

@Marswang92 @jialinzou @mcneale
as के संस्करण के बारे में क्या? आप इसे as -v द्वारा जांच सकते हैं। हो सकता है कि आपका टर्मिनल GNU Assembler जैसा कुछ प्रदर्शित करे।

और मुझे लगता है कि सही as इस प्रकार है:

Apple LLVM version 8.0.0 (clang-800.0.38)
Target: x86_64-apple-darwin15.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" -cc1as -triple x86_64-apple-macosx10.11.0 -filetype obj -main-file-name - -target-cpu core2 -fdebug-compilation-dir /Users/fcbruce -dwarf-debug-producer Apple LLVM version 8.0.0 (clang-800.0.38) -dwarf-version=2 -mrelocation-model pic -o a.out -
^C

इसका कारण यह है कि सिस्टम as के एक अलग पथ का उपयोग करता है (ओवरराइड किया जा सकता है)। कृपया उस त्रुटि लॉग पर ध्यान दें जो आपको मिले /opt/local/bin/../libexec/as/x86_64/as , सही as /usr/bin/as $ होना चाहिए। आप इसे cd /usr/bin ; ./as -v द्वारा जांच सकते हैं।

मेरा समाधान export PATH=/usr/bin:$PATH है। मैंने अपने दोस्त को समस्या का समाधान करने में मदद की। और मुझे लगता है कि यह आपकी मदद कर सकता है।

हुर्रे! समाधान किसी के पथ से/ऑप्ट/स्थानीय/बिन को हटाने के लिए प्रतीत होता है। @fcbruce धन्यवाद!

आप यह कैसे करते हैं यह आपके खोल पर निर्भर करता है, @fcbruce मुझे लगता है कि श या बैश मानता है। टीसीएचओ के तहत
सेटेनव पथ /usr/स्थानीय/बिन
उदाहरण के लिए, चाल कर सकते हैं।

हे दोस्तों, वास्तव में मैंने अपने लैपटॉप को फिर से शुरू करके अपनी समस्या का समाधान कर लिया है। इसका कारण मेरे लैपटॉप पर gcc का एकाधिक संस्करण हो सकता है। पक्का नहीं है।

@mcneale बढ़िया सुझाव।धन्यवाद।

@fcbruce पथ जोड़कर वही समस्या हल हो गई थी। धन्यवाद।

सभी को नमस्कार!
मुझे भी यही समस्या थी: ...मुझे 'एम' झंडा समझ नहीं आ रहा है!
मैंने इसे निर्यात PATH=/usr/bin:$PATH के साथ हल किया, और इसने एक पल के लिए काम किया।
लेकिन पता है कि यह अब और काम नहीं करता है मेरे पास नहीं है मुझे 'एम' ध्वज समझ में नहीं आता है! संकट
और कोई त्रुटि मालिश नहीं है, लेकिन एक साधारण हैलो वर्ल्ड प्रोग्राम का आउटपुट बस है:

पेज जीरो ����������������� पाठ टेक्स्ट स्टब्स
स्टब हेल्पर टेक्स्ट टेक्स्ट सीस्ट्रिंग __पाठ्य�����������������������
टेक्स्ट �������������������������������������������������������������ं ��__eh_frame डेटा �������������������������������������� La_symbol_ptr डेटा डेटा लिंक संपादित करें ������������������������������ ����������������������������������
��»!
"पी" !
������������������
/usr/lib/dyld

.

�*�����������������������������
पी ������������������������
8����������������������������������
��@�����������������������������
पी ��������������������������� ���� �����) ������¯ �������������������������������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ������������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� उह (˛ˇˇ «Ö0˛ˇˇ।» «Ö » «Ö $ »
��Hç5¡¡Hâ«Ëg�HçÖ Hâ«ËR��…√UHâÂHÉÏâ}¸HâuHãUãE¸Hâ÷â«Ë
��Hç5ê����������������������������������������������...

��as% ˝���êh����èêh���è <h7���è "hq���è» hp���èæhello.f90�hello दुनिया! ����d��� �������������������������
4
ñ˛ˇˇˇˇˇˇs�s
नहीं
���������������������������������������������������
8�
�������������� �,�������������������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ���������� ��������� ��������� ���������� ���������� ���������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ��������� ���������� यू @dyld_stub_binder�Qrêêr@__gfortran_set_argsêêr@__gfortran_set_optionsêr@__gfortran_st_write ��mh_execute_header�!main�%���
एक
स������������������������� .
जी यह ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ करना

मैं पागल हो रहा हूं कि मैं एक कोड संकलित करना चाहता हूं और मेरे मैक पर एक साधारण ग्फोरट्रान कंपाइलर चलाने में मुझे पहले से ही सप्ताह लगते हैं।

समस्या यह भी है कि निर्यात PATH=/usr/bin:$PATH स्थायी रूप से नहीं है। तो अगर मैं टर्मिनल या पीसी को पुनरारंभ करता हूं या यदि मैं एक नया टैब खोलता हूं जैसा कि /opt/local/bin/as में है और /usr/bin/as में नहीं है
ओएसएक्स संस्करण: 10.12.6

क्या कोई मेरी मदद कर सकता है...मैं मर रहा हूँ
स्वागत करती है
मठ

अगर आप अपनी .config फाइल को एक्सपोर्ट PATH=/usr/bin:$PATH जोड़ने के लिए एडिट करते हैं और टर्मिनल को रीस्टार्ट करते हैं, तो कंपाइलर को सही रास्ता मिलना चाहिए। यदि आप /opt/local/bin का उपयोग कर रहे हैं, तो आप .profile को वहां रखने के लिए संशोधित करते हैं, जैसे
निर्यात पथ = / usr / बिन: / ऑप्ट / स्थानीय / बिन: / ऑप्ट / स्थानीय / sbin: $ पथ। इसने मेरे लिए OS X 10.12.6 चलाने का काम किया।

मैंने पाया कि MacPorts .profile में इन पंक्तियों के माध्यम से $PATH श्रृंखला में /usr/bin के आगे /opt/local/bin डाल रहा था:

[हैश] 2018-03-01_at_16:21:35 पर MacPorts इंस्टालर जोड़: MacPorts के साथ उपयोग के लिए एक उपयुक्त PATH चर जोड़ना।
निर्यात पथ = "/ ऑप्ट/स्थानीय/बिन:/ऑप्ट/स्थानीय/एसबिन: $ पथ"
[हैश] MacPorts के साथ उपयोग के लिए अपने PATH पर्यावरण चर को अनुकूलित करना समाप्त कर दिया।

तो "as" /opt/local/bin/../libexec/as/x86_64/asr/usr/bin में पसंदीदा (कार्यशील) संस्करण से पहले पाया जा रहा था

इन पंक्तियों को .profile से निकाल लिया और टर्मिनल को पुनः आरंभ किया। मेरी परीक्षण फ़ाइल hello world.f अब संकलित हो रही है

@netjjordan बहुत बहुत धन्यवाद! मैं PATH="..." की शुरुआत में /usr/bin डालकर इसे संकलित करने में कामयाब रहा

धन्यवाद @netjjordan इसने मेरे लिए भी काम किया

पार्टी में आने में देर हो गई... लेकिन...

निम्नलिखित ने मेरे लिए काम किया। यह समाधान सिस्टम पथ परिवर्तन से स्वतंत्र है।

$ सीडी / ऑप्ट / स्थानीय / बिन
$ sudo mv ./as ./as-broken
$ sudo ln -s /usr/bin/as ./as

यहां एक परीक्षण है जो दिखाता है कि यह काम करता है:

$ एमकेडीआईआर ~/जीसीसीटेस्ट
$ सीडी ~/जीसीसीटेस्ट
$ इको 'इंट मेन () {रिटर्न -1;}'> conftest.c
$ /opt/local/bin/gcc -o conftest conftest.c
घातक:/ऑप्ट/स्थानीय/बिन/../libexec/as/x86_64/as: मुझे 'एम' ध्वज समझ में नहीं आता!
$ सीडी / ऑप्ट / स्थानीय / बिन
$ sudo mv ./as ./as-broken
$ sudo ln -s /usr/bin/as ./as
$ सीडी -
$ /opt/local/bin/gcc -o conftest conftest.c
$ ./प्रतियोगिता; गूंज $?
255

पार्टी में आने में देर हो गई... लेकिन...

निम्नलिखित ने मेरे लिए काम किया। यह समाधान सिस्टम पथ परिवर्तन से स्वतंत्र है।

$ सीडी / ऑप्ट / स्थानीय / बिन
$ sudo mv ./as ./as-broken
$ sudo ln -s /usr/bin/as ./as

यहां एक परीक्षण है जो दिखाता है कि यह काम करता है:

$ एमकेडीआईआर ~/जीसीसीटेस्ट
$ सीडी ~/जीसीसीटेस्ट
$ इको 'इंट मेन () {रिटर्न -1;}'> conftest.c
$ /opt/local/bin/gcc -o conftest conftest.c
घातक:/ऑप्ट/स्थानीय/बिन/../libexec/as/x86_64/as: मुझे 'एम' ध्वज समझ में नहीं आता!
$ सीडी / ऑप्ट / स्थानीय / बिन
$ sudo mv ./as ./as-broken
$ sudo ln -s /usr/bin/as ./as
$ सीडी -
$ /opt/local/bin/gcc -o conftest conftest.c
$ ./प्रतियोगिता; गूंज $?
255

यह मेरे लिए काम करता है। बहुत बहुत धन्यवाद

क्या यह पृष्ठ उपयोगी था?
0 / 5 - 0 रेटिंग्स