Postgres veritabanında make çalıştırma sorunu

0

Soru

Bunu msys2 64 bit MİNGW65 kabuğunda çalıştırıyorum.

Koştum

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

ve marka düzgün çalışana kadar her şey. Make sorununu aldıktan ve sorun noktasıyla uğraşmaya çalıştıktan sonra, aşağıda aynı sorun için make çalıştırmaya devam ediyorum.

Sonra klasörde make çalıştırdığımda.

bu kısma gelene kadar gayet iyi çalışıyor.

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

İçinde generate-lwlocknames.pl

belli ki bunu tetikleyen şey, aşağıdaki çizgi vardır. Ama neden tetiklediğini ya da nasıl düzeltileceğini bilmiyorum.

Postgres çalıştıran windows makinesi için bir uzantı için dll dosyalarını alabilmek için bu derlemeyi derlemem gerekiyor.

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

Birkaç kez daha tekrarladıktan sonra başarıyla tamamlandı. Dosyalarda veya metodolojide herhangi bir değişiklik yapılmadı.

2021-11-23 22:40:03

Sorun tekrarlanabilir değilse, muhtemelen soruyu silmek en iyisidir.
tdy

Belki. Ama aynı zamanda, aynı aracı kullanırlarsa ve benzer bir şey olursa, başkası için bir deneyim olarak bırakmaya değer olabileceğini düşünüyorum. Cevap sadece birkaç kez çalıştırmak olabilir. Çünkü orada oturup defalarca koşturarak deliliğin sınırına ulaşıyormuşum gibi hissettiğimi biliyorum. Çünkü bir kere bile olmadı. Cevabımın belirttiği gibi oldu. Hiçbir fark olmadan birden çok kez. Ve sonunda işe yaradı.
kloaf11
0

MinGW ile birlikte gelen Perl ile inşa ediyormuşsunuz gibi görünüyor.

Ancak, PostgreSQL belgeleri bu noktada oldukça açık:

Postgresql'i oluşturmak için aşağıdaki ek ürünler gereklidir. Kullan... config.pl kitaplıkların hangi dizinlerde kullanılabileceğini belirtmek için dosya.

[...]

ActiveState Perl

Yapı oluşturma komut dosyalarını çalıştırmak için ActiveState Perl gereklidir. MinGW veya Cygwin Perl çalışmaz. Ayrıca YOL bulunması gerekir. İkili dosyalar şu adresten indirilebilir https://www.activestate.com (Not: sürüm 5.8.3 veya üstü gereklidir, ücretsiz Standart Dağıtım yeterlidir).

2021-11-24 06:57:19

Ben hissetmiyorum gibi bir şey ile ilgili. Çünkü kendi cevabımın dediği gibi. Değişen hiçbir şey yok sonunda sadece başarılı bir çalışma tam olarak bir isim yaptı.
kloaf11

Belki ilişkili değildir, ama belki de öyle.
Laurenz Albe

İyi ki sanmıyorum olduğunu. Çünkü Mingw'yi yönetmiyordum. Farklı olan msys2 ile birlikte gelen mingw'yi çalıştırıyordum. Ama böyle bir olasılık var. Ama aynı zamanda bu mingw64 kabuğunu msys2 ile kullanarak hiçbir değişiklik yapmadan çalışmaya başladı. Yani mingw'yi perl ile kullanmak işe yaramazsa, o zaman ilgili olmamalıdır
kloaf11

Diğer dillerde

Bu sayfa diğer dillerde

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