编译Python 3.4.3错误

编译Python 3.4.3错误

我一直在尝试从源代码更新Python 3.4.3,但每次在./configure命令过程中,我都会在configure.status中收到错误

> configure: checking for device files checking for /dev/ptmx... yes
> checking for /dev/ptc... no checking for %lld and %llu printf() format
> support... yes checking for %zd printf() format support... yes
> checking for socklen_t... yes checking for broken mbstowcs... no
> checking for --with-computed-gotos... no value specified checking
> whether gcc -pthread supports computed gotos... yes checking for build
> directories... done checking for -O2... yes checking for glibc
> _FORTIFY_SOURCE/memmove bug... no checking for gcc ipa-pure-const bug... no checking for ensurepip... upgrade configure: creating
> ./config.status ./config.status: line 480: syntax error near
> unexpected token `)' ./config.status: line 480: `    *\'*)
> ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;'

这是配置文件的粘贴

     # 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
    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"` ;; # problem line
    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'

我正在运行 Linux Mint 17.1,系统上安装了 Python 2.7 和 3.4。我相信我已经解决了所有依赖项,但我不确定为什么总是收到该错误。

答案1

这似乎与默认 shell 有关,但dashbash.

ls -l /bin/sh

基于这个答案由@Gilles 给出,您可以尝试更改脚本的第一行configure

改变这个

#!/bin/sh

#!/bin/bash

也可以看看来自 Linux Mint 论坛。

shell您可以使用此命令验证默认值。

readlink -f /bin/sh

编辑:

请从命令提示符尝试此操作:

CONFIG_SHELL=/bin/bash; export CONFIG_SHELL
$CONFIG_SHELL ./configure

相关内容