操作系统:
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!
XCode
gcc
make clean_all && make -4j
但还是出错了。 任何想法?
我遇到了同样的问题,我尝试使用 '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âuHã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
这对我有用。 非常感谢
最有用的评论
@Marswang92 @jialinzou @mcneale
as
的版本呢? 您可以通过as -v
进行检查。 也许您的终端显示类似GNU Assembler
的内容。我认为正确的
as
是这样的:原因是系统使用了
as
的不同路径(被覆盖)。 请注意您遇到的错误日志/opt/local/bin/../libexec/as/x86_64/as
,正确的as
应该是/usr/bin/as
。 您可以通过cd /usr/bin ; ./as -v
进行检查。我的解决方案是
export PATH=/usr/bin:$PATH
。 我帮助我的朋友解决了这个问题。 我认为这可以帮助你。