web-dev-qa-db-ja.com

構成:エラー:Cコンパイラーは実行可能ファイルを作成できません

Apache 2.2.15を2.2.27にアップグレードしようとしています。 Apache2.2.15/buildから取得したconfig.Niceの実行中に、次のエラーが発生します。

checking whether the C compiler works... no
configure: error: in `/home/vkuser/httpd-2.2.27/srclib/apr':
configure: error: C compiler cannot create executables

オンラインで検索を試みましたが、うまくいきませんでした。また、小さなtest.cスクリプトを実行してcコンパイラをテストしたところ、問題なく動作しました。 'kernel-devel'パッケージのインストールのようなオンラインで与えられた解決策はほとんどありませんでしたが、問題は解決しませんでした。これを機能させるにはどうすればよいですか?

以下は、生成された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 configure, which was
    generated by GNU Autoconf 2.67.  Invocation command line was

      $ ./configure --prefix=/opt/myapp/Apache2.2 --with-mpm=worker --enable-static-support --enable-ssl=static --enable-modules=most --disable-authndbd --disable-authn-dbm --disable-dbd --enable-static-logresolve --enable-static-rotatelogs --enable-proxy=static --enable-proxyconnect=static --enable-proxy-ftp=static --enable-proxy-http=static --enable-rewrite=static --enable-so=static --with-ssl=/opt/myapp/Apache2.2/openssl --Host=x86_32-unknown-linux-gnu Host_alias=x86_32-unknown-linux-gnu CFLAGS=-m32 LDFLAGS=-m32 --with-included-apr

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

    hostname = dmcpq-000
    uname -m = x86_64
    uname -r = 2.6.18-348.12.1.el5
    uname -s = Linux
    uname -v = #1 SMP Mon Jul 1 17:54:12 EDT 2013

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

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

    PATH: /opt/myapp/Entrust/GetAccess/Runtime/Apache22/bin
    PATH: /usr/kerberos/sbin
    PATH: /usr/kerberos/bin
    PATH: /usr/local/sbin
    PATH: /usr/local/bin
    PATH: /sbin
    PATH: /bin
    PATH: /usr/sbin
    PATH: /usr/bin
    PATH: /root/bin


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

    configure:2793: checking for chosen layout
    configure:2795: result: Apache
    configure:3598: checking for working mkdir -p
    configure:3614: result: yes
    configure:3629: checking build system type
    configure:3643: result: x86_64-unknown-linux-gnu
    configure:3663: checking Host system type
    configure:3676: result: x86_32-unknown-linux-gnu
    configure:3696: checking target system type
    configure:3709: result: x86_32-unknown-linux-gnu

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

    ac_cv_build=x86_64-unknown-linux-gnu
    ac_cv_env_CC_set=
    ac_cv_env_CC_value=
    ac_cv_env_CFLAGS_set=set
    ac_cv_env_CFLAGS_value=-m32
    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=set
    ac_cv_env_LDFLAGS_value=-m32
    ac_cv_env_LIBS_set=
    ac_cv_env_LIBS_value=
    ac_cv_env_build_alias_set=
    ac_cv_env_build_alias_value=
    ac_cv_env_Host_alias_set=set
    ac_cv_env_Host_alias_value=x86_32-unknown-linux-gnu
    ac_cv_env_target_alias_set=
    ac_cv_env_target_alias_value=
    ac_cv_Host=x86_32-unknown-linux-gnu
    ac_cv_mkdir_p=yes
    ac_cv_target=x86_32-unknown-linux-gnu

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

    APACHECTL_ULIMIT=''
    APR_BINDIR=''
    APR_CONFIG=''
    APR_INCLUDEDIR=''
    APR_VERSION=''
    APU_BINDIR=''
    APU_CONFIG=''
    APU_INCLUDEDIR=''
    APU_VERSION=''
    AP_BUILD_SRCLIB_DIRS=''
    AP_CLEAN_SRCLIB_DIRS=''
    AP_LIBS=''
    AWK=''
    BUILTIN_LIBS=''
    CC=''
    CFLAGS='-m32'
    CORE_IMPLIB=''
    CORE_IMPLIB_FILE=''
    CPP=''
    CPPFLAGS=''
    CRYPT_LIBS=''
    CXX=''
    CXXFLAGS=''
    DEFS=''
    DSO_MODULES=''
    ECHO_C=''
    ECHO_N='-n'
    ECHO_T=''
    EGREP=''
    EXEEXT=''
    EXTRA_CFLAGS=''
    EXTRA_CPPFLAGS=''
    EXTRA_CXXFLAGS=''
    EXTRA_INCLUDES=''
    EXTRA_LDFLAGS=''
    EXTRA_LIBS=''
    GREP=''
    HTTPD_LDFLAGS=''
    HTTPD_VERSION=''
    INCLUDES=''
    INSTALL=''
    INSTALL_DSO=''
    INSTALL_PROG_FLAGS=''
    LDFLAGS='-m32'
    LIBOBJS=''
    LIBS=''
    LIBTOOL=''
    LN_S=''
    LTCFLAGS=''
    LTFLAGS=''
    LTLIBOBJS=''
    LT_LDFLAGS=''
    LYNX_PATH=''
    MKDEP=''
    MKINSTALLDIRS=''
    MK_IMPLIB=''
    MODULE_CLEANDIRS=''
    MODULE_DIRS=''
    MOD_ACTIONS_LDADD=''
    MOD_ALIAS_LDADD=''
    MOD_ASIS_LDADD=''
    MOD_AUTHNZ_LDAP_LDADD=''
    MOD_AUTHN_ALIAS_LDADD=''
    MOD_AUTHN_ANON_LDADD=''
    MOD_AUTHN_DBD_LDADD=''
    MOD_AUTHN_DBM_LDADD=''
    MOD_AUTHN_DEFAULT_LDADD=''
    MOD_AUTHN_FILE_LDADD=''
    MOD_AUTHZ_DBM_LDADD=''
    MOD_AUTHZ_DEFAULT_LDADD=''
    MOD_AUTHZ_GROUPFILE_LDADD=''
    MOD_AUTHZ_Host_LDADD=''
    MOD_AUTHZ_OWNER_LDADD=''
    MOD_AUTHZ_USER_LDADD=''
    MOD_AUTH_BASIC_LDADD=''
    MOD_AUTH_DIGEST_LDADD=''
    MOD_AUTOINDEX_LDADD=''
    MOD_BUCKETEER_LDADD=''
    MOD_CACHE_LDADD=''
    MOD_CASE_FILTER_IN_LDADD=''
    MOD_CASE_FILTER_LDADD=''
    MOD_CERN_META_LDADD=''
    MOD_CGID_LDADD=''
    MOD_CGI_LDADD=''
    MOD_CHARSET_LITE_LDADD=''
    MOD_DAV_FS_LDADD=''
    MOD_DAV_LDADD=''
    MOD_DAV_LOCK_LDADD=''
    MOD_DBD_LDADD=''
    MOD_DEFLATE_LDADD=''
    MOD_DIR_LDADD=''
    MOD_DISK_CACHE_LDADD=''
    MOD_DUMPIO_LDADD=''
    MOD_ECHO_LDADD=''
    MOD_ENV_LDADD=''
    MOD_EXAMPLE_LDADD=''
    MOD_EXPIRES_LDADD=''
    MOD_EXT_FILTER_LDADD=''
    MOD_FILE_CACHE_LDADD=''
    MOD_FILTER_LDADD=''
    MOD_HEADERS_LDADD=''
    MOD_HTTP_LDADD=''
    MOD_IDENT_LDADD=''
    MOD_IMAGEMAP_LDADD=''
    MOD_INCLUDE_LDADD=''
    MOD_INFO_LDADD=''
    MOD_ISAPI_LDADD=''
    MOD_LDAP_LDADD=''
    MOD_LOGIO_LDADD=''
    MOD_LOG_CONFIG_LDADD=''
    MOD_LOG_FORENSIC_LDADD=''
    MOD_MEM_CACHE_LDADD=''
    MOD_MIME_LDADD=''
    MOD_MIME_MAGIC_LDADD=''
    MOD_NEGOTIATION_LDADD=''
    MOD_OPTIONAL_FN_EXPORT_LDADD=''
    MOD_OPTIONAL_FN_IMPORT_LDADD=''
    MOD_OPTIONAL_HOOK_EXPORT_LDADD=''
    MOD_OPTIONAL_HOOK_IMPORT_LDADD=''
    MOD_PROXY_AJP_LDADD=''
    MOD_PROXY_BALANCER_LDADD=''
    MOD_PROXY_CONNECT_LDADD=''
    MOD_PROXY_FTP_LDADD=''
    MOD_PROXY_HTTP_LDADD=''
    MOD_PROXY_LDADD=''
    MOD_PROXY_SCGI_LDADD=''
    MOD_REQTIMEOUT_LDADD=''
    MOD_REWRITE_LDADD=''
    MOD_SETENVIF_LDADD=''
    MOD_SO_LDADD=''
    MOD_SPELING_LDADD=''
    MOD_SSL_LDADD=''
    MOD_STATUS_LDADD=''
    MOD_SUBSTITUTE_LDADD=''
    MOD_SUEXEC_LDADD=''
    MOD_UNIQUE_ID_LDADD=''
    MOD_USERDIR_LDADD=''
    MOD_USERTRACK_LDADD=''
    MOD_VERSION_LDADD=''
    MOD_VHOST_ALIAS_LDADD=''
    MPM_LIB=''
    MPM_NAME=''
    MPM_SUBDIR_NAME=''
    NONPORTABLE_SUPPORT=''
    NOTEST_CFLAGS=''
    NOTEST_CPPFLAGS=''
    NOTEST_CXXFLAGS=''
    NOTEST_LDFLAGS=''
    NOTEST_LIBS=''
    OBJEXT=''
    OS=''
    OS_DIR=''
    OS_SPECIFIC_VARS=''
    PACKAGE_BUGREPORT=''
    PACKAGE_NAME=''
    PACKAGE_STRING=''
    PACKAGE_TARNAME=''
    PACKAGE_URL=''
    PACKAGE_VERSION=''
    PATH_SEPARATOR=':'
    PCRE_CONFIG=''
    PICFLAGS=''
    PILDFLAGS=''
    PKGCONFIG=''
    PORT=''
    POST_SHARED_CMDS=''
    PRE_SHARED_CMDS=''
    RANLIB=''
    RM=''
    RSYNC=''
    Shell='/bin/sh'
    SHLIBPATH_VAR=''
    SHLTCFLAGS=''
    SH_LDFLAGS=''
    SH_LIBS=''
    SH_LIBTOOL=''
    SSLPORT=''
    SSL_LIBS=''
    UTIL_LDFLAGS=''
    ab_LTFLAGS=''
    abs_srcdir=''
    ac_ct_CC=''
    ap_make_delimiter=''
    ap_make_include=''
    bindir='${exec_prefix}/bin'
    build='x86_64-unknown-linux-gnu'
    build_alias=''
    build_cpu='x86_64'
    build_os='linux-gnu'
    build_vendor='unknown'
    cgidir='${datadir}/cgi-bin'
    checkgid_LTFLAGS=''
    datadir='${prefix}'
    datarootdir='${prefix}/share'
    docdir='${datarootdir}/doc/${PACKAGE}'
    dvidir='${docdir}'
    errordir='${datadir}/error'
    exec_prefix='${prefix}'
    exp_bindir='/opt/myapp/Apache2.2/bin'
    exp_cgidir='/opt/myapp/Apache2.2/cgi-bin'
    exp_datadir='/opt/myapp/Apache2.2'
    exp_errordir='/opt/myapp/Apache2.2/error'
    exp_exec_prefix='/opt/myapp/Apache2.2'
    exp_htdocsdir='/opt/myapp/Apache2.2/htdocs'
    exp_iconsdir='/opt/myapp/Apache2.2/icons'
    exp_includedir='/opt/myapp/Apache2.2/include'
    exp_installbuilddir='/opt/myapp/Apache2.2/build'
    exp_libdir='/opt/myapp/Apache2.2/lib'
    exp_libexecdir='/opt/myapp/Apache2.2/modules'
    exp_localstatedir='/opt/myapp/Apache2.2'
    exp_logfiledir='/opt/myapp/Apache2.2/logs'
    exp_mandir='/opt/myapp/Apache2.2/man'
    exp_manualdir='/opt/myapp/Apache2.2/manual'
    exp_proxycachedir='/opt/myapp/Apache2.2/proxy'
    exp_runtimedir='/opt/myapp/Apache2.2/logs'
    exp_sbindir='/opt/myapp/Apache2.2/bin'
    exp_sysconfdir='/opt/myapp/Apache2.2/conf'
    Host='x86_32-unknown-linux-gnu'
    Host_alias='x86_32-unknown-linux-gnu'
    Host_cpu='x86_32'
    Host_os='linux-gnu'
    Host_vendor='unknown'
    htcacheclean_LTFLAGS=''
    htdbm_LTFLAGS=''
    htdigest_LTFLAGS=''
    htdocsdir='${datadir}/htdocs'
    htmldir='${docdir}'
    htpasswd_LTFLAGS=''
    httxt2dbm_LTFLAGS=''
    iconsdir='${datadir}/icons'
    includedir='${prefix}/include'
    infodir='${datarootdir}/info'
    installbuilddir='${datadir}/build'
    libdir='${exec_prefix}/lib'
    libexecdir='${exec_prefix}/modules'
    localedir='${datarootdir}/locale'
    localstatedir='${prefix}'
    logfiledir='${localstatedir}/logs'
    logresolve_LTFLAGS=''
    mandir='${prefix}/man'
    manualdir='${datadir}/manual'
    nonssl_listen_stmt_1=''
    nonssl_listen_stmt_2=''
    oldincludedir='/usr/include'
    other_targets=''
    pdfdir='${docdir}'
    perlbin=''
    prefix='/opt/myapp/Apache2.2'
    progname=''
    program_transform_name='s,x,x,'
    proxycachedir='${localstatedir}/proxy'
    psdir='${docdir}'
    rel_bindir='bin'
    rel_cgidir='cgi-bin'
    rel_datadir=''
    rel_errordir='error'
    rel_exec_prefix=''
    rel_htdocsdir='htdocs'
    rel_iconsdir='icons'
    rel_includedir='include'
    rel_installbuilddir='build'
    rel_libdir='lib'
    rel_libexecdir='modules'
    rel_localstatedir=''
    rel_logfiledir='logs'
    rel_mandir='man'
    rel_manualdir='manual'
    rel_proxycachedir='proxy'
    rel_runtimedir='logs'
    rel_sbindir='bin'
    rel_sysconfdir='conf'
    rotatelogs_LTFLAGS=''
    runtimedir='${localstatedir}/logs'
    sbindir='${exec_prefix}/bin'
    shared_build=''
    sharedstatedir='${prefix}/com'
    sysconfdir='${prefix}/conf'
    target='x86_32-unknown-linux-gnu'
    target_alias=''
    target_cpu='x86_32'
    target_os='linux-gnu'
    target_vendor='unknown'

    configure: exit 1
43
Vishal

あなたが与えた出力から、あなたは64ビットシステムで32ビットビルドのApacheをコンパイルしようとしています。これは、ここで設定する入力からのものです。

--Host=x86_32-unknown-linux-gnu Host_alias=x86_32-unknown-linux-gnu CFLAGS=-m32 LDFLAGS=-m32

これを確認する出力行も参照してください。

configure:3629: checking build system type
configure:3643: result: x86_64-unknown-linux-gnu
configure:3663: checking Host system type
configure:3676: result: x86_32-unknown-linux-gnu
configure:3696: checking target system type
configure:3709: result: x86_32-unknown-linux-gnu

ここでは、64ビットのビルドシステムを使用していますが、32ビットのホスト/ターゲットを使用しています。さらに下を見ると:

ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value=-m32

このフラグは、32ビットオブジェクトを生成するようにgccに指示します。 Cコンパイラが実行可能ファイルを生成できないというエラーは、32ビットツールチェーンが存在しないことが原因である可能性があります。

32ビットオブジェクトをコンパイルする機能のテスト

これをテストするには、-m32フラグを使用して小さなCの例をコンパイルします。

// Minimal C example
#include <stdio.h>
int main()
{
   printf("This works\n");
   return 0;
}

コンパイル:

gcc -m32 -o m32test m32test.c

このコマンドが失敗した場合は、コンパイラーが32ビットのオブジェクトを作成できないという問題があります。コンパイラーから出力されるエラーメッセージは、これを修正するのに役立ちます。

救済

  1. 64ビットターゲット用にビルドする(32ビットビルドを強制する構成オプションを削除する)、または
  2. 32ビットコンパイラツールチェーンをインストールする
27
casey
CC=''

コンパイラが設定されていないことを通知します。 gccはインストールされていますか?

試してください:

which gcc

Debianでは、おそらく以下のビルド環境をインストールする必要があります。

apt-get install build-essential

または、さらに良い:

apt-get build-dep your-package-name
13
user55518

それには多くの理由があります。私に最も頻繁に起こるのは、コマンドラインまたは環境にCFLAGSを設定することにより、CFLAGSをゴミ箱に捨てることです。年に数回私に起こって、私は修正を覚えていないので、私は通常それをグーグルにしなければなりません。 「ああ、また」

ちょうど試して echo $CFLAGSほとんどの場合、そこには何もないはずです。ある場合は間違っている可能性があります。

別のケースでは、32ビットLinuxで動作する構成スクリプトに1行送りましたが、それ以来64ビットに切り替えており、-march -mfpuの一部が間違っていました。私のポイントは、それは悪いエラーメッセージです、それはコンパイラが動作しないということではなく、コンパイル中にエラーが発生したことを意味します。

2
Alan Corey

Cコンパイラをインストールしたと思ったときにこのエラーが発生しましたが、実際にはインストールされていませんでした。

次のように実行したCモジュールをロードする実行可能スクリプトがありました。

./load_modules.sh

ただし、スクリプトを実行しても、そのスクリプトの期間中のみモジュールがロードされます。スクリプトでモジュールのロードを維持するには、以下を実行する必要があります。

source load_modules.sh

これは、端末に入力されているかのように行を実行します。

0
William Black