Xgboost: Ao instalar no OSX Sierra via gcc-6, continue tendo "FATAL:/opt/local/bin/../libexec/as/x86_64/as: eu não entendo 'm' sinalizador!" erro

Criado em 9 jan. 2017  ·  16Comentários  ·  Fonte: dmlc/xgboost

Informações do ambiente

Sistema operacional:
macOS 10.12.2 (16C68)

Compilador:
gcc-6

Passos para reproduzir

Instalei o gcc-6 e modifiquei o config.mk conforme necessário em

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

Mas continua com este erro:

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!

O que você tentou?

  1. Reinstale XCode
  2. Reinstalar gcc
  3. Correr make clean_all && make -4j

Mas ainda deu errado. Qualquer ideia?

Comentários muito úteis

@Marswang92 @jialinzou @mcneale
E a versão de as ? Você pode verificar por as -v . Talvez seu terminal exiba algo como GNU Assembler .

E acho que o as correto é assim:

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

O motivo é que o sistema usa um caminho diferente de as (ser substituído). Atenção ao log de erros que você encontrou /opt/local/bin/../libexec/as/x86_64/as , o as correto deve ser /usr/bin/as . Você pode verificar por cd /usr/bin ; ./as -v .

Minha solução é export PATH=/usr/bin:$PATH . Ajudei meu amigo a resolver o problema. E acho que isso pode te ajudar.

Todos 16 comentários

Eu tive o mesmo problema e tentei com 'g++-mp-5' e funcionou. Parece estar relacionado a uma opção desconhecida passada para 'as'. Alguém sabe como examinar a opção de linha de comando passada para o montador, para que eu possa comparar as opções.

@yuntai Oi, você quer dizer definir export CXX = g++-mp-5 no config.mk? Eu tentei mas não funciona. Parece que ainda está usando a versão global do gcc. O erro é o seguinte
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

mesmo problema aqui.

$ fazer
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 construir/aprendiz.o

FATAL:/opt/local/bin/../libexec/as/x86_64/as: Não entendo o sinalizador 'm'!

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

Mesmo problema aqui.
FATAL:/opt/local/bin/../libexec/as/x86_64/as: Não entendo o sinalizador 'm'!
Muito estranho, muito estranho, a mesma versão funcionando bem em outro sistema Sierra OS X 10.4.

@Marswang92 @jialinzou @mcneale
E a versão de as ? Você pode verificar por as -v . Talvez seu terminal exiba algo como GNU Assembler .

E acho que o as correto é assim:

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

O motivo é que o sistema usa um caminho diferente de as (ser substituído). Atenção ao log de erros que você encontrou /opt/local/bin/../libexec/as/x86_64/as , o as correto deve ser /usr/bin/as . Você pode verificar por cd /usr/bin ; ./as -v .

Minha solução é export PATH=/usr/bin:$PATH . Ajudei meu amigo a resolver o problema. E acho que isso pode te ajudar.

Viva! solução parece ser remover /opt/local/bin do caminho. @fcbruce obrigado!

Como você faz isso depende do seu shell, @fcbruce assume sh ou bash, eu acho. Sob tcsh
setenv PATH /usr/local/bin
por exemplo, pode fazer o truque.

Ei pessoal, na verdade eu resolvi meu problema reinicializando meu laptop. A causa pode ser várias versões do gcc no meu laptop. Não tenho certeza.

@mcneale ótima sugestão. obrigado.

@fcbruce O mesmo problema foi resolvido adicionando o caminho. Obrigada.

Olá a todos!
Eu tive o mesmo problema: ...Eu não entendo 'm' flag!
Eu resolvi com export PATH=/usr/bin:$PATH, e funcionou por um momento.
Mas saiba que não funciona mais agora eu não tenho a bandeira eu não entendo 'm'! problema
e não há mensagens de erro, mas a saída de um simples programa hello world é apenas:

