Xgboost: 通过 gcc-6 在 OSX Sierra 上安装时,一直显示“致命:/opt/local/bin/../libexec/as/x86_64/as:我不理解 'm' 标志!” 错误

创建于 2017-01-09  ·  16评论  ·  资料来源: dmlc/xgboost

环境信息

操作系统:
macOS 10.12.2 (16C68)

编译器:
gcc-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' 并且它有效。 它似乎与传递给“as”的未知选项有关。 任何人都知道如何检查传递给汇编程序的命令行选项,所以我可以比较这些选项。

@yuntai嗨,你的意思是在 config.mk 中设置export CXX = g++-mp-5吗? 我试过了,但它不起作用。 似乎它仍在使用全局 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 构建/学习者.o

致命:/opt/local/bin/../libexec/as/x86_64/as:我不明白'm'标志!

制作: * [build/learner.o] 错误 1

这里同样的问题。
致命:/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 。 tcsh 下
设置环境路径 /usr/local/bin
例如,可能会成功。

嘿伙计们,实际上我已经通过重新初始化我的笔记本电脑解决了我的问题。 原因可能是我的笔记本电脑上有多个版本的 gcc。 不太确定。

@mcneale很好的建议。谢谢。

@fcbruce通过添加路径解决了同样的问题。 谢谢你。

大家好!
我有同样的问题:......我不明白'm'标志!
我用 export PATH=/usr/bin:$PATH 解决了它,它工作了一会儿。
但是知道它不再起作用了,现在我没有我不明白'm'标志! 问题
并且根本没有错误消息,但是一个简单的 hello world 程序的输出只是:

œ˙Ì˛����Ä������‡��Ö� ��������H���__PAGEZERO������������������ ��������������������������������������(��__TEXT������� ����������������������������������������������__text���� ������__TEXT����������&������∞��������&�������������������� ����������__存根����������__TEXT������������÷����
�������÷��������������Ä������������__stub_helper���__TEXT������������Ù ����B��������Ù����������������Ä������������__cstring�������� __TEXT����������6������
������6������������������������������__const����������__TEXT�� ��������@�����,��������@���������������������������� ��__eh_frame������__TEXT����������p�����à��������p���������������� ��������������������__数据������������������������������ ����������������������__nl_symbol_ptr�__DATA������������������������� ��������������������������__la_symbol_ptr�__DATA���������������(������ ��������������������������������H���__LINKEDIT�������� ������ ������ê��������������������“��Ä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��������&�� ���� �����)������¯ �������������������������������� ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ �������������������� ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������������������������ ������������������������������������... (˛ˇˇ«Ö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��������������[�������� ���������������������������������������������������� ����@����������������__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��������

我吓坏了,我想编译一个代码,我已经花了几周时间在我的 mac 上运行一个简单的 gfortran 编译器。

问题还在于 export PATH=/usr/bin:$PATH 不是永久的。 因此,如果我重新启动终端或 PC,或者如果我再次在 /opt/local/bin/as 中打开一个新选项卡,而不是在 /usr/bin/as 中
osx 版本: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 通过 .profile 中的这些行将 /opt/local/bin 放在 $PATH 链中的 /usr/bin 之前:

[hash] MacPorts 安装程序在 2018-03-01_at_16:21:35 添加:添加适当的 PATH 变量以用于 MacPorts。
导出 PATH="/opt/local/bin:/opt/local/sbin:$PATH"
[hash] 已完成调整您的 PATH 环境变量以与 MacPorts 一起使用。

所以“as”在 /opt/local/bin/../libexec/as/x86_64/as 在 /usr/bin 中的首选(工作)版本之前被发现

从 .profile 中取出这些行并重新启动终端。 我的测试文件 hello world.f 现在正在编译

@netjjordan非常感谢! 我设法通过将 /usr/bin 放在 PATH="..." 的开头来编译它

谢谢@netjjordan ,它也对我有用

聚会迟到了……但是……

以下对我有用。 该解决方案独立于系统路径回转。

$ cd /opt/local/bin
$ sudo mv ./as ./as-broken
$ 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
致命:/opt/local/bin/../libexec/as/x86_64/as:我不明白'm'标志!
$ cd /opt/local/bin
$ sudo mv ./as ./as-broken
$ sudo ln -s /usr/bin/as ./as
$ 光盘 -
$ /opt/local/bin/gcc -o conftest conftest.c
$ ./conftest; 回声$?
255

聚会迟到了……但是……

以下对我有用。 该解决方案独立于系统路径回转。

$ cd /opt/local/bin
$ sudo mv ./as ./as-broken
$ 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
致命:/opt/local/bin/../libexec/as/x86_64/as:我不明白'm'标志!
$ cd /opt/local/bin
$ sudo mv ./as ./as-broken
$ sudo ln -s /usr/bin/as ./as
$ 光盘 -
$ /opt/local/bin/gcc -o conftest conftest.c
$ ./conftest; 回声$?
255

这对我有用。 非常感谢

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

trivialfis picture trivialfis  ·  3评论

tqchen picture tqchen  ·  4评论

uasthana15 picture uasthana15  ·  4评论

matthewmav picture matthewmav  ·  3评论

frankzhangrui picture frankzhangrui  ·  3评论