Xgboost: Während der Installation auf OSX Sierra über gcc-6 wird weiterhin "FATAL:/opt/local/bin/../libexec/as/x86_64/as: I don't know 'm' flag!" Error

Erstellt am 9. Jan. 2017  ·  16Kommentare  ·  Quelle: dmlc/xgboost

Umgebungsinformationen

Betriebssystem:
macOS 10.12.2 (16C68)

Compiler:
gcc-6

Schritte zum Reproduzieren

Ich habe gcc-6 installiert und config.mk nach Bedarf geändert

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

Habe aber immer wieder diesen Fehler:

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!

Was hast du versucht?

  1. Installieren Sie XCode neu
  2. Installieren Sie gcc neu
  3. Führen Sie make clean_all && make -4j

Ging aber trotzdem schief. Irgendeine Idee?

Hilfreichster Kommentar

@Marswang92 @jialinzou @mcneale
Was ist mit der Version von as ? Sie können es mit as -v überprüfen. Vielleicht zeigt Ihr Terminal so etwas wie GNU Assembler an.

Und ich denke, das richtige as ist wie folgt:

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

Der Grund dafür ist, dass das System einen anderen Pfad von as verwendet (wird überschrieben). Bitte achten Sie auf das Fehlerprotokoll, auf das Sie /opt/local/bin/../libexec/as/x86_64/as sind. Das korrekte as sollte /usr/bin/as lauten. Sie können es mit cd /usr/bin ; ./as -v überprüfen.

Meine Lösung ist export PATH=/usr/bin:$PATH . Ich habe meinem Freund geholfen, das Problem zu lösen. Und ich denke, das kann dir helfen.

Alle 16 Kommentare

Ich hatte das gleiche Problem und habe es mit 'g++-mp-5' versucht und es hat funktioniert. Es scheint mit einer unbekannten Option zusammenzuhängen, die an 'as' übergeben wird. Jeder weiß, wie man die an Assembler übergebene Befehlszeilenoption untersucht, damit ich die Optionen vergleichen kann.

@yuntai Hallo, meinst du damit, export CXX = g++-mp-5 in config.mk einzustellen? Ich habe es versucht, aber es funktioniert nicht. Scheint immer noch die globale gcc-Version zu verwenden. Der Fehler ist folgender
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

selbes Problem hier.

$ machen
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 -Wall -Wno-unknown-pragmas -Iinclude -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fPIC -fopenmp src/learner.cc - o bauen/lernen.o

FATAL:/opt/local/bin/../libexec/as/x86_64/as: Ich verstehe das 'm'-Flag nicht!

make: * [build/learner.o] Fehler 1

Selbes Problem hier.
FATAL:/opt/local/bin/../libexec/as/x86_64/as: Ich verstehe das 'm'-Flag nicht!
Sehr seltsam, sehr seltsam, dieselbe Version funktioniert auf einem anderen Sierra OS X 10.4-System.

@Marswang92 @jialinzou @mcneale
Was ist mit der Version von as ? Sie können es mit as -v überprüfen. Vielleicht zeigt Ihr Terminal so etwas wie GNU Assembler an.

Und ich denke, das richtige as ist wie folgt:

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

Der Grund dafür ist, dass das System einen anderen Pfad von as verwendet (wird überschrieben). Bitte achten Sie auf das Fehlerprotokoll, auf das Sie /opt/local/bin/../libexec/as/x86_64/as sind. Das korrekte as sollte /usr/bin/as lauten. Sie können es mit cd /usr/bin ; ./as -v überprüfen.

Meine Lösung ist export PATH=/usr/bin:$PATH . Ich habe meinem Freund geholfen, das Problem zu lösen. Und ich denke, das kann dir helfen.

Hurra! Die Lösung scheint darin zu bestehen, /opt/local/bin aus dem eigenen Pfad zu entfernen. @fcbruce danke!

Wie Sie dies tun, hängt von Ihrer Shell ab, @fcbruce geht davon aus, dass sh oder bash ich denke. Unter tsch
setenv PFAD /usr/local/bin
zum Beispiel könnte den Trick machen.

Hey Leute, eigentlich habe ich mein Problem gelöst, indem ich meinen Laptop neu initialisiert habe. Die Ursache könnte mehrere Versionen von gcc auf meinem Laptop sein. Nicht ganz sicher.

@mcneale toller Vorschlag. Danke.

@fcbruce Dasselbe Problem wurde durch Hinzufügen des Pfads gelöst. Danke.

Hallo, alle miteinander!
Ich hatte das gleiche Problem: ...ich verstehe 'm' flag nicht!
Ich habe es mit export PATH=/usr/bin:$PATH gelöst, und es hat einen Moment lang funktioniert.
Aber wissen Sie, dass es jetzt nicht mehr funktioniert, ich habe nicht das Ich verstehe 'm'-Flag! Problem
und es gibt überhaupt keine Fehlermeldungen, aber die Ausgabe eines einfachen Hallo-Welt-Programms ist nur:

