Xgboost: Durante la instalación en OSX Sierra a través de gcc-6, siga teniendo "FATAL:/opt/local/bin/../libexec/as/x86_64/as: ¡No entiendo la bandera 'm'!" error

Creado en 9 ene. 2017  ·  16Comentarios  ·  Fuente: dmlc/xgboost

Información del entorno

Sistema operativo:
macOS 10.12.2 (16C68)

Compilador:
gcc-6

pasos para reproducir

He instalado gcc-6 y modificado config.mk según sea necesario en

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

Pero sigue teniendo este error:

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é has probado?

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

Pero aun así salió mal. ¿Alguna idea?

Comentario más útil

@Marswang92 @jialinzou @mcneale
¿Qué pasa con la versión de as ? Puedes comprobarlo por as -v . Tal vez su terminal muestre algo como GNU Assembler .

Y creo que el as correcto es como:

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 razón es que el sistema usa una ruta diferente de as (se anula). Preste atención al registro de errores que encontró /opt/local/bin/../libexec/as/x86_64/as , el as correcto debería ser /usr/bin/as . Puedes comprobarlo por cd /usr/bin ; ./as -v .

Mi solución es export PATH=/usr/bin:$PATH . Ayudé a mi amigo a resolver el problema. Y creo que eso te puede ayudar.

Todos 16 comentarios

Tuve el mismo problema y probé con 'g++-mp-5' y funcionó. Parece estar relacionado con una opción desconocida pasada a 'as'. Cualquiera sabe cómo examinar la opción de línea de comando pasada al ensamblador, por lo que podría comparar las opciones.

@yuntai Hola, ¿te refieres a configurar export CXX = g++-mp-5 en config.mk? Lo probé pero no funciona. Parece que todavía está usando la versión global de gcc. el error es el siguiente
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

el mismo problema aqui.

$ hacer
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: ¡No entiendo el indicador 'm'!

hacer: * [build/learner.o] Error 1

El mismo problema aqui.
FATAL:/opt/local/bin/../libexec/as/x86_64/as: ¡No entiendo el indicador 'm'!
Muy extraño, muy extraño, la misma versión funciona bien en otro sistema Sierra OS X 10.4.

@Marswang92 @jialinzou @mcneale
¿Qué pasa con la versión de as ? Puedes comprobarlo por as -v . Tal vez su terminal muestre algo como GNU Assembler .

Y creo que el as correcto es como:

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 razón es que el sistema usa una ruta diferente de as (se anula). Preste atención al registro de errores que encontró /opt/local/bin/../libexec/as/x86_64/as , el as correcto debería ser /usr/bin/as . Puedes comprobarlo por cd /usr/bin ; ./as -v .

Mi solución es export PATH=/usr/bin:$PATH . Ayudé a mi amigo a resolver el problema. Y creo que eso te puede ayudar.

¡Hurra! la solución parece ser eliminar /opt/local/bin de la ruta de uno. @fcbruce gracias!

Cómo haces esto depende de tu caparazón, @fcbruce asume sh o bash, creo. bajo tcsh
setenv RUTA /usr/local/bin
por ejemplo, podría hacer el truco.

Hola chicos, en realidad resolví mi problema reiniciando mi computadora portátil. La causa podría ser una versión múltiple de gcc en mi computadora portátil. No muy seguro.

@mcneale gran sugerencia.gracias.

@fcbruce El mismo problema se resolvió agregando la ruta. Gracias.

¡Hola, todos!
Tuve el mismo problema: ... ¡No entiendo la bandera 'm'!
Lo resolví con export PATH=/usr/bin:$PATH, y funcionó por un momento.
¡Pero sepa que ya no funciona ahora que no tengo el indicador No entiendo 'm'! problema
y no hay mensajes de error en absoluto, pero la salida de un simple programa hola mundo es simplemente:

