Xgboost: Lors de l'installation sur OSX Sierra via gcc-6, continuez d'avoir "FATAL:/opt/local/bin/../libexec/as/x86_64/as: Je ne comprends pas le drapeau 'm'!" Erreur

Créé le 9 janv. 2017  ·  16Commentaires  ·  Source: dmlc/xgboost

Informations sur l'environnement

Système opérateur:
mac OS 10.12.2 (16C68)

Compilateur:
gcc-6

Étapes à reproduire

J'ai installé gcc-6 et modifié config.mk selon les besoins dans

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

Mais continuez d'avoir cette erreur:

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!

Qu'as-tu essayé ?

  1. Réinstaller XCode
  2. Réinstaller gcc
  3. Courez make clean_all && make -4j

Mais ça s'est quand même mal passé. Une idée?

Commentaire le plus utile

@Marswang92 @jialinzou @mcneale
Qu'en est-il de la version de as ? Vous pouvez le vérifier par as -v . Peut-être que votre terminal affiche quelque chose comme GNU Assembler .

Et je pense que le bon as est comme :

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

La raison est que le système utilise un chemin différent de as (à remplacer). Veuillez faire attention au journal des erreurs que vous avez rencontré /opt/local/bin/../libexec/as/x86_64/as , le bon as devrait être /usr/bin/as . Vous pouvez le vérifier par cd /usr/bin ; ./as -v .

Ma solution est export PATH=/usr/bin:$PATH . J'ai aidé mon ami à résoudre le problème. Et je pense que ça peut t'aider.

Tous les 16 commentaires

J'ai eu le même problème et j'ai essayé avec 'g++-mp-5' et cela a fonctionné. Il semble être lié à une option inconnue passée à 'as'. Tout le monde sait comment examiner l'option de ligne de commande transmise à l'assembleur, afin que je puisse comparer les options.

@yuntai Bonjour, voulez-vous dire définir export CXX = g++-mp-5 dans config.mk ? J'ai essayé mais ça ne marche pas. Il semble qu'il utilise toujours la version globale de gcc. L'erreur est la suivante
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

Même problème ici.

$ faire
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 construire/apprendre.o

FATAL :/opt/local/bin/../libexec/as/x86_64/as : je ne comprends pas le drapeau « m » !

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

Même problème ici.
FATAL :/opt/local/bin/../libexec/as/x86_64/as : je ne comprends pas le drapeau « m » !
Très étrange, très étrange, même version fonctionnant correctement sur un autre système Sierra OS X 10.4.

@Marswang92 @jialinzou @mcneale
Qu'en est-il de la version de as ? Vous pouvez le vérifier par as -v . Peut-être que votre terminal affiche quelque chose comme GNU Assembler .

Et je pense que le bon as est comme :

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

La raison est que le système utilise un chemin différent de as (à remplacer). Veuillez faire attention au journal des erreurs que vous avez rencontré /opt/local/bin/../libexec/as/x86_64/as , le bon as devrait être /usr/bin/as . Vous pouvez le vérifier par cd /usr/bin ; ./as -v .

Ma solution est export PATH=/usr/bin:$PATH . J'ai aidé mon ami à résoudre le problème. Et je pense que ça peut t'aider.

Hourra ! la solution semble être de supprimer /opt/local/bin de son chemin. @fcbruce merci !

Comment vous faites cela dépend de votre shell, @fcbruce suppose sh ou bash je pense. Sous tcsh
setenv CHEMIN /usr/local/bin
par exemple, pourrait faire l'affaire.

Hé les gars, en fait j'ai résolu mon problème en réinitialisant mon ordinateur portable. La cause peut être plusieurs versions de gcc sur mon ordinateur portable. Pas vraiment sûr.

@mcneale super suggestion.merci.

@fcbruce Le même problème a été résolu en ajoutant le chemin. Merci.

Bonjour à tous!
J'ai eu le même problème : ...Je ne comprends pas le drapeau 'm' !
Je l'ai résolu avec export PATH=/usr/bin:$PATH, et cela a fonctionné pendant un moment.
Mais sachez que cela ne fonctionne plus maintenant, je n'ai plus le drapeau Je ne comprends pas 'm' ! problème
et il n'y a aucun message d'erreur, mais la sortie d'un simple programme hello world est juste :

œ˙Ì˛����Ä������‡��Ö� ��������H����__PAGEZERO������������������ ������������������������������������(��__TEXTE�������� ������������������������������������������__texte���� ������__TEXTE����������&������∞��������&����������������Ä� �����������__stubs����������__TEXTE����������÷�����
�������÷��������������Ä������������__stub_helper����__TEXTE����������Ù ����B��������Ù����������������������������__cstring������� __TEXTE����������6������
������6������������������������������__const����������__TEXTE�� ��������@������,��������@�������������������������� ��__eh_frame������__TEXTE����������p������à��������p���������������� �����������������Ë����__DONNÉES�������������������������� ����������������������__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�%����ô
�������¶
������©������&����±������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��������

Je panique, je veux compiler un code et il me faut déjà des semaines pour exécuter un simple compilateur gfortran sur mon mac.

le problème est aussi que l'export PATH=/usr/bin:$PATH n'est pas permanent. Donc si je redémarre le terminal ou le pc ou si j'ouvre un nouvel onglet tel quel à nouveau dans /opt/local/bin/as et non dans /usr/bin/as
Version d'osx : 10.12.6

Quelqu'un peut-il m'aider ... je suis en train de mourir
salue
maths

Si vous modifiez votre fichier .config pour ajouter export PATH=/usr/bin:$PATH et redémarrez le terminal, le compilateur devrait trouver le bon chemin. Si vous utilisez /opt/local/bin, alors vous modifiez .profile pour le mettre là, par exemple
export PATH=/usr/bin:/opt/local/bin:/opt/local/sbin:$PATH. Cela a fonctionné pour moi sous OS X 10.12.6.

J'ai trouvé que MacPorts plaçait /opt/local/bin avant /usr/bin dans la chaîne $PATH via ces lignes dans .profile :

[hash] Ajout du programme d'installation de MacPorts le 2018-03-01_at_16:21:35 : ajout d'une variable PATH appropriée à utiliser avec MacPorts.
export PATH="/opt/local/bin:/opt/local/sbin:$PATH"
[hachage] Fin de l'adaptation de votre variable d'environnement PATH pour une utilisation avec MacPorts.

Donc "as" était trouvé dans /opt/local/bin/../libexec/as/x86_64/as avant la version préférée (de travail) dans /usr/bin

A retiré ces lignes de .profile et redémarré le terminal. Mon fichier de test hello world.f est en train de compiler

@netjjordan merci beaucoup ! J'ai réussi à le faire compiler en mettant /usr/bin au début de PATH="..."

Merci @netjjordan ça a marché pour moi aussi

En retard à la fête... mais...

Ce qui suit a fonctionné pour moi. Cette solution est indépendante des girations du chemin du système.

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

Voici un test qui montre que cela fonctionne :

$ 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 : je ne comprends pas le drapeau « m » !
$ 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
$ ./conftest ; echo $?
255

En retard à la fête... mais...

Ce qui suit a fonctionné pour moi. Cette solution est indépendante des girations du chemin du système.

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

Voici un test qui montre que cela fonctionne :

$ 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 : je ne comprends pas le drapeau « m » !
$ 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
$ ./conftest ; echo $?
255

Cela fonctionne pour moi. Merci beaucoup

Cette page vous a été utile?
0 / 5 - 0 notes