œ˙Ì˛����Ä������‡��Ö� ��������H���__PAGEZERO����������������� ���������������������������������������(��__TEXT������� ���������������������������������������������__text���� ������__TEXT����������&�����∞�������&����������������Ä� �����������__stubs���������__TEXT����������÷�����
�������÷��������������Ä�����������__stub_helper���__TEXT����������Ù �����B�������Ù���������������Ä�������������__cstring������� __TEXT����������6�����
�������6�����������������������������__const���������__TEXT�� ��������@�����,�������@���������������������������� ��__eh_frame������__TEXT����������p�����à�������p��������������� �����������������Ë���__DATEN���������������������������� ����������������������__nl_symbol_ptr�__DATA������������������������� ��������������������������__la_symbol_ptr�__DATA���������������(����� �������������������������������H���__LINKEDIT������� ������ ������� ������ê��������������������"��Ä0���� ����� ��� ���������� ��†���¿ ��0���������¯ ��
���»!��»���
���P���������������������������������������������� ò!��
���������������������� ���
���/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��������&�� ���� �����)������¯ �������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� ���������������������������������������UHâÂHÅχ��Hç˛���HâÖ (˛ˇˇ«Ö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��ˇ%:��ˇ%<��Lç

��ASˇ%˝���êh����ÈÊˇˇˇh���È‹ˇˇˇh7���È“ˇˇˇhQ���È»ˇˇˇhp���Èæˇˇˇhello.F90�Hello World!����D��� ˇ�������������������������������zR�x
�4���
���ñ˛ˇˇˇˇˇˇs�����������Ü���
n���
�������4���T���—˛ˇˇˇˇˇˇ=�����������Ü���
8���
����������������������������������������������“��� ��,������������������������������������������������ �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� �������������������������������������������������� ������������������������������������������������ „U ����@dyld_stub_binder�Qr�ê�r@__gfortran_set_args�ê�r@__gfortran_set_options�ê�r @__gfortran_st_write�ê�r(@__gfortran_st_write_done�ê�r0@__gfortran_transfer_character_write�ê��������_ ��_mh_execute_header�!main�%����ô
�������¶
s�����©�����&�����±�����P���������������������ô��� ��
�������������0�������������G�������������[�������� �����t���������������������������������������� �� ����@��������������� �__mh_execute_header�_main�__gfortran_set_args�__gfortran_set_options�__gfortran_st_write�__gfortran_st_write_done�__gfortran_transfer_character_write�dyld_stub_binder�_MAIN__�_options.1.3506��������

Ich flipp aus, ich möchte einen Code kompilieren und es dauert schon Wochen, einen einfachen Gfortran-Compiler auf meinem Mac auszuführen.

das problem ist auch, dass der export PATH=/usr/bin:$PATH nicht dauerhaft ist. Wenn ich also das Terminal oder den PC neu starte oder wenn ich einen neuen Tab öffne, ist as wieder in /opt/local/bin/as und nicht in /usr/bin/as
osx-Version: 10.12.6

Kann mir jemand helfen ... Ich sterbe
grüßt
Mathe

Wenn Sie Ihre .config-Datei bearbeiten, um export PATH=/usr/bin:$PATH hinzuzufügen und das Terminal neu starten, sollte der Compiler den richtigen Pfad finden. Wenn Sie /opt/local/bin verwenden, ändern Sie .profile, um es dort abzulegen, z
export PATH=/usr/bin:/opt/local/bin:/opt/local/sbin:$PATH. Das hat bei mir unter OS X 10.12.6 funktioniert.

Ich habe festgestellt, dass MacPorts /opt/local/bin über diese Zeilen in .profile in der $PATH-Kette vor /usr/bin gesetzt hat:

[hash] MacPorts Installer-Zusatz am 01.03.2018_um_16:21:35: Hinzufügen einer geeigneten PATH-Variablen zur Verwendung mit MacPorts.
export PATH="/opt/local/bin:/opt/local/sbin:$PATH"
[hash] Anpassung Ihrer PATH-Umgebungsvariable für die Verwendung mit MacPorts abgeschlossen.

Also wurde "as" in /opt/local/bin/../libexec/as/x86_64/as vor der bevorzugten (funktionierenden) Version in /usr/bin gefunden

Habe diese Zeilen aus .profile entfernt und das Terminal neu gestartet. Meine Testdatei hello world.f wird gerade kompiliert

@netjjordan vielen Dank! Ich habe es geschafft, es zu kompilieren, indem ich /usr/bin an den Anfang von PATH = "..." gesetzt habe.

Danke @netjjordan , es hat auch bei mir funktioniert

Zu spät zur Party kommen... aber...

Folgendes hat bei mir funktioniert. Diese Lösung ist unabhängig von Systemwegdrehungen.

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

Hier ist ein Test, der zeigt, dass es funktioniert:

$ mkdir ~/gcctest
$ cd ~/gcctest
$ echo 'int main(){return -1;}' > conftest.c
$ /opt/local/bin/gcc -o conftest conftest.c
FATAL:/opt/local/bin/../libexec/as/x86_64/as: Ich verstehe das 'm'-Flag nicht!
$cd /opt/local/bin
$ sudo mv ./as ./as-broken
$ sudo ln -s /usr/bin/as ./as
$cd-
$ /opt/local/bin/gcc -o conftest conftest.c
$ ./contest; Echo $?
255

Zu spät zur Party kommen... aber...

Folgendes hat bei mir funktioniert. Diese Lösung ist unabhängig von Systemwegdrehungen.

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

Hier ist ein Test, der zeigt, dass es funktioniert:

$ mkdir ~/gcctest
$ cd ~/gcctest
$ echo 'int main(){return -1;}' > conftest.c
$ /opt/local/bin/gcc -o conftest conftest.c
FATAL:/opt/local/bin/../libexec/as/x86_64/as: Ich verstehe das 'm'-Flag nicht!
$cd /opt/local/bin
$ sudo mv ./as ./as-broken
$ sudo ln -s /usr/bin/as ./as
$cd-
$ /opt/local/bin/gcc -o conftest conftest.c
$ ./contest; Echo $?
255

Das funktioniert für mich. Vielen Dank

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen