
아파치 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
답변1
귀하가 제공한 출력에 따르면 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비트 툴체인이 없기 때문에 발생할 수 있습니다.
32비트 개체를 컴파일하는 능력을 테스트하세요.
이 플래그를 사용하여 작은 C 예제를 컴파일하여 이를 테스트할 수 있습니다 -m32
.
// Minimal C example
#include <stdio.h>
int main()
{
printf("This works\n");
return 0;
}
엮다:
gcc -m32 -o m32test m32test.c
이 명령이 실패하면 컴파일러는 32비트 개체를 빌드할 수 없습니다. 컴파일러에서 발생한 오류 메시지는 이 문제를 해결하는 데 도움이 될 수 있습니다.
구제책
- 64비트 대상용으로 빌드(32비트 빌드를 강제하는 구성 옵션 제거) 또는
- 32비트 컴파일러 툴체인 설치
답변2
CC=''
컴파일러가 설정되지 않았다고 알려줍니다. gcc를 설치하셨나요?
노력하다:
which gcc
Debian에서는 빌드 환경을 설치해야 할 수도 있습니다.
apt-get install build-essential
또는 더 나은 방법은 다음과 같습니다.
apt-get build-dep your-package-name
답변3
여기에는 여러 가지 이유가 있을 수 있습니다. 내가 직면하는 가장 일반적인 상황은 명령줄이나 내 환경에서 CFLAGS 세트를 설정하여 CFLAGS를 삭제하는 것입니다. 이런 일이 1년에 몇 번씩 발생하는데, 수정 사항이 기억나지 않기 때문에 보통 구글링을 해야 합니다. "아, 또 그런 일이 일어나네"
한번 시도해 보세요.
echo $CFLAGS
대부분의 경우에는 아무 것도 없어야 합니다. 혹시 잘못된 것일 수도 있습니다.
또 다른 경우에는 32비트 Linux에서 작동하던 구성 스크립트에 한 줄을 입력했지만 이후 64비트로 전환했으며 -march -mfpu 항목 중 일부가 이제 잘못되었습니다. 내 요점은 이것이 나쁜 오류 메시지라는 것입니다. 이는 컴파일러가 작동하지 않는다는 것이 아니라 컴파일하는 동안 문제가 발생했음을 의미합니다.
답변4
C 컴파일러가 설치되어 있다고 생각했지만 실제로는 설치하지 않았을 때 이 오류가 발생했습니다.
다음과 같이 실행되는 C 모듈을 로드하는 실행 가능한 스크립트가 있습니다.
./load_modules.sh
그러나 스크립트를 실행하면 스크립트가 실행되는 동안에만 모듈이 로드됩니다. 스크립트가 모듈을 로드된 상태로 유지하도록 하려면 다음을 실행해야 합니다.
source load_modules.sh
마치 터미널에 입력된 것처럼 이러한 행을 실행합니다.