Próbuję zaktualizować apache 2.2.15 do 2.2.27. Podczas uruchamiania pliku config.nice pobranego z apache2.2.15 / build pojawia się następujący błąd:
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
Próbowałem szukać online, ale bez powodzenia. Przetestowałem również kompilator c, uruchamiając mały skrypt test.c i działa dobrze. Było kilka rozwiązań podanych online, takich jak instalacja pakietu „kernel-devel”, ale to nie rozwiązało problemu. Jak mogę to uruchomić?
Poniżej wygenerowano 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
compiling
gcc
32bit
apache-httpd
Vishal
źródło
źródło
Odpowiedzi:
Z podanych danych wyjściowych próbujesz skompilować 32-bitową wersję apache w 64-bitowym systemie. To jest z intput do skonfigurowania tutaj:
Zobacz także wiersze wyjściowe potwierdzające to:
Tutaj używa 64-bitowego systemu kompilacji, ale 32-bitowego hosta / celu. Dalej widzimy:
Ta flaga mówi gcc, aby wyprodukował 32-bitowe obiekty. Błąd, że kompilator C nie może wygenerować pliku wykonywalnego, jest prawdopodobnie spowodowany brakiem 32-bitowego łańcucha narzędzi.
Testowanie Twojej umiejętności kompilowania 32-bitowych obiektów
Możesz to przetestować, kompilując mały przykład C z
-m32
flagą.Kompilacja:
Jeśli to polecenie się nie powiedzie, masz problem z tym, że kompilator może budować 32-bitowe obiekty. Komunikaty o błędach emitowane z kompilatora mogą być pomocne w rozwiązaniu tego problemu.
Zadośćuczynienie
źródło
Mówi mi, że nie ustawiono kompilatora. Czy masz zainstalowany gcc?
Próbować:
W Debianie prawdopodobnie musisz zainstalować środowisko kompilacji z:
Lub jeszcze lepiej:
źródło
apt-get install build-essential
Powodów może być wiele. Najczęściej zdarza mi się, że niszczę CFLAGS albo w wierszu poleceń, albo przez ustawienie jednego w moim środowisku. Zdarza mi się to kilka razy w roku i zwykle muszę to zrobić w Google, ponieważ nigdy nie pamiętam poprawki. „Och, to znowu”
Po prostu spróbuj Przez
echo $CFLAGS
większość czasu nic nie powinno tam być. Jeśli tak, może być źle.W innym przypadku nakarmiłem wiersz skryptem konfiguracyjnym, który działał pod 32-bitowym Linuksem, ale od tego czasu przełączyłem się na 64-bitowy i niektóre z opcji -march -mfpu były teraz niepoprawne. Chodzi mi o to, że jest to zły komunikat o błędzie, oznacza to, że wystąpił błąd kompilacji, a nie to, że kompilator nie działa.
źródło
Wystąpił ten błąd, gdy pomyślałem, że zainstalowałem kompilator C, ale tak naprawdę nie został zainstalowany.
Miałem skrypt wykonywalny, aby załadować moduły C, które wykonałem w następujący sposób:
Ale uruchomienie skryptu ładuje moduły tylko na czas trwania tego skryptu. Aby skrypt miał ładować moduły, musisz uruchomić:
który wykonuje wiersze tak, jakby były wpisywane do terminala.
źródło