オペレーティング・システム:
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
ここで同じ問題。
$ make
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 build / learner.o
致命的:/ opt / local / bin /../ libexec / as / x86_64 / as:「m」フラグがわかりません!
make: * [build /learner.o]エラー1
ここでも同じ問題があります。
致命的:/ opt / local / bin /../ libexec / as / x86_64 / as:「m」フラグがわかりません!
非常に奇妙で、非常に奇妙な、同じバージョンが別のSierra OS X10.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の下で
setenv PATH / usr / local / bin
たとえば、トリックを行う可能性があります。
やあみんな、実際に私は私のラップトップを再初期化することによって私の問題を解決しました。 原因は私のラップトップ上のgccの複数のバージョンである可能性があります。 よくわかりません。
@mcneale素晴らしい提案。ありがとう。
@fcbruceパスを追加することで同じ問題が解決されました。 ありがとう。
こんにちは、みんな!
私は同じ問題を抱えていました:...「m」フラグがわかりません!
export PATH = / usr / bin:$ PATHで解決しましたが、しばらくは機能しました。
しかし、それがもう機能しないことを知ってください。私は「m」フラグを理解していません。 問題
エラーマッサージはまったくありませんが、単純なhelloworldプログラムの出力は次のとおりです。
œ˙Ì˛����Ä������‡��Ö����������H����__PAGEZERO������������������ ����������������������������������������(��__TEXT�������� ����������������������������������������������__text���� ������__TEXT����������&������∞�������&����������������Ä� ������������__stubs����������__TEXT����������÷������
��������÷��������������Ä�����������__stub_helper����__TEXT����������Ù �����B��������Ù���������������Ä������������__cstring�������� __TEXT����������6������
��������6������������������������������__const����������__TEXT�� ��������@������、�������@��������������������������� ��__eh_frame������__TEXT����������p�����à��������p���������������� ������������������Ë���__DATA���������������������������� ����������������������__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âuHãUãE¸Hâ÷â«Ë
���Hç5ê���ø���Ë���ËWˇˇˇ∏����…√ˇ%4��ˇ%6��ˇ%8��ˇ%:��ˇ%<��Lç
��ASˇ%˝���êh����ÈÊˇˇˇh���È ‹ˇˇˇh7���È“ ˇˇˇhQ���È»ˇˇˇhp���Èæˇˇˇhello.F90�HelloWorld!����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
コードをコンパイルしたいのですが、Macで単純なgfortranコンパイラを実行するのにすでに数週間かかります。
問題は、エクスポートPATH = / usr / bin:$ PATHが永続的ではないことでもあります。 したがって、ターミナルまたはPCを再起動した場合、または/ usr / bin / asではなく/ opt / local / bin / asで新しいタブを開いた場合
osxバージョン:10.12.6
誰かが私を助けることができます...私は死にかけています
挨拶
マット
.configファイルを編集してexportPATH = / usr / bin:$ PATHを追加し、ターミナルを再起動すると、コンパイラは正しいパスを見つける必要があります。 / opt / local / binを使用している場合は、.profileを変更してそこに配置します。
PATH = / usr / bin:/ opt / local / bin:/ opt / local / sbin:$ PATHをエクスポートします。 これは、OS X10.12.6を実行している私にとってはうまくいきました。
MacPortsは、.profileの次の行を介して、$ PATHチェーンの/ usr / binの前に/ opt / local / binを配置していることがわかりました。
[ハッシュ] 2018-03-01_at_16:21:35でのMacPortsインストーラーの追加:MacPortsで使用するための適切なPATH変数を追加します。
export PATH = "/ opt / local / bin:/ opt / local / sbin:$ PATH"
[ハッシュ] MacPortsで使用するためのPATH環境変数の調整が完了しました。
したがって、「as」は/ usr / binの優先(動作)バージョンの前に/opt/local/bin/../libexec/as/x86_64/asで見つかりました。
これらの行を.profileから削除し、ターミナルを再起動しました。 テストファイルhelloworld.fがコンパイル中です
@netjjordanどうもありがとう! PATH = "..."の先頭に/ usr / binを置くことで、なんとかコンパイルできました。
ありがとう@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
$ cd-
$ / 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
$ cd-
$ / 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
です。 私は友人が問題を解決するのを手伝った。 そして、それはあなたを助けることができると思います。