Xgboost: أثناء التثبيت على OSX Sierra عبر gcc-6 ، استمر في استخدام "FATAL: / opt / local / bin /../ libexec / as / x86_64 / as: لا أفهم علامة 'm'!" خطأ

تم إنشاؤها على ٩ يناير ٢٠١٧  ·  16تعليقات  ·  مصدر: dmlc/xgboost

معلومات البيئة

نظام التشغيل:
macOS 10.12.2 (16C68)

مترجم:
مجلس التعاون الخليجي - 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

لكن ما زال خطأ. اي فكرة؟

التعليق الأكثر فائدة

تضمين التغريدة
ماذا عن إصدار 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 مرحبًا ، هل تقصد تعيين export CXX = g++-mp-5 في config.mk؟ لقد جربتها لكنها لا تعمل. يبدو أنه لا يزال يستخدم النسخة العالمية لدول مجلس التعاون الخليجي. الخطأ هو التالي
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 build / learner. o src / learner.cc> build / learner.d

g ++ - 6 -c -std = c ++ 11 -Wno-unknown-pragmas -Iinclude -Idmlc-core / include -Irabit / include -O3 -funroll-loops -msse2 -fPIC -fopenmp src / learner.cc - o بناء / متعلم

FATAL: / opt / local / bin /../ libexec / as / x86_64 / as: أنا لا أفهم علامة 'm'!

جعل: * [build / learner.o] خطأ 1

نفس المشكلة هنا.
FATAL: / opt / local / bin /../ libexec / as / x86_64 / as: أنا لا أفهم علامة 'm'!
إصدار غريب جدًا وغريب جدًا ونفس الإصدار يعمل بشكل جيد على نظام Sierra OS X 10.4 آخر.

تضمين التغريدة
ماذا عن إصدار 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 . لقد ساعدت صديقي في حل المشكلة. وأعتقد أن هذا يمكن أن يساعدك.

الصيحة! يبدو أن الحل هو إزالة / opt / local / bin من مسار الشخص. fcbruce شكرا لك!

تعتمد طريقة القيام بذلك على قوقعتك ، أعتقد أن fcbruce يفترض sh أو bash. تحت tcsh
setenv PATH / usr / local / bin
على سبيل المثال ، قد تفي بالغرض.

مرحبًا يا رفاق ، لقد قمت بالفعل بحل مشكلتي عن طريق إعادة تهيئة جهاز الكمبيوتر المحمول. قد يكون السبب هو وجود إصدار متعدد من دول مجلس التعاون الخليجي على جهاز الكمبيوتر المحمول الخاص بي. لست متأكدا تماما.

mcneale اقتراح عظيم. شكرا.

fcbruce تم حل نفس المشكلة بإضافة المسار. شكرا لك.

مرحبا بالجميع!
عانيت من نفس المشكلة: ... أنا لا أفهم علم 'm'!
لقد قمت بحلها باستخدام export PATH = / usr / bin: $ PATH ، وعملت للحظة.
لكن أعلم أنه لا يعمل بعد الآن ، ليس لدي علامة لا أفهمها! مشكلة
ولا توجد رسائل خطأ على الإطلاق ، ولكن ناتج برنامج hello world بسيط هو:

... ... ... ������__TEXT���������� & �����∞������� & ���������������� �����������__ محطات الإرسال
... ... __TEXT���������6�����
... �������� @ �����، ������� @ �������������������������� ... ... ... ... ... ... ���������� �� † ���¿ ��0���������¯ ��
��� »! ��» ���
... ò! ��
��������������������� ���
��� / usr / lib / dyld������������� · † ï ÕÉ6ÑòΩhfEπ € H $ ������

��

� * �������������� (�������������������
���P�������������� / usr / local / opt / gcc / lib / gcc / 7 / libgfortran.4.dylib��������
���8���������2 ÷ ��� / usr / lib / libSystem.B.dylib������
���@��������������/usr/local/lib/gcc/7/libgcc_s.1.dylib���
���P�������������� / usr / local / opt / gcc / lib / gcc / 7 / libquadmath.0.dylib������� & �� ���� �����) ������������������������������������� ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... �������������������� ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... (Ö0˛ˇˇ��� «Ö ˛ˇˇÄ���« Ö $ ˛ˇˇ���HçÖ ˛ˇˇHâ «v���HçÖ ˛ˇˇ∫
���Hç5¡���Hâ «g���HçÖ ˛ˇˇHâ« R���ê… √UHâÂHÉÏâ} HâuHãUãE¸Hâ â «
���Hç5ê������Ë���ËWˇˇˇ∏���� ... √ˇ٪ 4��ˇ٪ 6��ˇ٪ 8��ˇ٪: ��ˇ٪

