Compilando o erro 3.4.3 do Python

2

Eu tenho tentado atualizar o Python 3.4.3 a partir do código-fonte, mas toda vez, durante o comando ./configure , recebo um erro no 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"' ;;'

Esta é uma pasta do arquivo de configuração

     # 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'

Estou executando o Linux Mint 17.1, com o Python 2.7 e 3.4 instalado no meu sistema. Acredito que tenho todas as dependências resolvidas, mas não sei por que sempre recebo esse erro.

    
por Danut Niculae 14.05.2015 / 18:56

1 resposta

1

Isso parece estar relacionado ao shell padrão, que é dash not bash .

ls -l /bin/sh

Baseado em esta resposta dada por @Gilles, você pode tentar alterar a primeira linha do seu script configure .

Alterar isso

#!/bin/sh

para

#!/bin/bash

Veja também este nos fóruns do Linux Mint.

Você pode verificar o padrão shell com este comando.

readlink -f /bin/sh

EDITAR:

Por favor, tente isso no prompt de comando:

CONFIG_SHELL=/bin/bash; export CONFIG_SHELL
$CONFIG_SHELL ./configure
    
por 14.05.2015 / 20:57