˙Ì˛����Ä������‡��Ö� ��������H���__PAGEZERO�������������������������� ����������������������������� (((�������� ((������������...���................................................................................................................................................................................................................................. __ ���������������������������������____����.. ������__TEXT����������&�����∞�������&����������������������� �����������__stubs���������__TEXT����������÷�����
÷ Ä__stub_helper__TEXTÙ �����B�������Ù���������������Ä������������__c string __TEXT����������6�����
�����666�������������������__con����������____����........�����........����...�����.�...........�����................................���...�..��.........�..........................�.........�.......................�............���....................���....�......�.......................) ��������@�����,�������@��������������������������������� ��__eh_frame������__TEXT����������p�����à������������������������� ������������__�ë��������������������������... ��������������������__��������____d������������������..�................................................................................................................................ ����������������__�������__LA_Symbol_Ptr�__data�������������� ((�����. ���������������������h��linklinkededed������ ������ ����� êêê����ê��������� ""��ää0���� ����� ��� ���������� ��†���¿ ��0���������¯ ��
���»!��»���
�� p pp���������������������������.����������� ��
���������������������� ���
���/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��������&�� ) ¯ ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. �������������������� ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ������������������������������. ���������������������������uu�ïï hh��hööööööööööööööööööööööööööööâââhhhââhhhhhhâhhhhhhhhââhhhhhâhâââhââhââhhhââhhâhâhâââââââââhâhhâââââââhââââââââââââââhââââââââââââââââââhâââââââââââââhââhââââââhâââhâhââââââââhââhââââââhâhâhâhâââhâââhâhâââââ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���èê�� è <H7��� 'HQ���È »HP���ÈæHello.f90�hello World! ����d��� ˇ������������������������������
�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. ��
g ����tt������������������� ������� �� ���� @ ���������������������������������������������������_�����������__���_���____��_���____������____���_��____������______�___��___________��______�___��______������________���______��������������__���������������������������������������������������__������__������__�__���__���__�__�____________��________���____�__�______�______________________________________ @

Estou pirando, quero compilar um código e já demoro semanas para executar um compilador gfortran simples no meu mac.

o problema também é que a exportação PATH=/usr/bin:$PATH não é permanente. Então se eu reiniciar o terminal ou o pc ou se eu abrir uma nova aba como está novamente em /opt/local/bin/as e não em /usr/bin/as
Versão osx: 10.12.6

Alguém pode me ajudar... estou morrendo
cumprimenta
matemática

Se você editar seu arquivo .config para adicionar export PATH=/usr/bin:$PATH e reiniciar o terminal, o compilador deverá encontrar o caminho correto. Se você estiver usando /opt/local/bin, modifique .profile para colocá-lo lá, por exemplo
export PATH=/usr/bin:/opt/local/bin:/opt/local/sbin:$PATH. Isso funcionou para mim executando o OS X 10.12.6.

Descobri que o MacPorts estava colocando /opt/local/bin à frente de /usr/bin na cadeia $PATH por meio destas linhas em .profile:

[hash] Adição do instalador do MacPorts em 2018-03-01_at_16:21:35: adicionando uma variável PATH apropriada para uso com MacPorts.
export PATH="/opt/local/bin:/opt/local/sbin:$PATH"
[hash] Concluída a adaptação da variável de ambiente PATH para uso com MacPorts.

Então, "as" estava sendo encontrado em /opt/local/bin/../libexec/as/x86_64/as antes da versão preferida (de trabalho) em /usr/bin

Tirei essas linhas do .profile e reiniciei o terminal. Meu arquivo de teste hello world.f agora está compilando

@netjjordan muito obrigado! Consegui compilar colocando /usr/bin no início de PATH="..."

Obrigado @netjjordan funcionou para mim também

Chegando tarde na festa... mas...

O seguinte funcionou para mim. Esta solução é independente das rotações do caminho do sistema.

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

Aqui está um teste que mostra que funciona:

$ 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: Não entendo o sinalizador '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; eco $?
255

Chegando tarde na festa... mas...

O seguinte funcionou para mim. Esta solução é independente das rotações do caminho do sistema.

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

Aqui está um teste que mostra que funciona:

$ 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: Não entendo o sinalizador '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; eco $?
255

Isso funciona para mim. Muito obrigado

Esta página foi útil?
0 / 5 - 0 avaliações