��ASˇ٪ ˝���êh����ÈÊˇˇˇh���È ‹ˇˇˇh7���È“ hQ���È »hp���Èæhello.F90� Hello World! ����D��� ˇ���������������������������zR�x
�4���
���ñ˛ˇˇˇˇˇˇs�����������Ü���
ن���
�������4���T��� = ��������������
8���
... ��، �������������������������������������������� ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ��_mh_execute_header�! main�٪ ����ô
�������¶
s����� © ����� & ����� ± �����P������������������������ ��
... ... ���� @ ...

أنا أشعر بالذهول وأريد تجميع رمز ويستغرق الأمر بالفعل أسابيع لتشغيل مترجم gfortran بسيط على جهاز Mac الخاص بي.

تكمن المشكلة أيضًا في أن مسار التصدير = / usr / bin: $ PATH ليس دائمًا. لذلك إذا قمت بإعادة تشغيل الجهاز أو الكمبيوتر أو إذا فتحت علامة تبويب جديدة كما هي مرة أخرى في / opt / local / bin / as وليس في / usr / bin / as
إصدار osx: 10.12.6

هل يستطيع أحد مساعدتي ... أنا أموت
تحية
مات

إذا قمت بتحرير ملف .config الخاص بك لإضافة تصدير PATH = / usr / bin: $ PATH وإعادة تشغيل المحطة ، يجب أن يجد المترجم المسار الصحيح. إذا كنت تستخدم / opt / local / bin ، فإنك تقوم بتعديل .profile لوضعه هناك ، على سبيل المثال
export PATH = / usr / bin: / opt / local / bin: / opt / local / sbin: $ PATH. لقد نجح ذلك بالنسبة لي في تشغيل OS X 10.12.6.

لقد وجدت أن MacPorts كان يضع / opt / local / bin قبل / usr / bin في سلسلة $ PATH عبر هذه الأسطر في الملف الشخصي:

[hash] إضافة MacPorts Installer في 2018-03-01_at_16: 21: 35: إضافة متغير PATH مناسب للاستخدام مع MacPorts.
export PATH = "/ opt / local / bin: / opt / local / sbin: $ PATH"
[التجزئة] تم الانتهاء من تكييف متغير بيئة PATH للاستخدام مع MacPorts.

لذلك تم العثور على "as" في /opt/local/bin/../libexec/as/x86_64/as قبل الإصدار (العمل) المفضل في / usr / bin

أخرجت هذه الأسطر من ملف التعريف وأعد تشغيلها. ملف الاختبار الخاص بي hello world.f يتم تجميعه الآن

netjjordan شكرا جزيلا! تمكنت من تجميعها عن طريق وضع / usr / bin في بداية PATH = "..."

شكرًا @ netjjordan لقد نجح الأمر معي أيضًا

تأخر الحضور إلى الحفلة ... لكن ...

ما يلي يعمل من أجلي. هذا الحل مستقل عن دوران مسار النظام.

$ cd / opt / local / bin
$ sudo mv ./as ./as-broken
$ sudo ln -s / usr / bin / as ./as

إليك اختبار يوضح أنه يعمل:

$ mkdir ~ / gcctest
$ cd ~ / gcctest
$ echo 'int main () {return -1؛}'> conftest.c
$ / opt / local / bin / gcc -o conftest.c
FATAL: / opt / local / bin /../ libexec / as / x86_64 / as: أنا لا أفهم علامة 'm'!
$ cd / opt / local / bin
$ sudo mv ./as ./as-broken
$ sudo ln -s / usr / bin / as ./as
قرص مضغوط -
$ / opt / local / bin / gcc -o conftest.c
$ ./conftest ؛ صدى $؟
255

تأخر الحضور إلى الحفلة ... لكن ...

ما يلي يعمل من أجلي. هذا الحل مستقل عن دوران مسار النظام.

$ cd / opt / local / bin
$ sudo mv ./as ./as-broken
$ sudo ln -s / usr / bin / as ./as

إليك اختبار يوضح أنه يعمل:

$ mkdir ~ / gcctest
$ cd ~ / gcctest
$ echo 'int main () {return -1؛}'> conftest.c
$ / opt / local / bin / gcc -o conftest.c
FATAL: / opt / local / bin /../ libexec / as / x86_64 / as: أنا لا أفهم علامة 'm'!
$ cd / opt / local / bin
$ sudo mv ./as ./as-broken
$ sudo ln -s / usr / bin / as ./as
قرص مضغوط -
$ / opt / local / bin / gcc -o conftest.c
$ ./conftest ؛ صدى $؟
255

هذا يعمل بالنسبة لي. شكرا جزيلا

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات