Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

While installing on OSX Sierra via gcc-6, keep having "FATAL:/opt/local/bin/../libexec/as/x86_64/as: I don't understand 'm' flag!" error #1945

Closed
MarsWang42 opened this issue Jan 9, 2017 · 16 comments

Comments

@MarsWang42
Copy link

Environment info

Operating System:
macOS 10.12.2 (16C68)

Compiler:
gcc-6

Steps to reproduce

I've installed gcc-6 and modified config.mk as required into

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

But keep having this 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!

What have you tried?

  1. Reinstall XCode
  2. Reinstall gcc
  3. Run make clean_all && make -4j

But still went wrong. Any idea?

@yuntai
Copy link

yuntai commented Jan 12, 2017

I had the same problem and I tried with 'g++-mp-5' and it worked. It seems to be related to an unknown option passed to 'as'. Anybody knows how to examine command line option passed to assembler, so I could compare the options.

@Dlng
Copy link

Dlng commented Feb 17, 2017

@yuntai Hi, do you mean setting export CXX = g++-mp-5 in config.mk? I tried it but It doesn't work. Seems it is still using the global gcc version. The Error is the following
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

@jialinzou
Copy link

jialinzou commented Mar 20, 2017

same problem here.

$ 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

FATAL:/opt/local/bin/../libexec/as/x86_64/as: I don't understand 'm' flag!

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

@mcneale
Copy link

mcneale commented Mar 28, 2017

Same problem here.
FATAL:/opt/local/bin/../libexec/as/x86_64/as: I don't understand 'm' flag!
Very odd, very weird, same version working ok on another Sierra OS X 10.4 system.

@fcbruce
Copy link

fcbruce commented Mar 31, 2017

@Marswang92 @jialinzou @mcneale
What about the version of as? You can check it by as -v. Maybe your terminal display something like GNU Assembler.

And I think the correct as is like:

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

The reason is the system use a different path of as(be overrided). Please attention the error log you met /opt/local/bin/../libexec/as/x86_64/as, the correct as should be /usr/bin/as. You can check it by cd /usr/bin ; ./as -v.

My solution is export PATH=/usr/bin:$PATH. I helped my friend resolve the problem. And I think that can help you.

@mcneale
Copy link

mcneale commented Mar 31, 2017

Hooray! solution seems to be to remove /opt/local/bin from one's path. @fcbruce thank you!

How you do this depends on your shell, @fcbruce assumes sh or bash I think. Under tcsh
setenv PATH /usr/local/bin
for example, might do the trick.

@MarsWang42
Copy link
Author

Hey guys, actually I've solved my problem by reinitializing my laptop. The cause might be multiple version of gcc on my laptop. Not quite sure.

@liushuchun
Copy link

@mcneale great suggestion.thanks.

@Jack-Lin-DS-AI
Copy link

@fcbruce Same problem was solved by adding the path. Thank you.

@matths87
Copy link

matths87 commented Sep 16, 2017

Hello everyone!
I had the same problem: ...I don't understand 'm' flag!
I solved it with export PATH=/usr/bin:$PATH, and it worked for a moment.
But know it doesn't work anymore now i do not have the I don't understand 'm' flag! problem
and there are no error massages at all, but the output of a simple hello world program is just:

œ˙Ì˛�������Ä��������‡���Ö� ���������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â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���������������[���������������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��������

I am freaking out i want to compile a code and it already takes me weeks to run a simple gfortran compiler on my mac.

the problem is also that the export PATH=/usr/bin:$PATH is not permanently. So if I restart the terminal or the pc or if i open a new tab as is again in /opt/local/bin/as and not in /usr/bin/as
osx Version: 10.12.6

Can anyone help me ...I am dying
greets
matth

@PWLisowski
Copy link

If you edit your .config file to add export PATH=/usr/bin:$PATH and restart the terminal, the compiler should find the right path. If you are using /opt/local/bin, then you modify .profile to put it there, e.g.
export PATH=/usr/bin:/opt/local/bin:/opt/local/sbin:$PATH. That worked for me running OS X 10.12.6.

@netjjordan
Copy link

netjjordan commented Mar 5, 2018

I found that MacPorts was putting /opt/local/bin ahead of /usr/bin in the $PATH chain via these lines in .profile:

[hash] MacPorts Installer addition on 2018-03-01_at_16:21:35: adding an appropriate PATH variable for use with MacPorts.
export PATH="/opt/local/bin:/opt/local/sbin:$PATH"
[hash] Finished adapting your PATH environment variable for use with MacPorts.

So "as" was being found in /opt/local/bin/../libexec/as/x86_64/as before the preferred (working) version in /usr/bin

Took these lines out of .profile and restarted terminal. My test file hello world.f is now compiling

@ZeusHofstetter
Copy link

@netjjordan thanks a lot! I managed to get it compiling by putting /usr/bin at the start of PATH="..."

@chirag912
Copy link

Thanks @netjjordan it worked for me as well

@tqchen tqchen closed this as completed Jul 4, 2018
@tdfunk
Copy link

tdfunk commented Sep 10, 2018

Late coming to the party... but...

The following worked for me. This solution is independent of system path gyrations.

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

Here's a test that shows that it works:

$ 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: I don't understand 'm' flag!
$ 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; echo $?
255

@yw-fang
Copy link

yw-fang commented Oct 14, 2018

Late coming to the party... but...

The following worked for me. This solution is independent of system path gyrations.

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

Here's a test that shows that it works:

$ 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: I don't understand 'm' flag!
$ 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; echo $?
255

This works for me. Thanks very much

@lock lock bot locked as resolved and limited conversation to collaborators Jan 12, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests