【问题标题】:No acceptable C compiler found in $PATH after installing Cygwin安装 Cygwin 后在 $PATH 中找不到可接受的 C 编译器
【发布时间】:2011-01-14 17:08:58
【问题描述】:

我想在 windowsXP 上安装 Kannel 网关。为此,我下载并安装了 Cygwin。但是当我去配置 Kannel 时,我得到了以下错误。 (我将 PATH 设置为 C:\cygwin\bin;C:\libxml2-2.6.30+.win32\bin;)

Running system checks ...
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.

日志文件如下。

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

It was created by configure, which was
generated by GNU Autoconf 2.62.  Invocation command line was

$ ./configure 

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

hostname = sreeni9
uname -m = i686
uname -r = 1.7.1(0.218/5/3)
uname -s = CYGWIN_NT-5.1
uname -v = 2009-12-07 11:48

/usr/bin/uname -p = unknown
/bin/uname -X     = unknown

/bin/arch              = i686
/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/local/bin
PATH: /usr/bin
PATH: /bin
PATH: /cygdrive/c/WINDOWS/system32
PATH: /cygdrive/c/WINDOWS
PATH: /cygdrive/c/WINDOWS/System32/Wbem
PATH: /usr/bin
PATH: /cygdrive/c/libxml2-2.6.30+.win32/bin
PATH: /cygdrive/c/Program Files/Java/jdk1.6.0_16/bin
PATH: .


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

configure:2053: checking build system type
configure:2071: result: i686-pc-cygwin
configure:2093: checking host system type
configure:2108: result: i686-pc-cygwin
configure:2180: checking for gcc
configure:2210: result: no
configure:2277: checking for cc
configure:2324: result: no
configure:2380: checking for cl.exe
configure:2410: result: no
configure:2439: error: no acceptable C compiler found in $PATH
See `config.log' for more details.

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

ac_cv_build=i686-pc-cygwin
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_YACC_set=
ac_cv_env_YACC_value=
ac_cv_env_YFLAGS_set=
ac_cv_env_YFLAGS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
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=i686-pc-cygwin

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

AR=''
CC=''
CFLAGS=''
CONVERT=''
CPP=''
CPPFLAGS=''
DEFS=''
DOCDRAFTS=''
DOCSTARGET=''
DVIPS=''
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP=''
EXEEXT=''
EXE_EXT=''
FIG2DEV=''
GREP=''
GW_VERSION=''
HTML_DSL=''
INSTALL_DATA=''
INSTALL_PROGRAM=''
INSTALL_SCRIPT=''
JADE=''
JADETEX=''
LDFLAGS=''
LEX=''
LEXLIB=''
LEX_OUTPUT_ROOT=''
LIBOBJS=''
LIBS=''
LIBTOOL=''
LTLIBOBJS=''
MYSQL_CONFIG=''
OBJEXT=''
OPENSSL=''
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
PCRE_CONFIG=''
PDFJADETEX=''
PERL=''
PGSQL_CONFIG=''
PKGADD_NAME='Kannel - WAP and SMS gateway'
PKGADD_PKG='KANNELgateway'
PKGADD_VENDOR='www.kannel.org'
RANLIB=''
SDB_CONFIG=''
SHELL='/bin/sh'
SIZEOF_INT=''
SIZEOF_LONG=''
SIZEOF_LONG_LONG=''
SIZEOF_SHORT=''
SQLITE3=''
SQLITE=''
STARTSTOPDAEMONSRC=''
SUFFIX=''
TEX_DSL=''
VERSION='1.4.3'
XML_CONFIG=''
YACC=''
YFLAGS=''
ac_ct_CC=''
bindir='${exec_prefix}/bin'
build='i686-pc-cygwin'
build_alias=''
build_cpu='i686'
build_os='cygwin'
build_vendor='pc'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
docdir='${prefix}/share/doc/kannel'
dvidir='${docdir}'
exec_prefix='NONE'
host='i686-pc-cygwin'
host_alias=''
host_cpu='i686'
host_os='cygwin'
host_vendor='pc'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localedir='${datarootdir}/locale'
localstatedir='${prefix}/var'
mandir='${datarootdir}/man'
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 ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""
#define PACKAGE_STRING ""
#define PACKAGE_BUGREPORT ""
#define GW_NAME "Kannel"
#define GW_VERSION "1.4.3"
#define VERSION "1.4.3"

configure: exit 1

【问题讨论】:

    标签: gcc cygwin kannel


    【解决方案1】:

    嗯,我的第一个猜测是您实际上还没有安装所有 Cygwin。默认安装不会安装每个单独的包,只是一个子集。

    这就是为什么我在运行 setup.exe(a) 时总是将安装类型更改为“完整”。

    gcc 是否包含在标准安装中,我不知道,因为我从不安装标准安装。但是,它应该在/usr/bin/gcc 中,与我的系统相同,并且在您的路径上。打开 bash shell 并执行:

    ls -al /usr/bin/gcc
    

    看看它是否在那里。


    (a) 请记住,这不是一个快速过程,下载/安装可能需要很多小时,这是为什么我倾向于下载新版本一次并使用该缓存副本安装多次次。

    【讨论】:

    • cygwin.com/setup.exe 是安装程序。运行此程序时,将 everything 下载到本地磁盘并刻录到 DVD,然后从那里安装 everything。这样,您只需下载一次。
    • @sekar.malepati 您也可以尝试使用apt-cyg 在其他 *nix 发行版上安装它,如 apt-get 或 yum
    • 如果您不想安装所有内容,可以运行this website 上显示的命令。 setup-x86_64.exe -q -P wget -P gcc-g++ -P make -P diffutils -P libmpfr-devel -P libgmp-devel -P libmpc-devel
    • @Hashim,来自 bash shell,/usr/bin确实存在。您所说的路径是如果您正在运行 Windows cmd.exe,在这种情况下它将是 c:\cygwin\bin\gcc
    • @Hashim,我不完全清楚您对我的回答的具体论点,也许您可​​以澄清或建议您希望更改的内容(如果有的话)。我明确指出“打开 bash shell 并执行 ...”所以,虽然从 cmd/Explorer 查看它可能处于不同的路径中有趣,我不确定我是否看到了相关性。
    【解决方案2】:

    安装 cygwin 时需要选择 gcc、gdb、make 等,这些选项不是 default 。可以在包的开发选项卡中找到。

    【讨论】:

      【解决方案3】:

      如果你已经安装了apt-cyg,你可以使用下面的命令来安装它:

      apt-cyg install gcc-g++
      

      【讨论】:

        【解决方案4】:

        这意味着你的 cygwin 不包含 gcc-g++ 编译器。

        再次运行 setup(setup-x86_64.exe) 然后选择包

        gcc-g++

        然后设置将正常工作。 我对此进行了测试,效果很好。

        【讨论】:

          【解决方案5】:

          如果您在 Cygwin 设置对话框中选择提供的选项之一,而不是“从 Internet 安装”,则会发生这种情况:

          如果您使用其他选项,您最终可能会丢失文件。我在两台不同的机器上尝试过,在这两种情况下,Devel 类别中只有一个文件,与 gcc 无关。尽管逐行检查并检查所有内容以进行完整安装。

          在绝望中,我尝试了我能想到的任何东西,当我尝试“从 Internet 安装”时,两台机器立即在开发类别中显示了一个巨大的列表,包括 gcc 条目,然后我得到了完整的安装。

          这可能是镜像/下载故障,因为我发现使用 Internet 选项后,我无法在任何一台机器上重现原始问题。 (我试图这样做,以获取这篇文章的屏幕截图。)但是在不同的机器上连续两次出现相同的下载故障似乎很奇怪。

          不管它究竟是如何发生的,事实仍然存在,下载似乎成功了,我从来没有收到任何问题的通知,所以没有任何迹象表明我有任何理由怀疑我已经下载了完整的文件集。最终的结果是,在选择下载到磁盘然后从中安装之后,我永远被丢失的文件所困扰,不知道问题出在哪里。幸运的是,我偶然发现使用互联网选项可以解决问题。

          【讨论】:

          • 反对者请发表评论!这帮助了我和至少一个支持者。如果可以通过某种方式改进或更正,请不要保持沉默。
          【解决方案6】:

          听起来你安装cygwin时没有安装gcc。重新运行安装程序,选择 gcc 进行安装。

          【讨论】:

          • 正确的包是 gcc-g++,如 Himanshu 的回答所示。 cygwin中没有gcc包。
          猜你喜欢
          • 2016-06-08
          • 1970-01-01
          • 2013-11-17
          • 2018-12-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-03-08
          • 2012-06-14
          相关资源
          最近更新 更多