web-dev-qa-db-fra.com

configure: erreur: le compilateur C ne peut pas créer d'exécutables

J'essaie de mettre à niveau Apache 2.2.15 vers 2.2.27. Lors de l'exécution de config.Nice extrait d'Apache2.2.15/build, j'obtiens l'erreur suivante:

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

J'ai essayé de chercher en ligne mais pas de chance. J'ai également testé le compilateur c en exécutant un petit script test.c et il fonctionne très bien. Il y avait peu de solutions données en ligne comme l'installation du package 'kernel-devel' mais cela n'a pas résolu le problème. Comment puis-je faire en sorte que cela fonctionne?

Voici le fichier config.log généré:

    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

À partir de la sortie que vous avez donnée, vous essayez de compiler une version 32 bits d'Apache sur un système 64 bits. C'est à partir de l'entrée à configurer ici:

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

Voir également les lignes de sortie confirmant cela:

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

Ici, il utilise un système de construction 64 bits mais un hôte/cible 32 bits. Plus bas, nous voyons:

ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value=-m32

Cet indicateur indique à gcc de produire des objets 32 bits. Votre erreur que le compilateur C ne peut pas produire d'exécutable est probablement due à l'absence d'une chaîne d'outils 32 bits.

Test de votre capacité à compiler des objets 32 bits

Vous pouvez tester cela en compilant un petit exemple C avec le -m32 drapeau.

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

Compilation:

gcc -m32 -o m32test m32test.c

Si cette commande échoue, vous avez un problème avec votre compilateur étant capable de créer des objets 32 bits. Les messages d'erreur émis par le compilateur peuvent être utiles pour y remédier.

Remèdes

  1. Générer pour une cible 64 bits (en supprimant les options de configuration forçant une génération 32 bits), ou
  2. Installer une chaîne d'outils de compilation 32 bits
27
casey
CC=''

Me dit qu'aucun compilateur n'est défini. Avez-vous installé gcc?

Essayer:

which gcc

Sur Debian, vous devez probablement installer un environnement de construction avec:

apt-get install build-essential

Ou encore mieux:

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

Il peut y avoir de nombreuses raisons à cela. Ce qui m'arrive le plus souvent, c'est que je jette mes CFLAGS sur la ligne de commande ou en en ayant un dans mon environnement. Cela m'arrive quelques fois par an et je dois généralement le rechercher sur Google car je ne me souviens jamais du correctif. "Oh, ça encore"

Essayez simplement echo $CFLAGS La plupart du temps, il ne devrait rien y avoir. Si c'est le cas, cela peut être faux.

Dans un autre cas, j'ai fourni une ligne à un script de configuration qui fonctionnait sous Linux 32 bits, mais j'étais passé à 64 bits depuis et certaines des choses -march -mfpu étaient maintenant erronées. Mon point est, c'est un mauvais message d'erreur, cela signifie qu'il y a eu une erreur de compilation, pas que le compilateur ne fonctionne pas.

2
Alan Corey

J'ai eu cette erreur quand je pensais avoir installé le compilateur C mais il n'était pas réellement installé.

J'avais un script exécutable pour charger les modules C que j'avais exécutés comme suit:

./load_modules.sh

Mais l'exécution d'un script ne charge que les modules pour la durée de ce script. Pour que le script garde les modules chargés, vous devez exécuter:

source load_modules.sh

qui exécute les lignes comme si elles étaient saisies dans le terminal.

0
William Black