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

Apache2.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 

コメント

  • Stackoverflowに関するこの質問も役立つ可能性があります: stackoverflow.com/questions/23498237/ …
  • 私の場合、これは./configureを実行する前にCXX = clang ++とCC = clangを設定することで修正されました

回答

あなたが与えた出力から、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 

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

コンパイルする能力をテストしますile32ビットオブジェクト

-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ビットコンパイラツールチェーンをインストールする

コメント

  • @Vishal ' 32ビットのビルド環境がセットアップされていません。 32ビットのapacheが必要ですか?
  • 明らかにそうです。既存のApache2.2.15は、m32フラグを使用してコンパイルされました。 2.2.27の新規インストールを実行する代わりに、2.2.27にアップグレードしたいと思います。 64ビットターゲットを構築することでそれを行うことはできますか?または、32ビットコンパイラツールチェーンをインストールして機能させる必要があります。
  • ありがとうございます。 glibc-devel.i386をインストールすると、問題が解決しました。乾杯!

回答

CC="" 

コンパイラがないことを教えてくれますが設定されます。 gccをインストールしましたか?

試してみてください:

which gcc 

Debianでは、おそらく次のようなビルド環境をインストールする必要があります:

apt-get install build-essential 

または、さらに良い:

apt-get build-dep your-package-name 

コメント

  • apt-get install build-essential

回答

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

echo $CFLAGSを試してみてください。ほとんどの場合、そこには何も入ってはいけません。ある場合は間違っている可能性があります。

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

回答

取得しましたこのエラーは、Cコンパイラをインストールしたと思っていたのに、実際にはインストールされていなかったためです。

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

./load_modules.sh 

ただし、スクリプトを実行すると、そのスクリプトの期間中のみモジュールが読み込まれます。スクリプトでモジュールの読み込みを維持するには、次のコマンドを実行する必要があります。

source load_modules.sh 

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です