어떤 소프트웨어도 컴파일할 수 없습니다

어떤 소프트웨어도 컴파일할 수 없습니다

저는 리눅스 민트 17을 사용하고 있습니다. 소스에서 Python 3.4.2를 컴파일하고 싶습니다. ./configure 명령 중에는 오류가 발생할 때까지 모든 것이 원활하게 진행됩니다.

configure: creating ./config.status
./config.status: line 476: syntax error near unexpected token `)'
./config.status: line 476: `    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;'

이 문제가 발생한 것은 이번이 처음이 아닙니다. 이 문제는 소스 코드에서 소프트웨어를 컴파일할 때 발생합니다.
편집하다:cat -n config.status sed '463,505!d' 명령의 출력을 추가합니다.

case $ac_option in
# Handling of the options.
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
$as_echo "$ac_cs_version"; exit ;;
--config | --confi | --conf | --con | --co | --c )
$as_echo "$ac_cs_config"; exit ;;
--debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
case $ac_optarg in
*\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
'') as_fn_error $? "missing file argument" ;;
esac
as_fn_append CONFIG_FILES " '$ac_optarg'"
ac_need_defaults=false;;
--header | --heade | --head | --hea )
$ac_shift
case $ac_optarg in
*\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
as_fn_append CONFIG_HEADERS " '$ac_optarg'"
ac_need_defaults=false;;
--he | --h)
# Conflict between --help and --header
as_fn_error $? "ambiguous option: \`$1'
Try \`$0 --help' for more information.";;
--help | --hel | -h )
$as_echo "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;

# This is an error.
-*) as_fn_error $? "unrecognized option: \`$1'
Try \`$0 --help' for more information." ;;

*) as_fn_append ac_config_targets " $1"
ac_need_defaults=false ;;

esac

답변1

표준 데비안 기반 패키지 관리자인 Mint를 사용하지 않는 이유가 있나요? 직접 컴파일하는 것은 권장되지 않습니다.

이는 주로 다음과 같은 이유로 발생합니다.

  1. 일부 종속성이 누락되었습니다. 이는 "./configure" 단계에서 오류로 표시됩니다.
  2. 오래된 컴파일러가 있거나 컴파일러가 컴파일 중인 패키지의 요구 사항을 충족하지 않을 수 있습니다. 이 경우 컴파일러를 gcc최신 버전으로 업데이트해야 합니다. 가능하다면 업데이트를 위해 Debian 기반 패키지 관리자를 사용하는 것이 좋습니다 gcc.

또한 패키지 관리자를 사용하여 시스템을 정기적으로 업데이트해야 합니다. 직접 컴파일하고 설치해야 하는 경우 일반 사용자로 발급 ./configure하고 루트 권한(즉, 소스 디렉터리에서)으로만 사용하세요.makemake installsudo make install

관련 정보