Problema de executar o make em um banco de dados postgres

0

Pergunta

Estou executando esta no msys2 de 64 bits MINGW65 shell.

Eu corri

$source/configure --host=x86_64-w64-mingw32 --prefix=$dist && make

e tudo até a fazer é executado corretamente. Depois de receber a tornar o problema e tentar mexer com o problema de lugar eu continuar correndo fazer para o mesmo problema abaixo.

Então, quando eu executar na pasta.

está a correr bem até que ele atinge essa parte

make[2]: Leaving directory '/c/builds/build/REL_11_8/src/backend/utils'
make -C storage/lmgr lwlocknames.h lwlocknames.c
make[2]: Entering directory '/c/builds/build/REL_11_8/src/backend/storage/lmgr'
'/usr/bin/perl' /c/builds/source/src/backend/storage/lmgr/generate-lwlocknames.pl 
/c/builds/source/src/backend/storage/lmgr/lwlocknames.txt
unable to parse lwlocknames.txt at /c/builds/source/src/backend/storage/lmgr/generate- 
lwlocknames.pl line 36, <$lwlocknames> line 8.
make[2]: *** [Makefile:33: lwlocknames.h] Error 255
make[2]: Leaving directory '/c/builds/build/REL_11_8/src/backend/storage/lmgr'
make[1]: *** [Makefile:137: storage/lmgr/lwlocknames.h] Error 2
make[1]: Leaving directory '/c/builds/build/REL_11_8/src/backend'
make: *** [src/Makefile.global:372: submake-generated-headers] Error 2

No generate-lwlocknames.pl

existe a seguinte linha que é, obviamente, provocando-a. Mas eu não sei por que é desencadeamento ou como corrigi-lo.

Eu preciso compilar esta compilação, a fim de ser capaz de obter os arquivos dll para uma extensão para o windows da máquina que está executando o postgres.

while (<$lwlocknames>)
{
    chomp;

    # Skip comments
    next if /^#/;
    next if /^\s*$/;

    die "unable to parse lwlocknames.txt"
      unless /^(\w+)\s+(\d+)$/;

    (my $lockname, my $lockidx) = ($1, $2);

    die "lwlocknames.txt not in order"   if $lockidx < $lastlockidx;
    die "lwlocknames.txt has duplicates" if $lockidx == $lastlockidx;

    while ($lastlockidx < $lockidx - 1)
    {
        ++$lastlockidx;
        printf $c "%s   \"<unassigned:%d>\"", $continue, $lastlockidx;
        $continue = ",\n";
    }
    printf $c "%s   \"%s\"", $continue, $lockname;
    $lastlockidx = $lockidx;
    $continue    = ",\n";

    print $h "#define $lockname (&MainLWLockArray[$lockidx].lock)\n";
}
msys2 postgresql postgresql-11
2021-11-23 21:56:54
2
0

Depois de executar novamente a ele mais algumas vezes concluído com êxito. Não foram efectuadas alterações aos ficheiros ou metodologia.

2021-11-23 22:40:03

Se o problema não é reproduzível, provavelmente o melhor é só excluir a pergunta.
tdy

Talvez. Mas eu também acho que pode valer a pena deixá-lo como uma experiência para alguém que se tivessem usado a mesma ferramenta e a mesma coisa acontece. Que a resposta pode ser apenas para executar algumas vezes. Porque eu sei que eu senti como eu estava chegando à beira da loucura sentado lá correndo-lo várias vezes. Causar isso não aconteceu de uma só vez. Tudo aconteceu como minha resposta estados. Várias vezes, sem diferença. E, eventualmente, simplesmente funcionou.
kloaf11
0

Parece que você está construindo com o Perl que vem com o MinGW.

No entanto, a documentação do PostgreSQL é muito clara sobre esse ponto:

Os seguintes produtos adicionais são necessários para construir o PostgreSQL. Use o config.pl arquivo para especificar quais diretórios de bibliotecas estão disponíveis em.

[...]

ActiveState Perl

ActiveState Perl é necessária para executar a compilação de scripts de geração. MinGW ou Cygwin o Perl não vai funcionar. Ele também deve estar presente no CAMINHO. Binários pode ser baixado a partir de https://www.activestate.com (Nota: a versão 5.8.3 ou posterior é necessário, a livre Distribuição Padrão é suficiente).

2021-11-24 06:57:19

Eu não me sinto como a que está relacionado. Causa como a minha própria resposta, diz. Alterar nada, eventualmente, apenas com êxito um funcionamento totalmente postgres.
kloaf11

Talvez, ele não está relacionado, mas talvez seja.
Laurenz Albe

Bem, eu digo que eu não acho que ele está. Porque eu não estava executando o Mingw. Eu estava correndo o mingw que vem com msys2, que são diferentes. Mas a sua possibilidade. Mas também usar esse mingw64 shell com msys2 acabou funcionando sem alterações. Então, se usando o mingw com perl não funcionar, então ele não deve ser relacionado
kloaf11

Em outros idiomas

Esta página está em outros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................