Problema in esecuzione su un database postgres

0

Domanda

Io sono in esecuzione su questo msys2 64 bit MINGW65 shell.

Ho eseguito

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

e tutto ciò fino a quando il fare viene eseguito correttamente. Dopo il make problema e cercando di armeggiare con il problema posto continuo che rendono lo stesso problema.

Poi, quando ho eseguito effettuare sulla cartella.

è in esecuzione bene fino a quando non colpisce questa 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

Nel generate-lwlocknames.pl

c'è la riga seguente, che è ovviamente attivazione di esso. Ma non so il motivo scatenante o come risolvere il problema.

Ho bisogno di compilare questa build in modo da essere in grado di ottenere i file dll una proroga per computer windows in esecuzione di 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

Dopo aver nuovamente un paio di volte si è concluso con successo. Non sono state apportate modifiche al file o alla metodologia.

2021-11-23 22:40:03

Se il problema non è riproducibile, è probabilmente la cosa migliore è eliminare la domanda.
tdy

Forse. Ma penso anche che potrebbe essere la pena di lasciare, è un'esperienza per qualcun altro che se hanno usato lo stesso strumento e una cosa simile accade. Che la risposta potrebbe essere solo per eseguire un paio di volte. Perché io so e ho sentito che stava per raggiungere il bordo della follia seduto lì, in esecuzione di esso più volte. Causa non è successo una volta. E ' quanto accaduto, la mia risposta degli stati membri. Più volte con nessuna differenza. E alla fine hanno funzionato.
kloaf11
0

Sembra che si sta costruendo con il Perl che viene fornito con MinGW.

Tuttavia, la documentazione di PostgreSQL è abbastanza chiaro su questo punto:

I seguenti prodotti aggiuntivi sono necessari per costruire PostgreSQL. Utilizzare il config.pl file per specificare le directory di cui le librerie sono disponibili in.

[...]

ActiveState Perl

ActiveState Perl è necessario per eseguire la generazione degli script di generazione. MinGW o Cygwin Perl non funziona. Inoltre deve essere presente nel PERCORSO. I binari possono essere scaricati dal https://www.activestate.com (Nota: la versione 5.8.3 o versione successiva è necessario, la libera Distribuzione Standard è sufficiente).

2021-11-24 06:57:19

Non mi sento che è legato. Causa la mia risposta dice. Cambia nulla, alla fine è costruito con successo e completamente funzionante postgres.
kloaf11

Forse non è correlato, ma forse è.
Laurenz Albe

Bene, direi che io non credo che sia. Perché non sono stato in esecuzione Mingw. Sono stato in esecuzione il mingw che viene fornito con msys2, che sono diversi. Ma è una possibilità. Ma anche con questo mingw64 shell con msys2 è finito in esecuzione senza modifiche. Quindi, se usando mingw con il perl non funziona allora non dovrebbe essere correlato
kloaf11

In altre lingue

Questa pagina è in altre lingue

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