Xgboost: При установке на OSX Sierra через gcc-6 продолжайте иметь "FATAL:/opt/local/bin/../libexec/as/x86_64/as: я не понимаю флаг 'm'!" ошибка

Созданный на 9 янв. 2017  ·  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

Но все же пошло не так. Есть идеи?

Самый полезный комментарий

@Marswang92 @jialinzou @mcneale
А как насчет версии 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», и это сработало. Кажется, это связано с неизвестной опцией, переданной «как». Кто-нибудь знает, как проверить параметр командной строки, переданный ассемблеру, чтобы я мог сравнить параметры.

@yuntai Привет, ты имеешь в виду настройку export CXX = g++-mp-5 в config.mk? Я пробовал, но это не работает. Кажется, он все еще использует глобальную версию gcc. Ошибка следующая
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 -Wall -Wno-unknown-pragmas -Iinclude -Idmlc-core/include -Irabit/include -O3 -funroll-loops -msse2 -fPIC -fopenmp src/learner.cc - o строить/learner.o

FATAL:/opt/local/bin/../libexec/as/x86_64/as: я не понимаю флаг 'm'!

make: * [build/learner.o] Ошибка 1

Та же проблема здесь.
FATAL:/opt/local/bin/../libexec/as/x86_64/as: я не понимаю флаг 'm'!
Очень странно, очень странно, та же версия работает нормально на другой системе Sierra OS X 10.4.

@Marswang92 @jialinzou @mcneale
А как насчет версии 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. Под ткш
setenv ПУТЬ /usr/local/bin
например, может сделать трюк.

Привет, ребята, на самом деле я решил свою проблему, переинициализировав свой ноутбук. Причиной может быть несколько версий gcc на моем ноутбуке. Не совсем уверен.

@mcneale отличное предложение. спасибо.

@fcbruce Та же проблема была решена путем добавления пути. Спасибо.

Всем привет!
У меня была та же проблема: ... я не понимаю флаг 'm'!
Я решил это с помощью export PATH=/usr/bin:$PATH, и на мгновение это сработало.
Но знайте, что это больше не работает, теперь у меня нет флага «я не понимаю»! проблема
и сообщений об ошибках вообще нет, но вывод простой программы hello world выглядит так:

œ˙Ì˛����Ä������‡��Ö� ��������H���__PAGEZERO��������������������� ������������������������������������������(��__ТЕКСТ������� ������������������������������������������������__text���� ������__ТЕКСТ����������&�����∞�������&������������������Ä� ������������__заготовки���������__ТЕКСТ����������÷�����
��������÷������������������������������__stub_helper���__TEXT������������Ù ������B�������Ù���������������Ä��������������__cstring������� __ТЕКСТ����������6�����
��������6������������������������������__const���������__TEXT�� ��������@������,��������@������������������������������ ��__eh_frame������__TEXT����������p�����à�������p����������������� ��������������������������__DATA�������������������������������� ������������������������__nl_symbol_ptr�__DATA����������������������������� ����������������������������__la_symbol_ptr�__DATA�����������������(����� ��������������������������������H���__LINKРЕДАКТИРОВАТЬ������� ������ �������� ������ê��������������������"��Ä0���� ������ ��� ���������� ��†����¿ ��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��������&�� ���� ������)������¯ ������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ���������������������� ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ����������������������������������������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������������������
�
��������4���T���—˛ˇˇˇˇˇˇ=�������������Ü����
8����
������������������������������������������������"��� ��, ���������������������������������������������������� ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ����������������������������������������������������"У ����@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�������

Я схожу с ума, я хочу скомпилировать код, и мне уже требуется несколько недель, чтобы запустить простой компилятор gfortran на моем Mac.

проблема еще и в том, что экспорт PATH=/usr/bin:$PATH не постоянный. Поэтому, если я перезапущу терминал или компьютер или открою новую вкладку, как снова в /opt/local/bin/as, а не в /usr/bin/as
ОС Версия: 10.12.6

Может ли кто-нибудь помочь мне ... я умираю
приветствует
математика

Если вы отредактируете файл .config, добавив export PATH=/usr/bin:$PATH и перезапустив терминал, компилятор должен найти правильный путь. Если вы используете /opt/local/bin, вы модифицируете .profile, чтобы поместить его туда, например
экспорт PATH=/usr/bin:/opt/local/bin:/opt/local/sbin:$PATH. Это сработало для меня под управлением OS X 10.12.6.

Я обнаружил, что MacPorts помещал /opt/local/bin впереди /usr/bin в цепочке $PATH через эти строки в .profile:

[хэш] Добавление установщика MacPorts от 01.03.2018_at_16:21:35: добавление соответствующей переменной PATH для использования с MacPorts.
экспорт PATH="/opt/local/bin:/opt/local/sbin:$PATH"
[хеш] Завершена адаптация переменной среды PATH для использования с MacPorts.

Таким образом, «как» находилось в /opt/local/bin/../libexec/as/x86_64/as перед предпочтительной (рабочей) версией в /usr/bin

Вынул эти строки из .profile и перезапустил терминал. Мой тестовый файл hello world.f сейчас компилируется

@netjjordan большое спасибо! Мне удалось его скомпилировать, поместив /usr/bin в начало PATH="..."

Спасибо @netjjordan , у меня тоже сработало

Поздний приход на вечеринку... но...

Следующее сработало для меня. Это решение не зависит от циклов системного пути.

$ компакт-диск /opt/местный/бен
$ sudo mv ./as ./as-сломанный
$ sudo ln -s /usr/bin/as ./as

Вот тест, который показывает, что это работает:

$ 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: я не понимаю флаг 'm'!
$ компакт-диск /opt/местный/бен
$ sudo mv ./as ./as-сломанный
$ sudo ln -s /usr/bin/as ./as
$ кд -
$ /opt/local/bin/gcc -o conftest conftest.c
$ ./контест; эхо $?
255

Поздний приход на вечеринку... но...

Следующее сработало для меня. Это решение не зависит от циклов системного пути.

$ компакт-диск /opt/местный/бен
$ sudo mv ./as ./as-сломанный
$ sudo ln -s /usr/bin/as ./as

Вот тест, который показывает, что это работает:

$ 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: я не понимаю флаг 'm'!
$ компакт-диск /opt/местный/бен
$ sudo mv ./as ./as-сломанный
$ sudo ln -s /usr/bin/as ./as
$ кд -
$ /opt/local/bin/gcc -o conftest conftest.c
$ ./контест; эхо $?
255

Это работает для меня. Большое спасибо

Была ли эта страница полезной?
0 / 5 - 0 рейтинги