C Compiler cannot create executables on SUA/Interix

孤者浪人 提交于 2019-12-23 04:04:13

问题


Whenever I try to build an application with Interix's GCC on Windows, this is what happens:

/tmp/grep-2.5.4-src/build$ ../configure --build=x86_64-pc-interix6
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ../install-sh -c -d
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking build system type... x86_64-pc-interix6
checking host system type... x86_64-pc-interix6
checking for gawk... (cached) gawk
checking for gcc... gcc
checking for C compiler default output file name...
configure: error: C compiler cannot create executables
See `config.log' for more details.

To me it looks like the problem isn't with the compiler, but rather with the configure file.

How can I fix it so that it works with SUA?

config.log:

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by GNU grep configure 2.5.4, which was
generated by GNU Autoconf 2.61.  Invocation command line was

  $ ../configure --build=x86_64-pc-interix6

## --------- ##
## Platform. ##
## --------- ##

hostname = MehrdadVAIO
uname -m = genuineintel
uname -r = 6.1
uname -s = Interix
uname -v = 10.0.7063.0

/usr/bin/uname -p = Intel64_Family_6_Model_37_Stepping_2
/bin/uname -X     = 
System = Interix
Node = <<< my computer name >>>
Release = 6.1
Version = 10.0.7063.0
Machine = genuineintel
Processor = Intel64_Family_6_Model_37_Stepping_2
HostSystem = Windows
HostRelease = 6.1
HostVersion = SP1

/bin/arch              = unknown
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo      = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /usr/X11/bin
PATH: /usr/local/vtcl
PATH: /usr/local/Trolltech/Qt-4.1.2/bin
PATH: /opt/gcc64/bin
PATH: /bin
PATH: /opt/gcc.3.3/bin
PATH: /usr/contrib/bin
PATH: /usr/X11R6/bin
PATH: /usr/local/bin
PATH: /usr/contrib/win32/bin
PATH: /dev/fs/C/Windows/System32
PATH: /dev/fs/C/Windows/SUA/common
PATH: /usr/games
PATH: /usr/openwin/bin


## ----------- ##
## Core tests. ##
## ----------- ##

configure:1833: checking for a BSD-compatible install
configure:1889: result: /bin/install -c
configure:1900: checking whether build environment is sane
configure:1943: result: yes
configure:1972: checking for a thread-safe mkdir -p
configure:2011: result: ../install-sh -c -d
configure:2024: checking for gawk
configure:2040: found /usr/contrib/bin/gawk
configure:2051: result: gawk
configure:2062: checking whether make sets $(MAKE)
configure:2083: result: yes
configure:2297: checking build system type
configure:2315: result: x86_64-pc-interix6
configure:2337: checking host system type
configure:2352: result: x86_64-pc-interix6
configure:2378: checking for gawk
configure:2405: result: gawk
configure:2464: checking for gcc
configure:2480: found /opt/gcc64/bin/gcc
configure:2491: result: gcc
configure:2729: checking for C compiler version
configure:2736: gcc --version >&5
gcc (GCC) 4.6.0 20110122 (experimental)
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

configure:2739: $? = 0
configure:2746: gcc -v >&5
Using built-in specs.
COLLECT_GCC=gcc
Target: x86_64-pc-interix6
Configured with: ../../gcc/gcc/configure --build=x86_64-unkown-linux-gnu --host=x86_64-pc-interix6 --target=x86_64-pc-interix6 --prefix=/opt/gcc64 --with-local-prefix=/opt/gcc64/local --with-gnu-as --enable-threads=posix --disable-shared --disable-nls --disable-multilib --disable-libssp --disable-decimal-float --disable-fixed-point --enable-checking=release --enable-languages=c --with-gmp-include=/interix/gcc/gnuxx/x86_64-pc-interix6/include --with-gmp-lib=/interix/gcc/gnuxx/x86_64-pc-interix6/lib --with-mpfr-include=/interix/gcc/gnuxx/x86_64-pc-interix6/include --with-mpfr-lib=/interix/gcc/gnuxx/x86_64-pc-interix6/lib --with-mpc-include=/interix/gcc/gnuxx/x86_64-pc-interix6/include --with-mpc-lib=/interix/gcc/gnuxx/x86_64-pc-interix6/lib
Thread model: posix
gcc version 4.6.0 20110122 (experimental) (GCC) 
configure:2749: $? = 0
configure:2756: gcc -V >&5
gcc: error: unrecognized option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:2759: $? = 1
configure:2782: checking for C compiler default output file name
configure:2809: gcc -D_ALL_SOURCE -D_ALL_SOURCE -I/usr/local/include  -I/usr/local/ssl/include -I/usr/local/include/php  -lbind -L/usr/local/lib -L/usr/local/ssl/lib conftest.c  >&5
gcc: error trying to exec 'cc1': execvp: No such file or directory
configure:2812: $? = 1
configure:2850: result: 
configure: failed program was:
| /* confdefs.h.  */
| #define PACKAGE_NAME "GNU grep"
| #define PACKAGE_TARNAME "grep"
| #define PACKAGE_VERSION "2.5.4"
| #define PACKAGE_STRING "GNU grep 2.5.4"
| #define PACKAGE_BUGREPORT "bug-grep@gnu.org"
| #define GREP 1
| #define PACKAGE "grep"
| #define VERSION "2.5.4"
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|   ;
|   return 0;
| }
configure:2856: error: C compiler cannot create executables
See `config.log' for more details.

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_build=x86_64-pc-interix6
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value=-D_ALL_SOURCE
ac_cv_env_CPPFLAGS_set=set
ac_cv_env_CPPFLAGS_value='-D_ALL_SOURCE -I/usr/local/include  -I/usr/local/ssl/include -I/usr/local/include/php'
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_LDFLAGS_set=set
ac_cv_env_LDFLAGS_value=' -lbind -L/usr/local/lib -L/usr/local/ssl/lib'
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_build_alias_set=set
ac_cv_env_build_alias_value=x86_64-pc-interix6
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_host=x86_64-pc-interix6
ac_cv_path_install='/bin/install -c'
ac_cv_prog_AWK=gawk
ac_cv_prog_ac_ct_CC=gcc
ac_cv_prog_make_make_set=yes

