Cc1: error: unrecognized command line option "- M64"

ubuntu16.04 64-bit cross-compilation environment

error occurred while compiling openssl

the problem is CFGLAG
CFLAG=-DDSO_DLFCN-DHAVE_DLFCN_H-M64-DL_ENDIAN-O3-Wall in Makefile generated after configure execution

just get rid of-M64

however, you have to change it manually every time you compile. Is there any other way?

Mar.04,2021

openssl is really a little special, and I haven't done it either, but teach people how to fish and teach you how to do it.
when I saw the open source code, the first reaction was to configure it in configure, but after downloading the code, I found that I was smarter without configure,. In fact, he has config, and configure, but the initials of Configure, are capitalized.
then found that he had no configuration option, so I grep-r "- M64". / to see where it was configured, it turned out that there were a large number of-M64 in Configure.
look at the previous linux-ppc64, and I can see that he pre-set the compilation options according to the target system, so the reason for-M64 is to identify the wrong compiler.
look around and find that the recognition of the compiler is done in config, and the recognition is completed. The last few lines of code are perl. / Configure $OUT,. See, either let config recognize the correct compiler, or simply write $OUT according to your system.

Menu