Problém, běh, aby se na postgres databáze

0

Otázka

Jsem běží to na msys2 64 bit MINGW65 shell.

Běžel jsem

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

a vše, co až se spustí správně. Po získání udělat problém a snaží pohrát s otázkou, kde jsem utíkat, aby na stejné téma níže.

Pak, když jsem běžet, aby na složku.

je to běží v pohodě, dokud nenarazí této části

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

V generate-lwlocknames.pl

tam je následující řádek, že je to zřejmě zapříčinilo to. Ale nevím, proč se to vyvolalo, nebo jak to opravit.

Potřebuji sestavit tento build s cílem být schopni získat soubory dll rozšíření pro počítače s windows, který je spuštěn 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

Po opakování to ještě párkrát to skončilo úspěšně. Nebyly provedeny žádné změny souborů nebo metodiky.

2021-11-23 22:40:03

Jestliže problém není reprodukovatelný, je to asi nejlepší, aby jen odstranit otázka.
tdy

Možná. Ale také si myslím, že by stálo za to ponechat jako zkušenost pro někoho jiného, že pokud se používá stejný nástroj, a podobná věc se stane. Že odpověď může být jen spustit několikrát. Protože vím, že jsem se cítil, jako bych sahal na okraji šílenství sedí tam běží to několikrát. Protože se to nestalo jednou. To se stalo, jak moje odpověď státy. Několikrát se žádný rozdíl. A nakonec právě pracoval.
kloaf11
0

Vypadá to, že jsou budovy s Perl, který je dodáván s MinGW.

Nicméně, PostgreSQL dokumentace je docela jasné, v tomto bodě:

Následující další produkty jsou potřebné k sestavení PostgreSQL. Použití config.pl soubor určit, které adresáře knihoven jsou k dispozici.

[...]

ActiveState Perl

ActiveState Perl je nutné spustit build skripty generování. MinGW nebo Cygwin Perl nebude fungovat. To musí být také přítomen v CESTĚ. Binární soubory lze stáhnout z https://www.activestate.com (Poznámka: verze 5.8.3 nebo novější je vyžadován, zdarma Standardní Distribuci, je dostačující).

2021-11-24 06:57:19

Nemám pocit, že to souvisí. Důvod jako můj vlastní odpověď říká. Nic neměň to nakonec úspěšně postavit plně pracovní postgres.
kloaf11

Možná to nesouvisí, ale možná to je.
Laurenz Albe

No, já říkám, já si nemyslím, že to je. Protože jsem neutíkal Mingw. Byl jsem běží mingw, který je dodáván s msys2, které jsou odlišné. Ale jeho možnost. Ale také pomocí mingw64, že shell s msys2 to skončilo běží beze změn. Takže pokud pomocí mingw s perl nefunguje, pak by to nemělo souviset
kloaf11

V jiných jazycích

Tato stránka je v jiných jazycích

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