œ˙Ì˛����Ä������‡��Ö� ��������H���__PAGEZERO����������������� �����������������������������������(��__TEXTO������� texto �������TEXTO��������&�����∞�������&����������������Ä� �����������__stubs�������__TEXTO����������÷�����
�����÷��������������Ä�����������__stub_helper�__TEXTO���Ù �����B�����Ù�������������Ä����������__ccuerda����� __TEXTO��������6�����
�����6�����������������������������__const����������TEXTO�� ��������@�����,�������@��������������������������� ��__eh_frame�������TEXT����������p�����à�������p��������������� �����������������Ë���__DATOS���������������������������� �����������������������__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���Èæˇˇˇhp���Èæˇˇˇhello.F90�¡Hola mundo!����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������

Me estoy volviendo loco, quiero compilar un código y ya me lleva semanas ejecutar un compilador gfortran simple en mi mac.

el problema también es que la exportación PATH=/usr/bin:$PATH no es permanente. Entonces, si reinicio la terminal o la PC o si abro una nueva pestaña como está nuevamente en /opt/local/bin/as y no en /usr/bin/as
osx Versión: 10.12.6

Alguien me puede ayudar... me estoy muriendo
saluda
matemáticas

Si edita su archivo .config para agregar export PATH=/usr/bin:$PATH y reinicia la terminal, el compilador debería encontrar la ruta correcta. Si está utilizando /opt/local/bin, entonces modifica .profile para ponerlo allí, por ejemplo
export PATH=/usr/bin:/opt/local/bin:/opt/local/sbin:$PATH. Eso funcionó para mí con OS X 10.12.6.

Descubrí que MacPorts estaba poniendo /opt/local/bin antes de /usr/bin en la cadena $PATH a través de estas líneas en .profile:

[hash] Adición del instalador de MacPorts en 2018-03-01_at_16:21:35: agregando una variable PATH apropiada para usar con MacPorts.
export PATH="/opt/local/bin:/opt/local/sbin:$PATH"
[hash] Terminé de adaptar su variable de entorno PATH para usarla con MacPorts.

Entonces "as" se encontraba en /opt/local/bin/../libexec/as/x86_64/as antes de la versión preferida (en funcionamiento) en /usr/bin

Saqué estas líneas de .profile y reinicié la terminal. Mi archivo de prueba hello world.f ahora se está compilando

@netjjordan muchas gracias! Logré compilarlo poniendo /usr/bin al comienzo de PATH="..."

Gracias @netjjordan , también funcionó para mí.

Llegar tarde a la fiesta... pero...

Lo siguiente funcionó para mí. Esta solución es independiente de los giros de la trayectoria del sistema.

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

Aquí hay una prueba que muestra que funciona:

$ mkdir ~/gcctest
$ cd ~/pruebagcc
$ echo 'int main(){return -1;}' > conftest.c
$ /opt/local/bin/gcc -o concurso concurso.c
FATAL:/opt/local/bin/../libexec/as/x86_64/as: ¡No entiendo el indicador 'm'!
$ cd /opt/local/bin
$ sudo mv ./as ./as-broken
$ sudo ln -s /usr/bin/as ./as
$ cd -
$ /opt/local/bin/gcc -o concurso concurso.c
$ ./concurso; eco $?
255

Llegar tarde a la fiesta... pero...

Lo siguiente funcionó para mí. Esta solución es independiente de los giros de la trayectoria del sistema.

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

Aquí hay una prueba que muestra que funciona:

$ mkdir ~/gcctest
$ cd ~/pruebagcc
$ echo 'int main(){return -1;}' > conftest.c
$ /opt/local/bin/gcc -o concurso concurso.c
FATAL:/opt/local/bin/../libexec/as/x86_64/as: ¡No entiendo el indicador 'm'!
$ cd /opt/local/bin
$ sudo mv ./as ./as-broken
$ sudo ln -s /usr/bin/as ./as
$ cd -
$ /opt/local/bin/gcc -o concurso concurso.c
$ ./concurso; eco $?
255

Esto funciona para mí. Muchas gracias

¿Fue útil esta página
0 / 5 - 0 calificaciones