Snažil jsem se zkompilovat nejnovější verzi ‘tar “ (verze 1.28) ze zdroje. ./configure skript skončil s chybovou zprávou „chyba:neměli byste spouštět konfiguraci jako root “. Jak je uvedeno v chybě, skončil jsem z „rootu ‘ a provedl konfiguraci skript jako neprivilegovaný uživatel. Chyba zhasla, ale během vytvoření “, sestavení skončilo s chybovou zprávou jako „Dwarf Error:found trpasličí verze „4“, tato čtečka zpracovává pouze informace verze 2 ‘. Hledal jsem řešení, ale nic nefungovalo.
Níže je úplná chybová zpráva:
# ./configure
Výše uvedený příkaz prošel bez chyby. Níže je chybová zpráva během „make“.
# make :::::::::::::::::::: /usr/bin/ld: Dwarf Error: found dwarf version '4', this reader only handles version 2 information. ../gnu/libgnu.a(argp-fmtstream.o): In function `realpath': argp-fmtstream.c:(.text+0x0): multiple definition of `realpath' rmt.o:rmt.c:(.text+0x5d0): first defined here ../gnu/libgnu.a(argp-fmtstream.o): In function `ptsname_r': argp-fmtstream.c:(.text+0x10): multiple definition of `ptsname_r' rmt.o:rmt.c:(.text+0x5e0): first defined here ../gnu/libgnu.a(argp-fmtstream.o): In function `wctomb': argp-fmtstream.c:(.text+0x20): multiple definition of `wctomb' rmt.o:rmt.c:(.text+0x5f0): first defined here ../gnu/libgnu.a(argp-fmtstream.o): In function `mbstowcs': argp-fmtstream.c:(.text+0x30): multiple definition of `mbstowcs' rmt.o:rmt.c:(.text+0x600): first defined here ::::::::::::::::::::::::::::
Můžete mi pomoci vyřešit tuto chybu?
Řešení:
Kompilátor to můžete sdělit pomocí CFLAGS aby nevyzařoval DWARF4 informace pomocí ‘-gdwarf-2 -gstrict-dwarf ‘
Nastavte CFLAGS následovně:
# export CFLAGS='-gdwarf-2 -gstrict-dwarf'
Vyčistěte předchozí sestavení, jak je uvedeno níže:
# make clean
Znovu spusťte skript ./configure:
# ./ configure
Vyrobit:
# make
Instalovat:
# sudo make install
$ /usr/local/bin/tar --version tar (GNU tar) 1.28
Nyní je „tar“ úspěšně nainstalován.