## ----------------- ##
## Output variables. ##
## ----------------- ##

ACLOCAL='${SHELL} /tmp/grep-2.5.4-src/missing --run aclocal-1.10'
ALLOCA=''
AMDEPBACKSLASH=''
AMDEP_FALSE=''
AMDEP_TRUE=''
AMTAR='${SHELL} /tmp/grep-2.5.4-src/missing --run tar'
ANSI2KNR=''
AUTOCONF='${SHELL} /tmp/grep-2.5.4-src/missing --run autoconf'
AUTOHEADER='${SHELL} /tmp/grep-2.5.4-src/missing --run autoheader'
AUTOMAKE='${SHELL} /tmp/grep-2.5.4-src/missing --run automake-1.10'
AWK='gawk'
BUILD_INCLUDED_LIBINTL=''
CATALOGS=''
CATOBJEXT=''
CC='gcc'
CCDEPMODE=''
CFLAGS='-D_ALL_SOURCE'
CPP=''
CPPFLAGS='-D_ALL_SOURCE -I/usr/local/include  -I/usr/local/ssl/include -I/usr/local/include/php'
CYGPATH_W='echo'
DATADIRNAME=''
DEFS=''
DEPDIR=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
EXEEXT=''
GENCAT=''
GETCONF=''
GLIBC21=''
GMOFILES=''
GMSGFMT=''
GREP=''
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
INSTOBJEXT=''
INTLBISON=''
INTLLIBS=''
INTLOBJS=''
INTL_LIBTOOL_SUFFIX_PREFIX=''
LDFLAGS=' -lbind -L/usr/local/lib -L/usr/local/ssl/lib'
LIBICONV=''
LIBOBJS=''
LIBS=''
LTLIBOBJS=''
MAKEINFO='${SHELL} /tmp/grep-2.5.4-src/missing --run makeinfo'
MKINSTALLDIRS=''
MSGFMT=''
OBJEXT=''
PACKAGE='grep'
PACKAGE_BUGREPORT='bug-grep@gnu.org'
PACKAGE_NAME='GNU grep'
PACKAGE_STRING='GNU grep 2.5.4'
PACKAGE_TARNAME='grep'
PACKAGE_VERSION='2.5.4'
PATH_SEPARATOR=':'
POFILES=''
POSUB=''
RANLIB=''
SEP=''
SET_MAKE=''
SHELL='/bin/sh'
STRIP=''
U=''
USE_INCLUDED_LIBINTL=''
USE_NLS=''
VERSION='2.5.4'
XGETTEXT=''
ac_ct_CC='gcc'
am__fastdepCC_FALSE=''
am__fastdepCC_TRUE=''
am__include=''
am__isrc=' -I$(srcdir)'
am__leading_dot='.'
am__quote=''
am__tar='${AMTAR} chof - "$$tardir"'
am__untar='${AMTAR} xf -'
bindir='${exec_prefix}/bin'
build='x86_64-pc-interix6'
build_alias='x86_64-pc-interix6'
build_cpu='x86_64'
build_os='interix6'
build_vendor='pc'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='NONE'
host='x86_64-pc-interix6'
host_alias=''
host_cpu='x86_64'
host_os='interix6'
host_vendor='pc'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
install_sh='$(SHELL) /tmp/grep-2.5.4-src/install-sh'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
mkdir_p='$(top_builddir)/../install-sh -c -d'
oldincludedir='/usr/include'
pdfdir='${docdir}'
prefix='NONE'
program_transform_name='s,x,x,'
psdir='${docdir}'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

#define PACKAGE_NAME "GNU grep"
#define PACKAGE_TARNAME "grep"
#define PACKAGE_VERSION "2.5.4"
#define PACKAGE_STRING "GNU grep 2.5.4"
#define PACKAGE_BUGREPORT "bug-grep@gnu.org"
#define GREP 1
#define PACKAGE "grep"
#define VERSION "2.5.4"

configure: exit 77

回答1:


It's looking for cc1 as a compiler and can't find it, which is why it's failing.

gcc: error trying to exec 'cc1': execvp: No such file or directory.

So it's not that the compiler can't create executables, but that it can't find it. gcc invokes cc1. Check your system for it, or perhaps your PATH.



来源:https://stackoverflow.com/questions/8825472/c-compiler-cannot-create-executables-on-sua-interix

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!